API

Seedance 2.0 API

Video

Die Seedance 2.0 API erzeugt Videos von 4–15 Sekunden in 480p / 720p / 1080p / 4K aus Text, Einzelbildern oder multimodalen Referenzen. Im Referenzmodus sind bis zu 9 Bilder, 3 Videos und 3 Audiodateien möglich. Jedes Bild darf höchstens 30 MB groß sein.

Autorisierungen

Bearerstringheadererforderlich

API-Schlüssel zur Autorisierung von Anfragen

Body

application/json
modelstringerforderlich
seedance-2-0
input.promptstringerforderlich

Beschreibe Motiv, Handlung, Szene, Beleuchtung, Kamerabewegung und zeitlichen Ablauf. Leerzeichen am Anfang und Ende werden entfernt.

input.frames_imagesstring[]optional

Liste mit einer oder zwei öffentlichen HTTPS-Bild-URLs: Startbild und optionales Endbild. Dieser Modus ist nicht mit reference_images, reference_videos oder reference_audios kombinierbar.

Bei input.frames_images verwendet Seedance 2.0 automatisch das Seitenverhältnis adaptive entsprechend den übergebenen Bildern.

Maximale URL-Anzahl: 2.

Maximale Größe pro Bild: 30 MB.

Beispiel: ["https://example.com/first-frame.png","https://example.com/last-frame.png"]

input.reference_imagesstring[]optional

Liste öffentlicher HTTPS-Referenzbild-URLs. Mit reference_videos und reference_audios kombinierbar, jedoch nicht mit frames_images. Sende URL-Zeichenfolgen, keine Dateien oder Base64-Daten.

Maximale URL-Anzahl: 9.

Maximale Größe pro Bild: 30 MB.

Beispiel: ["https://example.com/your-image.png"]

input.reference_videosstring[]optional

Liste öffentlicher HTTPS-Referenzvideo-URLs. Nicht mit frames_images kombinieren. Videos ändern den Credit-Verbrauch; siehe die entsprechende Tarifzeile und Formel.

Maximale URL-Anzahl: 3.

Beispiel: ["https://example.com/your-video.mp4"]

input.reference_audiosstring[]optional

Liste öffentlicher HTTPS-Referenzaudio-URLs. Mit anderen reference_*-Listen kombinierbar, jedoch nicht mit frames_images.

Maximale URL-Anzahl: 3.

Beispiel: ["https://example.com/your-audio.mp3"]

input.durationintegeroptional

Videodauer in ganzen Sekunden von 4 bis 15. Standard: 5. Der Credit-Verbrauch steigt mit der Dauer.

Standard: 5

4–15
input.resolutionstringoptional

Videoauflösung. Verwende einen der unten aufgeführten kleingeschriebenen Werte. Die Auflösung bestimmt den Credit-Tarif.

Standard: 720p

480p720p1080p4k
input.aspect_ratiostringoptional

Verhältnis von Breite zu Höhe. Standard: 16:9. Einzelbilder können den endgültigen Bildaufbau vorgeben.

Standard: 16:9

16:99:161:13:44:321:9
input.soundbooleanoptional

Legt fest, ob zusammen mit dem Video Audio erzeugt wird. Standard: false. Sende einen JSON-Boolean, keine Zeichenfolge.

Standard: false

Anfragebeispiele

Wähle einen Modus: ohne Medien für Text zu Video; frames_images für Start- und Endbilder; oder kombiniere reference_images, reference_videos und reference_audios für Referenzen. frames_images darf nicht mit reference_*-Medienlisten kombiniert werden. Alle Ressourcen sind Listen öffentlicher HTTPS-URLs, keine Dateien oder Base64-Daten. Ersetze die example.com-URLs. Speichere data.task_id und frage POST /api/v1/check bis completed oder failed ab.

POST /api/v1/create
curl -X POST https://nanobanana.io/api/v1/create \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedance-2-0",
  "input": {
    "prompt": "Ein roter Oldtimer fährt bei Sonnenuntergang auf einer Küstenstraße. Die Kamera folgt sanft der Seite des Autos, während sich warmes Licht im Meer spiegelt.",
    "duration": 5,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "sound": false
  }
}'
POST /api/v1/create · HTTP 201
{
  "data": {
    "task_id": "task_example",
    "model": "seedance-2-0",
    "status": "processing",
    "credits": 750
  }
}

Fragen Sie diesen Endpunkt mit der zurückgegebenen Aufgaben-ID ab, bis die Aufgabe abgeschlossen ist oder fehlschlägt. Wir empfehlen eine Abfrage alle 5 Sekunden, um den aktuellen Status zu prüfen.

POST /api/v1/check
{
  "task_id": "task_example"
}

Antwort

Aufgabenstatus von POST /api/v1/check. Die folgenden IDs, URLs und Zeitstempel dienen als Beispiele.

idstringerforderlich

Aufgabenkennung in data.id, identisch mit task_id in der Statusabfrage.

statusstringerforderlich
completed bedeutet, dass die Generierung erfolgreich war und data.data die Ergebnisse enthält. Bei anderen Statuswerten ist data.data null.
failed_reasonstringoptional

Wird nur bei status failed zurückgegeben und erklärt die Fehlerursache. Bei completed und processing fehlt dieses Feld.

Abgeschlossen · completed

Download-URLs stehen in data.data.results.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "seedance-2-0",
    "status": "completed",
    "data": {
      "results": [
        "https://example.com/generated.mp4"
      ],
      "processing_time": 120
    }
  }
}

Andere Statuswerte

Bei processing oder failed ist data.data null. Dieses Beispiel zeigt failed: Nur failed enthält failed_reason. Bei processing weiter abfragen, bei failed aufhören.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "seedance-2-0",
    "status": "failed",
    "data": null,
    "failed_reason": "Generation failed."
  }
}

Credit-Verbrauch

Credits pro abrechenbarer Sekunde nach Auflösung und Referenzvideo-Modus.

Credits pro abrechenbarer Sekunde nach Auflösung und Referenzvideo-Modus.
Generierung480P720P1080P4K
Ohne Referenzvideos80150400500
Mit Referenzvideos4890240300

Jede Anfrage erzeugt ein Video. Ohne Dauer oder Auflösung gelten die Standardwerte oben. Referenzvideos können mehr Credits verbrauchen; nutze die passende Zeile und Formel.

Wähle die Zeile danach, ob reference_videos angegeben ist. Gesamt = erzeugte Videosekunden × Sekundentarif. Bilder oder Audio allein verwenden den Tarif ohne Referenzvideos.

Das Feld credits in der Antwort von POST /api/v1/create zeigt die für die Aufgabe abgebuchten Credits.