Video & Materialien
Task erstellen (Volc-kompatibel)
Erstellen Sie eine Seedance-Aufgabe mit der Volc-kompatiblen API.
Übersicht
Bestehende Volc-kompatible Seedance-Clients können TokenLab nutzen, indem sie die API-Adresse und den Key ändern.
Die Beispiele verwenden Seedance 2.0. Dieser Endpunkt unterstützt auch Seedance 2.5 mit den folgenden Modellunterschieden. Die Beispiele für wiederverwendbare TokenLab-Material-URIs auf dieser Seite gelten für Seedance 2.0.
Siehe auch Seedance 2.0 Videomodelle und Videogenerierung.
Authentifizierung und Endpunkte
- Verwenden Sie
Authorization: Bearer <TOKENLAB_API_KEY>. - Volc AK/SK-Signierung wird nicht akzeptiert. Anfragen müssen einen TokenLab Bearer-Key enthalten.
- Verwenden Sie den offiziellen Aufgabenpfad:
POST /api/v3/contents/generations/tasks.
Inhaltsregeln
type: "text"ist der Prompt-Text.type: "image_url"ohneroleoder mitrole: "first_frame"wird als erstes Frame behandelt.role: "last_frame"muss mit einem ersten Frame kombiniert werden.role: "reference_image",reference_videoundreference_audiowerden als Referenzen verwendet.image_url.urlakzeptiert eine öffentliche Bild-URL oder einen Material-URI wieasset://asset-YYYYMMDDHHMMSS-xxxxx. Dierolebestimmt, ob dieses Material ein erstes Frame, ein letztes Frame oder ein Referenzbild ist.- Mischen Sie keine Eingaben für erste/letzte Frames mit Referenzmedien in einer Anfrage.
- Die Felder
material_asset_idundmaterial_asset_idsauf oberster Ebene werden abgelehnt. Geben Sie eine TokenLab-Material-URI inimage_url.urlan.prioritywird nur für Seedance 2.5 unterstützt.
Parameterhinweise
duration ist eine ganze Anzahl von Sekunden; -1 wählt die automatische Dauer. Standardwerte und Grenzen hängen vom Modell ab:
| Parameter | Seedance 2.0 | Seedance 2.5 |
|---|---|---|
duration | 4–15 / -1 (Standard: 5) | 4–30 / -1 (Standard: -1) |
resolution | 480p, 720p, 1080p (Standard: 720p) | 480p, 720p (Standard: 720p) |
generate_audio | boolean (Standard: false) | boolean (Standard: true) |
priority | Nicht unterstützt | integer: 0–9 |
seed | integer: -1–4294967295 (Standard: -1) | Nicht unterstützt |
Bei Seedance 2.5 erfordern Anfragen mit Anfangsbild, Anfangs- und Endbild, Videoverlängerung sowie Video-zu-Video ratio: "adaptive". Video-zu-Video erfordert außerdem duration: -1. output_format akzeptiert mp4 oder mov nur für Seedance 2.5.
ratioakzeptiert16:9,4:3,1:1,3:4,9:16,21:9oderadaptive.watermark,return_last_frame,seed,execution_expires_afterundsafety_identifierwerden akzeptiert, sofern sie für das ausgewählte Modell gültig sind.callback_urlkann auf einen öffentlichen HTTP(S)-Endpunkt verweisen.
Callback-Zustellung
Wenn callback_url vorhanden ist, sendet TokenLab einen HTTP POST, wenn sich der Aufgabenstatus ändert. Callback-Status sind queued, running, succeeded, failed und expired. Der JSON-Body entspricht der Antwort von get-task.
Eine 2xx-Antwort bestätigt die Zustellung. Bei succeeded und failed wird eine Zustellung, die nicht innerhalb von fünf Sekunden erfolgreich ist, bis zu dreimal wiederholt. Der Callback enthält nur den Standard-JSON-Content-Header und keine TokenLab-spezifischen Zustellungs-Header. Weiterleitungen werden nicht gefolgt, und private oder reservierte Netzwerkziele werden abgelehnt.
Speichern Sie die Aufgaben-ID. Wenn ein Callback nicht zugestellt wird, können Sie das Ergebnis weiterhin über den get-task-Endpunkt abrufen.
Bildvorbereitung
Öffentliche HTTP(S)-Bild-URLs und unterstützte data-URLs werden wie angegeben verwendet und nicht automatisch als wiederverwendbare Materialien gespeichert. Explizite asset://asset-...-Referenzen verwenden vorhandene TokenLab-Materialien. Vor der Generierung werden Besitz und Bereitschaft geprüft. Warten Sie bei noch nicht bereiten Materialien und versuchen Sie es danach erneut. Bei Fehlern prüfen Sie error.code und error.message.
Verwenden Sie für bestehende Materialien die öffentliche asset-YYYYMMDDHHMMSS-xxxxx ID anstelle einer ursprünglichen Asset-ID, die von einem anderen System zurückgegeben wurde. TokenLab überprüft die Materialbesitzrechte vor der Generierung.
Antwort bei Erstellung
{
"id": "cgt-20260102030405-a1b2c"
}Die Antwort bei der Erstellung enthält nur die Aufgaben-ID. Speichern Sie diese, damit Sie jederzeit Status und Ergebnisse abrufen können.
Vermeidung doppelter Aufgaben
Senden Sie einen eindeutigen Idempotency-Key mit Erstellungsanfragen. Wenn die Verbindung vor Eintreffen der Antwort geschlossen wird, wiederholen Sie den Vorgang mit demselben API-Key, Idempotency-Key und Request-Body:
- Wenn die ursprüngliche Aufgabe erstellt wurde, gibt TokenLab dieselbe
cgt-...ID zurück und fügtIdempotency-Replayed: truehinzu. - Wird die ursprüngliche Anfrage noch registriert, gibt TokenLab
409 IdempotencyRequestInProgresszurück. Versuchen Sie es später mit demselben Key und Body erneut. - Die Wiederverwendung des Keys mit einem anderen Body führt zu
409 IdempotencyConflictund erstellt niemals eine zweite Aufgabe.
Idempotency gilt für den offiziellen v3 REST-Erstellungspfad. Es ändert nicht die Form der JSON-Antwort und wird nicht aus X-Request-ID oder identischen Request-Bodies ohne Key abgeleitet.
Beispiel
REST-Erstellung
curl https://api.tokenlab.sh/api/v3/contents/generations/tasks \
-H "Authorization: Bearer $TOKENLAB_API_KEY" \
-H "Idempotency-Key: $CLIENT_JOB_ID" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2.0",
"content": [
{"type": "text", "text": "A cinematic forest at sunset"},
{"type": "image_url", "role": "reference_image", "image_url": {"url": "https://example.com/ref.png"}}
],
"ratio": "16:9",
"duration": 5,
"resolution": "720p",
"generate_audio": false,
"callback_url": "https://example.com/webhooks/seedance"
}'Für bestehende Materialien fügen Sie jeden URI in das offizielle content[]-Element ein und deklarieren dessen Rolle:
[
{
"type": "image_url",
"role": "first_frame",
"image_url": {"url": "asset://asset-20260720123458-start"}
},
{
"type": "image_url",
"role": "last_frame",
"image_url": {"url": "asset://asset-20260720123459-end01"}
}
]Nächster Schritt
Verwenden Sie die zurückgegebene cgt-... ID mit Task abrufen (Volc-kompatibel), bis die Aufgabe einen Endstatus erreicht.
curl -X POST "https://example.com/api/v3/contents/generations/tasks" \ -H "Content-Type: application/json" \ -d '{ "model": "doubao-seedance-2-0-260128", "content": [ { "type": "text", "text": "A cinematic forest at sunset" }, { "type": "image_url", "role": "reference_image", "image_url": { "url": "https://example.com/ref.png" } } ], "ratio": "16:9", "duration": 5, "resolution": "720p", "generate_audio": false }'{ "id": "string"}Autorisierung
BearerAuth API-Key-Authentifizierung. Erstellen oder verwalten Sie API-Keys unter Dashboard > API > API Keys.
Ort: header
Header
Zustellungsrichtlinie pro Anfrage. Überschreibt die API-Key- und Workspace-Standardeinstellungen. Versucht automatisch zuerst TokenLab Verified und kann vor der Ausgabe, der Annahme der Anfrage oder der Erstellung persistenter Ressourcen einmalig auf Official umstellen.
Zulässige Werte
- "auto"
- "verified"
- "official"
Vom Client generierter Schlüssel für die idempotente REST-Aufgabenerstellung. Unter derselben TokenLab API-Berechtigung führt die Wiederverwendung desselben Schlüssels mit demselben JSON-Body zur ursprünglichen cgt-Aufgaben-ID; die Wiederverwendung mit einem anderen Body führt zu 409. Behalten Sie die Berechtigung, den Schlüssel und den Request-Body bei, wenn Sie nach einem Timeout oder Verbindungsabbruch einen erneuten Versuch unternehmen.
1 <= length <= 255Anfragekörper
application/json
Antwort
application/json
application/json
application/json
application/json
application/json
application/json