Skip to content
API Reference · Videogenerierungs-API

Videogenerierungs-API

Asynchrone Videogenerierung — Aufgaben erstellen, abfragen, auflisten, abbrechen. Text→Video und Bild→Video.


Übersicht

Videogenerierung ist eine asynchrone Aufgabe: POST /videos/generations liefert sofort eine Aufgaben-ID, danach GET /videos/generations/{id} abfragen, bis status auf completed wechselt, dann video_url zum Herunterladen verwenden.

Unterstützte Modelle: seedance-1.5-pro, seedance-2.0 usw. Aktuelle Liste über GET /videos/models. Vollständiges Schema und Einschränkungen im interaktiven API-Explorer.

  • GET https://api.alltoken.ai/v1/videos/models — verfügbare Videomodelle auflisten
  • POST https://api.alltoken.ai/v1/videos/generations — Generierungsaufgabe erstellen
  • GET https://api.alltoken.ai/v1/videos/generations/{id} — Aufgabenstatus abfragen
  • GET https://api.alltoken.ai/v1/videos/generations — Aufgaben auflisten
  • POST https://api.alltoken.ai/v1/videos/generations/{id}/cancel — Aufgabe abbrechen

Videomodelle auflisten

GET
$GET https://api.alltoken.ai/v1/videos/models

Gibt alle verfügbaren Videogenerierungsmodelle im OpenAI-kompatiblen Format zurück.

Antwort JSON
1{
2 "object": "list",
3 "data": [
4 { "id": "seedance-1.5-pro", "object": "model", "owned_by": "chat" },
5 { "id": "seedance-2.0", "object": "model", "owned_by": "chat" }
6 ]
7}

Aufgabe erstellen

POST
$POST https://api.alltoken.ai/v1/videos/generations

Text→Video:

Anfragerumpf JSON
1{
2 "model": "seedance-1.5-pro",
3 "prompt": "A cat surfing on a rainbow",
4 "duration": 5,
5 "ratio": "16:9",
6 "resolution": "720p"
7}

Bild→Video (Steuerung über erstes Frame):

Anfragerumpf JSON
1{
2 "model": "seedance-1.5-pro",
3 "prompt": "The cat jumps forward",
4 "content": [
5 {
6 "type": "image_url",
7 "image_url": { "url": "https://example.com/cat.png" },
8 "role": "first_frame"
9 }
10 ],
11 "duration": 5
12}

Antwort (Aufgabe erstellt, Status queued):

Antwort JSON
1{
2 "id": "vgen_01abc",
3 "status": "queued",
4 "model": "seedance-1.5-pro",
5 "input_type": "text",
6 "ratio": "16:9",
7 "resolution": "720p",
8 "duration": 5,
9 "created_at": "2026-04-27T10:00:00Z"
10}

Anfrageparameter

  • model (erforderlich) — Video-Modell-ID (z. B. "seedance-1.5-pro")
  • prompt (erforderlich) — Textbeschreibung des gewünschten Videos
  • content — Multimodales Eingabearray (Bild→Video, Videoreferenz). Jeder Eintrag enthält type (image_url / video_url / audio_url / draft_task) und role (first_frame / last_frame / reference_image / reference_video / reference_audio)
  • ratio — Seitenverhältnis: 16:9 / 9:16 / 4:3 / 3:4 / 21:9 / 1:1 / adaptive
  • duration — Dauer in Sekunden; -1 für automatische Wahl durch das Modell
  • resolution480p / 720p / 1080p
  • frames — Bildanzahl (hat Vorrang vor duration)
  • generate_audio — Passende Audiospur erzeugen
  • input_has_video - Set when the input content includes a video reference
  • seed — Zufalls-Seed für Reproduzierbarkeit
  • camera_fixed — Kamera fixieren
  • watermark — Wasserzeichen hinzufügen (Standard false)
  • callback_url — URL, die beim Abschluss aufgerufen wird
  • return_last_frame — URL des letzten Frames zurückgeben (für Fortsetzung)
  • service_tierdefault / flex
  • execution_expires_after — Ablaufzeitfenster der Ausführung in Sekunden (3600-259200)
  • draft — Entwurfsaufgabe erstellen oder verwenden, sofern vom Modell unterstützt
  • tools — Optionale Tool-Konfiguration, z. B. web_search
  • safety_identifier — Optionale stabile Sicherheitskennung, bis zu 64 Zeichen

Aufgabenstatus abrufen

GET
$GET https://api.alltoken.ai/v1/videos/generations/{id}

Gibt die Aufgabendetails zurück. Wenn status completed ist, ist video_url die Download-URL.

Antwort JSON
1{
2 "id": "vgen_01abc",
3 "status": "completed",
4 "model": "seedance-1.5-pro",
5 "video_url": "https://cdn.example.com/videos/vgen_01abc.mp4",
6 "video_url_expires_at": "2026-04-27T11:00:00Z",
7 "video_url_ttl": 3600,
8 "duration": 5,
9 "fps": 24,
10 "resolution": "720p",
11 "ratio": "16:9",
12 "usage": {
13 "completion_tokens": 256,
14 "total_tokens": 256
15 },
16 "created_at": "2026-04-27T10:00:00Z",
17 "completed_at": "2026-04-27T10:01:32Z"
18}

video_url ist eine vorsignierte URL und läuft nach video_url_ttl Sekunden ab. Rufen Sie diesen Endpunkt nach Ablauf erneut auf, um eine neue URL zu erhalten.

Statuswerte

  • queued — In Warteschlange, wartet auf GPU
  • processing — Modell generiert
  • completed — Fertig, video_url verfügbar
  • failed — Generierung fehlgeschlagen; Details in error
  • expiredvideo_url abgelaufen und nicht erneuert
  • cancelled — Vom Benutzer abgebrochen

Empfohlenes Abfrageintervall: 2-5 Sekunden. Die meisten Aufgaben sind in 30-120 s fertig; hochauflösende Jobs können 3-5 Minuten dauern.

Aufgaben auflisten

GET
$GET https://api.alltoken.ai/v1/videos/generations?limit=20&status=completed

Paginierte Liste der Videogenerierungsaufgaben des aktuellen Benutzers. Abfrageparameter:

  • limit — Seitengröße (Standard 20, max. 100)
  • status — Nach Status filtern (queued / processing / completed / failed / expired / cancelled)

Aufgabe abbrechen

POST
$POST https://api.alltoken.ai/v1/videos/generations/{id}/cancel

Bricht eine noch nicht abgeschlossene Aufgabe ab (nur queued oder processing). Bereits completed / cancelled Aufgaben liefern 409 Conflict.

Fehler-Antworten

  • 400 — Ungültige Anfrage (z. B. leerer prompt, ungültiges ratio)
  • 401 — API-Key ungültig oder fehlt
  • 402 — Unzureichendes Guthaben
  • 404 — Aufgaben-ID nicht gefunden
  • 409 — Aufgabenstatus erlaubt diese Aktion nicht (z. B. abgeschlossene Aufgabe abbrechen)
  • 429 — Ratenlimit überschritten