spicyapiDokumentation
Hauptinhalt

Medien hoch- und herunterladen

Signierte Eingabe-Uploads und kurzlebige Ergebnis-URLs.

Öffentliche HTTPS-URLs für Bilder, Videos und Audio können direkt im passenden Modellfeld stehen. Nur lokale Dateien benötigen den folgenden Upload mit Commit. Laden Sie fertige Ergebnisse direkt über output.assets[].url herunter, ohne API-Schlüssel. expiresAt liegt normalerweise 20 Minuten später, höchstens jedoch am Ende der 14-tägigen Aufbewahrung. Erneutes Polling aktualisiert die URL; download-url bleibt optional.

API
POST /api/v1/common/upload-url
PUT <uploadUrl>
POST /api/v1/files/{fileId}/commit
GET <output.assets[].url>

Base64 über das SDK hochladen

client.uploadBase64 akzeptiert eine Data-URI oder einen Base64-String mit angegebenem contentType und führt den bestehenden Upload samt commit aus. Übergeben Sie die zurückgegebene spicy://-URI an input. Die Grenzen betragen 10 MiB für Bilder und 100 MiB für Audio und Video; strengere Modellgrenzen gelten zusätzlich. Dabei wird Base64 nicht direkt an ein Modelleingabefeld gesendet.

Eingaben hochladen

POST /api/v1/common/upload-url liefert fileId und uploadUrl. Laden Sie mit dem vorgegebenen Content-Type per PUT hoch, rufen Sie danach POST /api/v1/files/{fileId}/commit auf und übergeben Sie ausschließlich die zurückgegebene spicy:// URI im Modell-input. Verwenden Sie weder uploadUrl noch einen temporären Objektpfad als input.

Content-Type muss zur Signatur passen. Prüfen Sie Format und Größe zusätzlich im Client. URIs gehören zum Konto und sind kontenübergreifend nicht verwendbar.

Ergebnis herunterladen

Laden Sie fertige Ergebnisse direkt über output.assets[].url herunter, ohne API-Schlüssel. expiresAt liegt normalerweise 20 Minuten später, höchstens jedoch am Ende der 14-tägigen Aufbewahrung. Erneutes Polling aktualisiert die URL; download-url bleibt optional.

Die vollständigen Felddefinitionen stehen im OpenAPI-3.1-Vertrag.

Weiterführende Dokumentation

Für Bilder gelten 10 MiB, für Audio und Video 100 MiB. Ein kleinerer Schema-Wert max_size_mb gilt zusätzlich; maßgeblich ist maxBytes im Upload-Ticket. Audio und Video dürfen höchstens 600 Sekunden dauern. Commit prüft das tatsächliche Format und kann durationSeconds als Dezimalzeichenfolge sowie width und height liefern. Verwenden Sie die spicy://-URI eines erfolgreichen Commits; sie gilt einen Tag.

image/jpeg · image/png · image/webp · image/gif · video/mp4 · video/webm · audio/mpeg · audio/wav