POST /v1/videos, um eine asynchrone Seedance-Videogenerierungsaufgabe zu erstellen. Rufe den Status der Aufgabe ab, bis sie abgeschlossen ist, und lade dann das Video von der zurückgegebenen Flatkey-URL herunter.
Unterstützte Modelle sind seedance-2.0, seedance-2.0-fast, seedance-2.0-mini und seedance-2.5. Die Verfügbarkeit hängt von deinem Konto ab; verwende GET /v1/models, um die aktuelle Modellliste abzurufen.
Endpunkt
Flatkey akzeptiert auch
POST /v1/video/generations und GET /v1/video/generations/{task_id}. Verwende /v1/videos für die standardisierte Antwortstruktur und native usage-Daten.Anfrage
Header
Body-Parameter
string
erforderlich
Seedance-Modell-ID:
"seedance-2.0", "seedance-2.0-fast", "seedance-2.0-mini" oder "seedance-2.5".array
erforderlich
Multimodale Eingabeelemente. Füge mindestens ein nicht leeres Text-, Bild-, Video- oder Audioelement ein. Siehe
content-Elemente.string
Ausgabeauflösung. Standard:
"720p".string
Ausgabe-Seitenverhältnis:
"16:9", "4:3", "1:1", "3:4", "9:16", "21:9" oder "adaptive". Standard: "adaptive". Bei "adaptive" wählt das Modell das Seitenverhältnis anhand deiner Eingabebilder oder -videos. Bei seedance-2.5 unterstützen Aufgaben mit erstem Frame sowie mit erstem und letztem Frame nur "adaptive".integer
Videolänge in Sekunden. Standard:
5. Seedance-2.0-Modelle akzeptieren 4 bis 15; seedance-2.5 akzeptiert 4 bis 30.boolean
Fügt unten rechts ein „AI generated“-Wasserzeichen hinzu. Standard:
false.boolean
Generiert eine synchronisierte Mono-Audiospur. Standard:
true. Setze den Wert auf false, wenn du nur das Video brauchst; generiertes Audio kann gelegentlich an Urheberrechtsprüfungen scheitern.boolean
Gibt den letzten Frame des generierten Videos als Bild zurück. Standard:
false. Bei true enthält die abgeschlossene Aufgabe metadata.last_frame_url, über die du ein JPEG in denselben Abmessungen wie das Video und ohne Wasserzeichen herunterlädst. Verwende es als first_frame der nächsten Aufgabe, um Clips aneinanderzureihen. Wie metadata.url benötigt es keinen Autorisierungsheader; behandle es als privat.string
Nur
seedance-2.5. Container des generierten Videos: "mp4" oder "mov". Standard: "mp4". MOV bewahrt mehr Farbpräzision für Color Grading und Compositing (H.264, YUV 4:4:4, PCM-Audio), lässt sich aber in manchen Playern nicht öffnen. Der Content-Endpunkt liefert für MOV-Ergebnisse video/quicktime.string
Nur
seedance-2.5, für Aufgaben im Referenzmodus. Teilt dem Modell mit, welche Aufgabe du beabsichtigst: "auto" (Standard), "reference", "edit" oder "extend". Wenn du den Wert explizit setzt, werden die Prüfungen des Aufgabentyps bereits beim Absenden ausgeführt, sodass eine ungültige Kombination sofort fehlschlägt statt erst nach dem Start der Aufgabe. "reference", "edit" und "extend" erfordern alle Referenzelemente in content; eine reine Textanfrage mit "reference" wird abgelehnt. Siehe Videobearbeitung und -verlängerung.integer
Warteschlangenpriorität von
0 bis 9. Standard: 0. Höhere Werte ziehen die Aufgabe vor Aufgaben mit niedrigerer Priorität, die auf dasselbe Modell warten. Unterstützt von allen Seedance-2.0-Modellen und seedance-2.5. Werte außerhalb von 0–9 werden mit 400 abgelehnt.integer
Sekunden, die die Aufgabe warten und laufen darf, bevor sie abläuft. Standard:
172800 (48 Stunden). Verwende einen kürzeren Wert, wenn dir ein verspätetes Ergebnis nichts nützt.string
Öffentliche HTTPS-URL, die bei jeder Statusänderung der Aufgabe einen
POST erhält. Siehe Aufgaben-Callbacks. Sie muss https verwenden, darf keine Benutzer-Anmeldedaten enthalten, darf höchstens 2.048 Zeichen lang sein und muss zu einer öffentlichen Adresse aufgelöst werden; andernfalls wird die Anfrage mit 400 abgelehnt.content-Elemente
Jede URL kann eine öffentliche HTTPS-URL, eine
data:<mime>;base64,-Data-URI (nur Bilder und Audio) oder eine asset://-Referenz aus der Asset-Bibliothek sein. Der gesamte Anfrage-Body muss unter 64 MB bleiben.
Wähle pro Aufgabe einen Eingabemodus. Diese Modi lassen sich nicht kombinieren:
Videobearbeitung
seedance-2.5 kann ein vorhandenes Video im Referenzmodus bearbeiten oder verlängern. Beschreibe die Änderung im Prompt und verweise auf das Video als @Video1.
seedance-2.5-Anfrage mit Referenzvideo wird eine Bearbeitung zum Mit-Video-Tarif der jeweiligen Auflösung für pauschal 30 Sekunden abgerechnet, unabhängig von der Eingabe- oder Ausgabelänge.
Entwurfsmodus
seedance-2.5 kann zuerst einen günstigen Entwurf in 480p rendern, damit du Szene, Kameraeinstellungen und Bewegung prüfen kannst, bevor du für das finale Video bezahlst. Dafür sind zwei Anfragen nötig:
- Entwurf erstellen. Sende eine normale Anfrage mit
"draft": trueund"resolution": "480p". Sie wird wie ein reguläres 480p-Video abgerechnet. - Finales Video rendern. Sobald der Entwurf abgeschlossen ist, sende eine Anfrage mit
"resolution": "1080p", deren einzigescontent-Element eindraft_taskist, der auf die Aufgaben-ID des Entwurfs verweist.
draft_task weder duration, ratio, frames, seed, generate_audio, omni_reference_task_type, draft noch weitere content-Elemente; sonst wird die Anfrage mit 400 abgelehnt. return_last_frame, output_format, watermark, priority, execution_expires_after und callback_url kannst du weiterhin setzen.
Seedance akzeptiert keine Bilder oder Videos, die echte menschliche Gesichter direkt zeigen. Lade sie als personenbezogene Assets hoch und referenziere sie mit
asset://.Beispielanfragen
Eingabe mit erstem und letztem Frame
Multimodale Referenz
Antwort
Antwortfelder
string
Öffentliche Aufgaben-ID, die zum Abrufen des Status und zum Herunterladen des fertigen Videos verwendet wird.
task_id enthält denselben Wert.string
Aufgabenstatus:
queued, in_progress, completed oder failed.integer
Generierungsfortschritt von 0 bis 100.
integer
Unix-Zeitstempel für die Aufgabenerstellung.
Aufgabenstatus abrufen
Statuswerte
Aufgaben-Callbacks
Setzecallback_url, um Statusänderungen anstelle der Abfrage oder zusätzlich dazu zu empfangen. Flatkey sendet einen POST mit Content-Type: application/json, wenn die Aufgabe in in_progress, completed oder failed wechselt. Der Body entspricht genau dem, was GET /v1/videos/{task_id} in diesem Moment zurückgibt, einschließlich metadata.url und metadata.last_frame_url bei abgeschlossenen Aufgaben.
Antworte innerhalb von 5 Sekunden mit einem beliebigen
2xx-Status. Andernfalls versucht Flatkey es noch zweimal, nach 2 und nach 8 Sekunden, und gibt dann auf. Weiterleitungen werden nicht verfolgt. Callbacks sind nicht signiert. Prüfe ein Ergebnis daher durch Abfragen der Aufgabe, bevor du darauf reagierst, und nutze die Abfrage weiterhin als maßgebliche Quelle, falls ein Callback verloren geht.
Video herunterladen
video/mp4-Daten oder video/quicktime, wenn die Aufgabe output_format: "mov" verwendet hat. Er erfordert kein Bearer-Token und kann direkt als <video>-Quelle verwendet werden.
Fehler
Fehler zur Anfragezeit verwenden den Standard-Fehlerrahmen von Flatkey:End-to-End-Beispiel
Dieses Beispiel erstellt eine Aufgabe, ruft ihren Status alle fünf Sekunden ab und lädt das fertige Video herunter. Es erfordertjq.