DEV Community

Cover image for Seedance 2.0 API 2026: Anleitung zur Nutzung
Emre Demir
Emre Demir

Posted on • Originally published at apidog.com

Seedance 2.0 API 2026: Anleitung zur Nutzung

TL;DR

Die Seedance 2.0 API wurde am 2. April 2026 über Volcengine Ark gestartet. Sie übermitteln eine Videoerstellungsaufgabe mit einer POST-Anfrage und fragen dann einen GET-Endpunkt ab, bis der Status "succeeded" erreicht ist. Die API unterstützt Text-zu-Video, Bild-zu-Video, Steuerung des ersten und letzten Frames, multimodale Referenzen und native Audioerzeugung. Ein 5-sekündiges 1080p-Video kostet etwa 0,93 $. Laden Sie das Video innerhalb von 24 Stunden herunter. Die URL läuft danach ab.

Hypereal AI

Hypereal AI Plattform

Hypereal AI ausprobieren

Teste Apidog heute

Einleitung

Am 2. April 2026 veröffentlichte ByteDance's Volcengine Ark Plattform die offizielle Seedance 2.0 API. Vorher war Seedance 2.0 nur über die Webkonsole nutzbar. Tutorials mit UI zeigen die alte Methode – dieser Artikel zeigt, wie man die API automatisiert und programmatisch ansteuert.

💡
Die API ist asynchron: Sie erstellen eine Aufgabe per POST, erhalten eine Aufgaben-ID und fragen dann zyklisch einen GET-Endpunkt ab, bis der Auftrag abgeschlossen ist. Apidog hilft, diesen Ablauf zu testen: POST-Übermittlung, Aufgaben-ID extrahieren, GET-Abfrage wiederholen, Ergebnis prüfen. Folgen Sie dem Apidog-Abschnitt, um die Testschritte praktisch auszuführen.

Der Artikel behandelt alle Eingabetypen, Token-basierte Kosten und typische Fehlerfälle.

Was ist Seedance 2.0?

Seedance 2.0 ist ByteDances modernes Videogenerierungsmodell auf Volcengine Ark mit den Modell-IDs doubao-seedance-2-0-260128 (Standard) und doubao-seedance-2-0-fast-260128 (schneller, geringere Qualität).

Neuerungen gegenüber 1.5:

  • Steuerung von erstem/letztem Frame (Sie geben beide Bilder an)
  • Multimodale Eingaben: Text, Bild(er), Video, Audio gemischt
  • Native Audioerzeugung: Sprache, Effekte, Musik, Umgebungsgeräusche
  • Lippensynchron in 8+ Sprachen
  • Kamerasteuerung per Prompt (z.B. Dolly, Tracking)
  • Bis zu 15 Sekunden Länge, maximal 2K Auflösung

Ausgabe: 24 fps, Seitenverhältnisse von 1:1 bis 21:9, frei wählbar.

Was sich geändert hat: Leitfaden vs. offizielle API

Frühere Anleitungen wie dieser Leitfaden vom Februar 2026 bezogen sich auf die Webkonsole. Mit der neuen API können Sie Seedance von jedem System, jeder Sprache und in automatisierten Pipelines nutzen – nicht mehr nur manuell per Web.

Voraussetzungen

  1. Volcengine-Konto unter volcengine.com anlegen.
  2. In der Ark-Konsole API-Schlüssel generieren:

    https://console.volcengine.com/ark/region:ark+cn-beijing/apikey
    
  3. API-Key als Umgebungsvariable speichern:

    export ARK_API_KEY="your-api-key-here"
    
  4. Jeder API-Request benötigt:

    Authorization: Bearer YOUR_ARK_API_KEY
    

Neue Konten erhalten kostenloses Testguthaben – reicht für ca. 8x 15s-Generierungen in 1080p.

Text-zu-Video: Ihre erste Anfrage

Basis-URL:

https://ark.cn-beijing.volces.com/api/v3
Enter fullscreen mode Exit fullscreen mode

POST für T2V-Aufgabe an /v1/contents/generations/tasks:

cURL-Beispiel

curl -X POST "https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ARK_API_KEY" \
  -d '{
    "model": "doubao-seedance-2-0-260128",
    "content": [
      {
        "type": "text",
        "text": "A golden retriever running through a sunlit wheat field, wide tracking shot, cinematic"
      }
    ],
    "resolution": "1080p",
    "ratio": "16:9",
    "duration": 5,
    "watermark": false
  }'
Enter fullscreen mode Exit fullscreen mode

Antwort:

{"id": "cgt-2025xxxxxxxx-xxxx"}
Enter fullscreen mode Exit fullscreen mode

Python-Beispiel (offizielles SDK)

SDK installieren:

pip install volcenginesdkarkruntime
Enter fullscreen mode Exit fullscreen mode

Aufgabe senden:

import os
from volcenginesdkarkruntime import Ark

client = Ark(api_key=os.environ.get("ARK_API_KEY"))

resp = client.content_generation.tasks.create(
    model="doubao-seedance-2-0-260128",
    content=[
        {
            "type": "text",
            "text": "A golden retriever running through a sunlit wheat field, wide tracking shot, cinematic"
        }
    ],
    resolution="1080p",
    ratio="16:9",
    duration=5,
    watermark=False,
)

print(resp.id)
Enter fullscreen mode Exit fullscreen mode

Speichern Sie die Aufgaben-ID für das Polling.

Das asynchrone Aufgabenmuster: Senden, Abfragen, Herunterladen

Die Generierung dauert (bei 5s/1080p ca. 60–120 Sekunden). Status-Workflow:

queued -> running -> succeeded
                -> failed
                -> expired
                -> cancelled
Enter fullscreen mode Exit fullscreen mode

Abfragen, bis Status ≠ queued/running.

Python-Abfrageschleife

import os
import time
import requests
from volcenginesdkarkruntime import Ark

client = Ark(api_key=os.environ.get("ARK_API_KEY"))

# Schritt 1: Aufgabe senden
resp = client.content_generation.tasks.create(
    model="doubao-seedance-2-0-260128",
    content=[
        {"type": "text", "text": "Aerial shot of a mountain lake at sunrise, slow dolly forward"}
    ],
    resolution="1080p",
    ratio="16:9",
    duration=5,
    watermark=False,
)

task_id = resp.id
print(f"Task submitted: {task_id}")

# Schritt 2: Abfragen mit exponentiellem Backoff
wait = 10
while True:
    result = client.content_generation.tasks.get(task_id=task_id)
    status = result.status
    print(f"Status: {status}")

    if status == "succeeded":
        video_url = result.content.video_url
        print(f"Video URL: {video_url}")
        break
    elif status in ("failed", "expired", "cancelled"):
        print(f"Task ended with status: {status}")
        break

    time.sleep(wait)
    wait = min(wait * 2, 60)  # maximal 60 Sekunden

# Schritt 3: Video herunterladen
if status == "succeeded":
    response = requests.get(video_url, stream=True)
    with open("output.mp4", "wb") as f:
        for chunk in response.iter_content(chunk_size=8192):
            f.write(chunk)
    print("Heruntergeladen: output.mp4")
Enter fullscreen mode Exit fullscreen mode

Exponentieller Backoff verhindert Überlastung, 60s als Maximum ist praxistauglich.

Bild-zu-Video (I2V): Animiertes Standbild

Fügen Sie ein image_url-Objekt zu content hinzu. Das Bild wird erster Frame.

resp = client.content_generation.tasks.create(
    model="doubao-seedance-2-0-260128",
    content=[
        {
            "type": "text",
            "text": "The woman slowly turns her head and smiles at the camera"
        },
        {
            "type": "image_url",
            "image_url": {"url": "https://example.com/portrait.jpg"}
        }
    ],
    ratio="adaptive",
    duration=5,
    watermark=False,
)
Enter fullscreen mode Exit fullscreen mode

Mit ratio: "adaptive" übernimmt das Modell das Bildseitenverhältnis.

  • Max. 30 MB pro Bild
  • Bis zu 9 Bilder pro Anfrage

Erster und letzter Frame: Start- und Endpunkte steuern

Zwei Bilder plus Text = Animation von Bild A zu Bild B.

resp = client.content_generation.tasks.create(
    model="doubao-seedance-2-0-260128",
    content=[
        {
            "type": "text",
            "text": "The flower blooms from bud to full open, macro lens, soft light"
        },
        {
            "type": "image_url",
            "image_url": {"url": "https://example.com/flower-bud.jpg"}
        },
        {
            "type": "image_url",
            "image_url": {"url": "https://example.com/flower-open.jpg"}
        }
    ],
    ratio="adaptive",
    duration=8,
    watermark=False,
)
Enter fullscreen mode Exit fullscreen mode

Reihenfolge: 1. Startbild, 2. Endbild. Optional return_last_frame: true setzen, um das letzte Bild für Folgeanfragen zu erhalten.

Multimodale Referenzen: Bilder, Video, Audio kombinieren

content kann enthalten:

  • {"type": "text", ...} (Prompt)
  • {"type": "image_url", ...} (Bild)
  • {"type": "video_url", ...} (Video)
  • {"type": "audio_url", ...} (Audio)

Grenzwerte:

  • Bis 9 Bilder (<30 MB/Bild)
  • Bis 3 Videos (2–15s, <50 MB/Clip)
  • Bis 3 Audios (MP3, <15 MB/Datei)

Beispiel-Request:

resp = client.content_generation.tasks.create(
    model="doubao-seedance-2-0-260128",
    content=[
        {
            "type": "text",
            "text": "Match the visual style of the reference clip and add the provided background audio"
        },
        {
            "type": "image_url",
            "image_url": {"url": "https://example.com/style-reference.jpg"}
        },
        {
            "type": "video_url",
            "video_url": {"url": "https://example.com/motion-reference.mp4"}
        },
        {
            "type": "audio_url",
            "audio_url": {"url": "https://example.com/background-music.mp3"}
        }
    ],
    duration=10,
    ratio="16:9",
    watermark=False,
)
Enter fullscreen mode Exit fullscreen mode

Mit Videoreferenz sinkt der Abrechnungssatz auf die V2V-Stufe (~3,90 $/Mio Token).

Native Audioerzeugung

Aktivieren Sie generate_audio: true, um Audio und Video gemeinsam zu generieren (inkl. Dialog, Musik, Effekte, Umgebungsgeräusche, Lippensynchronisation).

resp = client.content_generation.tasks.create(
    model="doubao-seedance-2-0-260128",
    content=[
        {
            "type": "text",
            "text": "A street musician plays guitar outside a cafe in Paris, crowds passing by, city sounds"
        }
    ],
    resolution="1080p",
    ratio="16:9",
    duration=10,
    generate_audio=True,
    watermark=False,
)
Enter fullscreen mode Exit fullscreen mode

Audio erhöht die Token-Anzahl geringfügig.

Auflösung, Seitenverhältnis und Dauer steuern

  • resolution: "480p", "720p", "1080p", "2K" (Standard: "1080p")
  • ratio: "16:9", "9:16", "4:3", "3:4", "21:9", "1:1", "adaptive"
  • duration: 4–15 Sekunden (Standard: 5)

Das schnelle Modell (doubao-seedance-2-0-fast-260128) ist für Prototyping, das Standardmodell für finale Produktionen.

Seedance 2.0 ist optimal, wenn Sie native Audio/Video-Co-Generierung, Frame-Kontrolle oder multimodale Referenzen benötigen. Für einfaches T2V und geringe Kosten: das schnelle Modell bei 480p verwenden.

Kosten aus der Antwort ablesen

Nach erfolgreicher Aufgabe enthält die Antwort ein usage-Feld:

{
  "usage": {
    "completion_tokens": 246840,
    "total_tokens": 246840
  }
}
Enter fullscreen mode Exit fullscreen mode
  • 15s/1080p ≈ 308.880 Token
  • 5s/1080p ≈ 102.960 Token

Preise (T2V/I2V 1080p): 46 Yuan/Mio Token (~6,40 $/Mio Token).

Schnellübersicht:

  • 5s 1080p: ~102.960 Token ≈ 0,93 $
  • 10s 1080p: ~205.920 Token ≈ 1,97 $

Mit Videoreferenz (V2V): 28 Yuan/Mio Token (~3,90 $/Mio Token).

Die genaue Token-Anzahl finden Sie in der Antwort – multiplizieren Sie mit Ihrem Stufensatz, um die Kosten zu berechnen.

Wichtig: Video innerhalb von 24 Stunden herunterladen

Die video_url läuft 24h nach erfolgreicher Aufgabe ab (danach 403-Fehler). Laden Sie die Datei sofort nach Status succeeded herunter. Das Feld execution_expires_after gibt das Aufgabenzeitfenster an (z.B. 172800 Sekunden = 48h), die Video-URL ist trotzdem nur 24h gültig. Aufgabenhistorie: 7 Tage.

So testen Sie die Seedance API mit Apidog

Seedance benötigt einen mehrstufigen Testablauf. Mit Apidog können Sie das exakt abbilden.

Ein Screenshot, der ein Apidog-Test-Szenario zeigt.

Schritt-für-Schritt:

1. Test-Szenario anlegen

  • In Apidog im Testmodul ein neues Szenario „Seedance 2.0 Video-Generierung“ erstellen.
  • Umgebungsvariable ARK_API_KEY setzen.
  • In Requests {{ARK_API_KEY}} verwenden.

2. Übermittlungsanfrage

  • POST an https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks.
  • Authorization: Bearer {{ARK_API_KEY}}.
  • JSON-Body nach Bedarf.
  • Nach dem Schritt: Aufgaben-ID per JSONPath ($.id) extrahieren und als TASK_ID speichern.

3. Warte-Prozessor

  • Nach Extraktion: 30 Sekunden warten.

4. Abfrage in For-Schleife

  • For-Block, max. 20 Iterationen.
    1. GET an https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks/{{TASK_ID}} mit Auth.
    2. Nach GET: 10s warten.
    3. Schleife abbrechen bei $.status == "succeeded" oder "failed".

5. Assertions

  • Nach Schleife prüfen:
    • $.status == "succeeded"
    • $.content.video_url nicht leer

Apidog generiert einen vollständigen Testbericht. Sie können cURL-Befehle direkt importieren, um Requests anzulegen.

Preisaufschlüsselung: Was ein 10-sekündiges Video kostet

Seedance nutzt Pay-as-you-go, keine monatlichen Lizenzen. Testguthaben für erste Experimente.

Aufgabentyp Rate (pro 1 Mio. Token)
T2V / I2V bei 1080p 46 Yuan (~$6.40)
V2V (Video-Referenz) 28 Yuan (~$3.90)

Ungefähre Kosten bei 1080p:

Dauer Ungefähre Token Kosten (T2V/I2V)
5 Sekunden ~103.000 ~$0.66 Yuan / ~$0.93
10 Sekunden ~206.000 ~$9.48 Yuan / ~$1.32
15 Sekunden ~309.000 ~$14.21 Yuan / ~$1.97

Reduzieren Sie die Auflösung für niedrigere Kosten (480p ist am günstigsten). Beginnen Sie mit 720p für Entwicklung, erhöhen Sie bei Bedarf.

Häufige Fehler und Lösungen

429 Too Many Requests

Zu viele parallele Aufgaben. Exponentiellen Backoff verwenden (Start: 10s, dann verdoppeln bis 60s).

status: "failed"

Meist wegen Sicherheitsfiltern, beschädigten/zu großen Bildern oder ungültigen Parametern. Eingaben prüfen und erneut versuchen.

status: "expired"

Aufgabe zu lange in Warteschlange. Bei Lastspitzen erneut senden.

403 bei video_url

Video-URL abgelaufen (nach 24h). Nur Lösung: neu generieren (ggf. mit gespeichertem Seed).

Seed-Reproduzierbarkeit

Seed aus Antwort speichern und bei identischen Parametern erneut übergeben, um gleiche Ausgabe zu reproduzieren.

Fazit

Die Seedance 2.0 API bietet Ihnen direkten Zugang zu fortschrittlicher Videogenerierung. Das Aufgabenmuster: POST → abfragen → sofort herunterladen. Multimodale Eingaben, native Audiogen und Frame-Steuerung ermöglichen Automatisierungen, die per Weboberfläche unmöglich wären.

Richten Sie Ihre Testflows in Apidog ein, bevor Sie in Produktion gehen – so vermeiden Sie typische Fehler bei Abfragen, Extraktion und URL-Ablauf.

FAQ

F: Was ist der Unterschied zwischen doubao-seedance-2-0-260128 und doubao-seedance-2-0-fast-260128?

A: Standardmodell = höchste Qualität, für Produktion. Fast-Modell = schneller, aber geringere Qualität. Für schnelle Prompt-Iterationen Fast-Modell, für finale Videos Standard verwenden.

F: Kann ich Seedance 2.0 außerhalb Chinas nutzen?

A: Ja, API läuft in Peking – höhere Latenz außerhalb Chinas möglich. Volcengine-Nutzungsbedingungen beachten.

F: Wie verketten ich mehrere Clips zu einem längeren Video?

A: Bei jeder Generierung return_last_frame: true setzen. Das Endbild als ersten Frame für den nächsten Clip nutzen. Finales Video mit einer Videobibliothek zusammenfügen.

F: Kostet die native Audioerzeugung mehr?

A: Ja, der Tokenverbrauch steigt moderat durch gemeinsame Audio-Video-Erzeugung.

F: Kann ich einen Webhook statt Polling nutzen?

A: Ja, mit Parameter callback_url in der POST-Anfrage. Die API ruft Ihre URL bei Statusänderung auf.

F: Was passiert, wenn ich das Limit von 9 Bildern überschreite?

A: Die API gibt einen 400-Fehler zurück. Maximal 9 Bilder pro Anfrage zulässig.

F: Garantiert der Seed-Parameter die exakte Reproduktion?

A: Erhöht Reproduzierbarkeit, garantiert aber keine 100% identische Ausgabe, falls Parameter/Modell sich ändern.

F: Wie verfolge ich die Ausgaben über mehrere Aufgaben hinweg?

A: completion_tokens aus jeder Antwort auslesen, mit aktuellem Tokenpreis multiplizieren und loggen. Ein zentrales Dashboard gibt es nicht, eigene Kostenüberwachung implementieren.

Top comments (0)