Zum Inhalt springen
API-Anleitung

Dateien

Als Markdown anzeigen Aktualisiert

Modelle, die Bilder, Video oder Audio verarbeiten, akzeptieren sie in einer von drei Formen. Jede Modellseite kennzeichnet ihre Datei-Parameter (zum Beispiel image, images, videos, audios).

1. Eine öffentliche URL

Jede https://- (oder http://-)URL, die das Modell herunterladen kann:

JSON
{ "image": "https://example.com/photos/product.jpg" }

Die Datei muss ohne Cookies oder Anmeldung erreichbar sein und erreichbar bleiben, bis die Anfrage gestartet wurde. Jede Modellseite listet die Größen- und Abmessungsgrenzen ihrer Datei-Parameter auf.

2. Eine Data-URI

Kleine Dateien können inline als data:-URI mit bis zu 10 MB übertragen werden:

JSON
{ "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }

Base64 vergrößert den Body um etwa ein Drittel gegenüber der Datei. Verwende daher für größere Dateien bevorzugt Uploads.

3. Ein Upload

Fordere für lokale Dateien eine Upload-URL an, führe dort PUT für die Bytes aus und übergib dem Modell die zurückgegebene file_url. Das Erstellen der Upload-URL ist kostenlos.

1 · Eine Upload-URL abrufen
curl -X POST "https://api.doitong.com/v1/files" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filename": "product.jpg", "content_type": "image/jpeg", "size": 482113}'
201 Created · Upload
{
  "object": "upload",
  "upload_url": "https://…signed upload URL…",
  "file_url": "https://content.doitong.com/…/product.jpg",
  "method": "PUT",
  "headers": { "Content-Type": "image/jpeg" },
  "content_type": "image/jpeg",
  "expires_in": 3600,
  "max_bytes": 15728640
}
2 · Die Bytes mit genau den zurückgegebenen Headern hochladen
curl -X PUT "<upload_url>" -H "Content-Type: image/jpeg" --data-binary @product.jpg
3 · file_url als Modell-Eingabe verwenden
curl -X POST "https://api.doitong.com/v1/run/{model_id}?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image": "https://content.doitong.com/…/product.jpg", "prompt": "..."}'
  • Unterstützte Uploads: .jpg, .jpeg, .png, .webp (bis zu 15 MB) und .mp4, .mov, .webm (bis zu 200 MB). Die Erweiterung legt den Typ fest; content_type muss damit übereinstimmen.
  • Die Upload-URL ist eine Stunde lang gültig. file_url bleibt gültig.
  • Verwende für Audio eine öffentliche URL oder eine Data-URI.

Ausgabe-Dateien

Du entscheidest, wie lange Ausgabe-Dateien aufbewahrt werden:

  • Dauerhaft (permanent, der Standard): bis du sie löschst, für 100 API-Credits (0,10 $) pro GB und Monat, einmal täglich vom API-Guthaben abgebucht (1 GB = 1024³ Bytes).
  • 7 Tage (temporary): kostenlos, danach aus unserem Speicher gelöscht.

Lege den Standard mit dem Schalter „Dateien dauerhaft speichern“ im Dashboard oder mit PATCH /account/storage fest und überschreibe ihn pro Ausführung mit ?storage=temporary (oder permanent):

Terminal
curl -X PATCH "https://api.doitong.com/v1/account/storage" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode": "temporary"}'

Jede Anfrage zeigt ihren eigenen storage-Status (mode, bytes, expires_at, expired). Die Einstellung gilt für neue Anfragen; bereits dauerhaft gespeicherte Dateien bleiben erhalten, bis du sie mit DELETE /requests/{id}/files löschst (siehe Anfragen). Wenn das API-Guthaben die Speicherkosten nicht decken kann, erhältst du eine E-Mail und hast 30 Tage Zeit zum Aufladen, bevor gespeicherte Dateien temporär werden.