Videoerzeugung
Erzeugen Sie filmische Videoclips mit Seedance 2.5 — Text-zu-Video, Bild-zu-Video und Video-zu-Video.
Portrait als Eingabe nutzen
Referenzieren Sie virtuelle oder reale Porträts in der Videoerzeugung, indem Sie asset://<asset-id> als multimodale Eingabe übergeben. asset:// wird nur von seedance-2.0 / seedance-2.0-fast unterstützt — nicht von seedance-2.5. Siehe den Portrait-Leitfaden für den vollständigen Onboarding-Ablauf.
Überblick
Erzeugen Sie kurze filmische Videoclips aus einem Text-Prompt, Referenzbildern oder einem Referenzvideo mit den Seedance-Modellen. seedance-2.5 ist das aktuelle Flaggschiff und deckt Text-zu-Video, Bild-zu-Video und Video-zu-Video ab (steuern Sie einen neuen Clip über ein reference_video aus einem Referenzvideo).
Video erstellen
Submit a video generation task using the Videos API:
| 1 | curl https://api.alltoken.ai/v1/videos/generations -H "Authorization: Bearer $ALLTOKEN_API_KEY" -H "Content-Type: application/json" -d '{ |
| 2 | "model": "seedance-2.5", |
| 3 | "prompt": "A serene mountain lake at sunrise, cinematic 4K", |
| 4 | "ratio": "16:9", |
| 5 | "duration": 5, |
| 6 | "resolution": "720p" |
| 7 | }' |
Referenzmaterialien
Über einen Text-Prompt hinaus kann Seedance über das Array content[] auch Referenzbilder, -videos und -audio entgegennehmen. Jedes Element hat einen type und eine role:
| Material | type | Verfügbare role |
|---|---|---|
| Bild | image_url | reference_image, first_frame, last_frame |
| Video | video_url | reference_video |
| Audio | audio_url | reference_audio |
Es gibt zwei Wege, jedes Material bereitzustellen, und sie lassen sich innerhalb einer Anfrage mischen:
- Bereits auf einem öffentlichen Host — übergeben Sie die
http(s)-URL im type-Objekt, z. B.{ "type": "image_url", "image_url": { "url": "https://..." }, "role": "reference_image" }. Sie muss vom Upstream öffentlich erreichbar sein (keine privaten oder nur signierten Links). - Lokale Datei — vorab signieren und hochladen, dann die zurückgegebene
upload_idreferenzieren:{ "type": "image_url", "upload_id": "upl_...", "role": "reference_image" }.
Warnung
Der Inline-Pfad data: (base64) wurde am 2026-08-06 entfernt. Eine Videoanfrage mit data:-Medien gibt jetzt 400 inline_media_removed zurück. Migrieren Sie, indem Sie die Inline-URL durch eine upload_id ersetzen — alle anderen Felder bleiben gleich. http(s)-URLs und upload_id sind nicht betroffen.
| 1 | - { "type": "image_url", "image_url": { "url": "data:image/png;base64,iVBOR..." }, "role": "reference_image" } |
| 2 | + { "type": "image_url", "upload_id": "upl_9f3c...", "role": "reference_image" } |
Rollen, Standardwerte und Frame-Regeln
Sie können type in der Kurzform image / video / audio schreiben (das Gateway normalisiert sie), aber wenn Sie role weglassen, wird ein Standardwert angewendet — und bei Bildern ist dieser Standardwert nicht das, was Sie vielleicht erwarten:
Kurzform type | Normalisiert zu | Standard-role bei Weglassen |
|---|---|---|
image | image_url | first_frame — nicht reference_image! |
video | video_url | reference_video |
audio | audio_url | reference_audio |
Somit wird { "type": "image", "upload_id": "upl_..." } als erster Frame behandelt, nicht als Referenzbild. Bevorzugen Sie die Langform mit expliziter role und verlassen Sie sich nicht auf Standardwerte. Die GET-Task-Antwort gibt den erkannten input_type zurück, sodass Sie überprüfen können, wie das Gateway Ihr content[] gelesen hat.
Warnung
Frames und visuelle Referenzen lassen sich nicht mischen. Der Upstream behandelt sie als sich gegenseitig ausschließende Paradigmen: first_frame / last_frame (definieren das Start-/Endbild) gegenüber reference_image / reference_video (liefern eine Stil- oder Motivreferenz). Beide Arten von visuellem Material in einer Anfrage zu kombinieren, gibt 400 invalid_request zurück. reference_audio ist ausgenommen — „ein Bild als erster Frame + Audio als Referenz" ist eine unterstützte Kombination.
Eingabebeschränkungen
| Beschränkung | Wert | Wessen Limit |
|---|---|---|
| Pixelanzahl des Referenzvideos | ≥ 409,600 (d. h. 640×640 und größer) | Upstream-Modell — unverändert durchgereicht |
| Upload-Größe pro Datei | Siehe die purpose-Obergrenzen unter Medien-Uploads | AllToken |
| Anzahl der Referenzbilder | Die Upstream-Doku nennt 9; wir begrenzen sie nicht | Upstream |
Wenn ein Referenzvideo zu klein ist, wird der Upstream-Fehler unverändert durchgereicht (zum Beispiel InvalidParameter: ... video pixel count ... must be greater than or equal to 409600 ...). Beachten Sie, dass frames und camera_fixed von der 2.0-Serie nicht unterstützt und stillschweigend ignoriert statt abgelehnt werden.
Unterstützte Modelle
Rufen Sie GET /videos/models für die aktuelle Liste auf. seedance-2.5 ist das aktuelle Flaggschiff (Text-zu-Video, Bild-zu-Video und Video-zu-Video); asset://-Porträtreferenzen bleiben auf der 2.0-Linie.
| Modell | Am besten für | asset://-Porträtreferenz |
|---|---|---|
seedance-2.5 | Flaggschiff — Text / Bild / Video-zu-Video | ❌ Nicht unterstützt (Porträt nur mit 2.0) |
seedance-2.0 / seedance-2.0-fast | Porträt-Workflows (asset://) | ✅ Unterstützt |
seedance-1.5-pro | Frühere Generation | ❌ Nicht unterstützt (nur einfache Bild-URLs verwenden) |
Siehe den Portrait-Leitfaden, wie Sie eine asset_id erhalten.
Parameter
model—"seedance-2.5"(Flaggschiff),"seedance-2.0","seedance-2.0-fast"oder"seedance-1.5-pro"; rufen SieGET /videos/modelsfür die aktuelle Liste aufprompt— text description of the desired videoratio—"16:9","9:16","4:3","3:4","21:9","1:1", or"adaptive"duration— length in seconds;-1lets the model choose automaticallyresolution—"480p","720p", or"1080p"content— multimodal input array for image-to-video or references, for example{ "type": "image_url", "image_url": { "url": "..." }, "role": "first_frame" }. Images containing real human faces must go through Portrait first — passasset://<asset_id>after onboarding (see Portrait guide); public URLs of real-person images may be rejected upstream for deepfake / consent compliance.
Status prüfen
Video generation is asynchronous. Poll for status:
$curl https://api.alltoken.ai/v1/videos/generations/{task_id} -H "Authorization: Bearer $ALLTOKEN_API_KEY"The response includes status (queued, processing, completed, failed, expired, or cancelled) and a download URL when complete.
Task abbrechen
Cancel a queued or processing task:
$curl -X POST https://api.alltoken.ai/v1/videos/generations/{task_id}/cancel -H "Authorization: Bearer $ALLTOKEN_API_KEY"Tasks already completed, failed, or cancelled cannot be cancelled.