APIMart
So nutzt du die Seedance 2.5 API: eine Kurzanleitung

So nutzt du die Seedance 2.5 API: eine Kurzanleitung

Lerne die Seedance 2.5 API in vier Schritten – authentifizieren, einen POST-Job einreichen, den Status abfragen und dann das fertige 4K-Video herunterladen, mit cURL- und Python-Beispielen.

Tutorial

Du kannst in vier Schritten von einem API-Schlüssel zu einer fertigen MP4 gelangen: eine authentifizierte POST-Anfrage senden, die request_id speichern, den Ergebnis-Endpunkt alle 10 bis 20 Sekunden abfragen und das Video herunterladen, bevor der Link abläuft, oft innerhalb von 24 Stunden.

Wenn ich die Kurzfassung wollte, hier, was ich im Hinterkopf behalten würde:

  • Nutze den richtigen Endpunkt
    • seedance-2.5-text-to-video für Text-Prompts
    • seedance-2.5-image-to-video zum Animieren einer öffentlichen Bild-URL
  • Sende die richtigen Header
    • Authorization: Bearer <API_KEY>
    • Content-Type: application/json
  • Wähle die wichtigsten Ausgabeeinstellungen
    • resolution: 480p bis 4K
    • aspect_ratio: wie 16:9 oder 9:16
    • duration: bis zu 16 Sekunden
    • generate_audio: true für Ton und gesprochene Zeilen
  • Abfragen statt erneut einreichen
    • Prüfe predictions/{request_id}/result
    • Achte auf queued, running, succeeded oder failed
  • Kosten steuern
    • Starte bei 480p oder 720p
    • Behalte denselben seed
    • Führe erneut in 1080p oder 4K aus, nur wenn der Shot richtig aussieht

Ich würde außerdem auf die häufigsten Fehlerpunkte achten: 401 von einem schlechten Auth-Header, 402 von fehlenden Credits, 429 von zu vielen aktiven Jobs und 400 von schlechtem JSON oder fehlenden Feldern. Auf APIMart werden Credits reserviert, wenn ein Job startet, und nur berechnet, wenn er abgeschlossen wird; fehlgeschlagene Jobs werden erstattet.

Wenn du zwischen Modellen wählst, ist Seedance 2.5 die Top-Option in dieser Reihe: bis zu 16 Sek., bis zu 3.840 × 2.160 und bis zu 50 Referenz-Eingaben. Seedance 2.0 liegt in der Mitte, und Seedance 2 Mini ist besser für kostengünstigere Entwürfe.

ModellMax. DauerMax. AuflösungReferenz-EingabenBeste Passung
Seedance 2.516 Sek.4KBis zu 50Finale Renderings, Produkt-Spots, polierte Hero-Clips
Seedance 2.015 Sek.4K~12Allgemeine Videoarbeit
Seedance 2 Mini15 Sek.720pBegrenztEntwürfe, Tests, Social-First-Mockups

Fazit: Wenn du eine gültige POST-Anfrage stellen und eine ID speichern kannst, kannst du den gesamten Workflow ausführen. Der Rest ist Prompt-Tuning, geduldiges Abfragen und das Herunterladen der Datei, bevor die URL abläuft. Für die Nachbearbeitung kannst du den KI-Canvas nutzen, um deine generierten Clips hochzuskalieren oder zu bearbeiten.

Seedance 2.5 API-Workflow: Vom API-Schlüssel zur fertigen MP4
Seedance 2.5 API-Workflow: Vom API-Schlüssel zur fertigen MP4

Schritt 1: APIMart-Zugang einrichten und Anfragen authentifizieren

APIMart

Jede Seedance 2.5-Anfrage braucht einen gültigen API-Schlüssel und die richtigen Header. Fang dort an. Sobald das eingerichtet ist, kannst du zu Videogenerierungs-Payloads und Job-Tracking übergehen.

Erstelle und speichere deinen API-Schlüssel sicher

Erstelle deinen Schlüssel im Konto-Dashboard unter Settings oder API Keys. Speichere ihn dann in einer .env-Datei oder einer Umgebungsvariable, nicht in der Versionskontrolle [6][8].

export APIMART_API_KEY="sk_live_xxxxxx"

Wenn der Schlüssel verloren geht, widerrufe ihn und erstelle einen neuen [3]. Für Integrationstests nutze einen separaten sk_test_-Schlüssel, damit du die Produktionsnutzung nicht berührst [3].

Als Nächstes binde diesen Schlüssel in jede Anfrage mit dem Authorization-Header ein.

Füge den Authorization-Header korrekt hinzu

Sende Anfragen an https://muapi.ai/api/v1/ mit diesen Headern:

  • Authorization: Bearer sk_live_xxxxxx
  • Content-Type: application/json

Ein kleiner Formatierungsfehler kann die Anfrage brechen. Der häufigste ist, das Bearer-Präfix wegzulassen oder das Leerzeichen vor dem Schlüssel zu vergessen [3][7]. Das führt normalerweise zu einer 401 Unauthorized-Antwort. Auch das Weglassen von Content-Type: application/json kann die Anfrage fehlschlagen lassen [3][7].

StatuscodeBedeutungSchnelle Lösung
401Fehlender oder ungültiger API-SchlüsselPrüfe das Bearer-Präfix und bestätige, dass der Schlüssel nicht widerrufen wurde [3]
402Unzureichende CreditsFüge Credits im Dashboard hinzu [3]
403Schlüssel hat keine Berechtigung für Seedance 2.5Prüfe den Schlüsselumfang für Seedance 2.5 [3]
429Zu viele AnfragenFüge exponentielles Backoff hinzu und folge dem Retry-After-Header [3][6]

Mit eingerichteter Auth kannst du zur Video-Anfrage-Payload übergehen.

Schritt 2: Eine Seedance 2.5-Videogenerierungs-Anfrage erstellen

Seedance 2.5

Mit eingerichtetem API-Schlüssel ist der nächste Schritt, einen gültigen Anfragebody zu erstellen. Jeder Seedance 2.5-Job beginnt mit einer POST-Anfrage an einen von zwei Endpunkten, je nachdem, wovon du ausgehst. Nutze https://muapi.ai/api/v1/seedance-2.5-text-to-video für reine Prompt-Generierung oder https://muapi.ai/api/v1/seedance-2.5-image-to-video, wenn du ein Quellbild animierst [1].

Wähle den richtigen Eingabemodus und die Parameter

Dein Eingabemodus bestimmt die Payload-Form. Text-zu-Video braucht nur einen prompt. Bild-zu-Video braucht außerdem eine image_url, die auf eine öffentlich erreichbare JPG-, PNG- oder WEBP-Datei unter 10 MB verweist [1].

Von dort steuerst du die Ausgabe mit ein paar Hauptfeldern:

  • resolution: 480p, 720p, 1080p oder 4K
  • aspect_ratio: 16:9, 9:16, 1:1, 4:3, 3:4 oder 21:9
  • duration: bis zu 16 Sekunden auf Muapi
  • generate_audio: ein Boolean, der synchronen Umgebungston, Effekte und Dialog aktiviert, wenn auf true gesetzt [1]

Ein cleverer Weg zu arbeiten ist, bei 480p mit einem festen seed zu starten. Wenn Bewegung, Tempo und Framing richtig aussehen, führe denselben Seed erneut bei 1080p oder 4K für die finale Version aus.

Für Prompts nutze diesen Ablauf: Subjekt → Aktion → Kamera → Setting → Stimmung [4]. Halte Bewegung, Kamerarichtung und Stimmung im prompt selbst und lass den seed unverändert, während du Variationen testest. Wenn du Lippensynchronisation brauchst, platziere die gesprochene Zeile in doppelten Anführungszeichen direkt im Prompt-String. Zum Beispiel: she turns and says "We launch at dawn." In diesem Fall stelle sicher, dass generate_audio auf true gesetzt ist [1].

Sobald die Payload gut aussieht, reiche den Job ein und speichere die zurückgegebene Request-ID. Du brauchst sie für das Abfragen.

Beispielanfragen in cURL, Postman, Python und JavaScript

Postman

Unten ist dieselbe Text-zu-Video-Payload in vier gängigen Werkzeugen gezeigt.

cURL

curl -X POST https://muapi.ai/api/v1/seedance-2.5-text-to-video \
  -H "Authorization: Bearer $APIMART_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A barista steams milk, then pours a latte art heart. Close-up, warm café lighting, cinematic.",
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "duration": 8,
    "generate_audio": true,
    "seed": 42
  }'

Postman - Erstelle eine neue POST-Anfrage, füge die Endpunkt-URL ein, ergänze Authorization: Bearer <your_key> und Content-Type: application/json im Tab Headers, dann füge das obige JSON in Body → raw → JSON ein. Klicke auf Send und speichere die request_id aus der Antwort.

Python

import os, requests

payload = {
    "prompt": "A barista steams milk, then pours a latte art heart. Close-up, warm café lighting, cinematic.",
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "duration": 8,
    "generate_audio": True,
    "seed": 42
}

response = requests.post(
    "https://muapi.ai/api/v1/seedance-2.5-text-to-video",
    headers={
        "Authorization": f"Bearer {os.environ['APIMART_API_KEY']}",
        "Content-Type": "application/json"
    },
    json=payload
)

print(response.json())  # save request_id here

JavaScript (fetch)

const response = await fetch("https://muapi.ai/api/v1/seedance-2.5-text-to-video", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.APIMART_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    prompt: "A barista steams milk, then pours a latte art heart. Close-up, warm café lighting, cinematic.",
    aspect_ratio: "16:9",
    resolution: "1080p",
    duration: 8,
    generate_audio: true,
    seed: 42
  })
});

const data = await response.json();
console.log(data.request_id); // use this to poll for results

Ein paar Fehler können dich schnell aus dem Tritt bringen. Sende keine image_url, die nicht öffentlich erreichbar ist. Stapele keine Kamerarichtungen, die sich im selben Prompt widersprechen. Und im Bild-zu-Video-Modus beschreibe kein Subjekt erneut, wenn das Quellbild es bereits definiert [1].

Nach der Einreichung frage den Job-Status ab, bis die MP4-URL bereit ist.

Wann Seedance 2.5 in APIMarts Videomodell-Reihe zu nutzen ist

Dieser Kurzvergleich hilft dir, das richtige Modell zu wählen, bevor du anfängst, Prompts zu optimieren oder die Auflösung zu erhöhen. Seedance 2.5 gibt dir natives 4K, bis zu 50 Referenz-Eingaben und längere Clip-Unterstützung. Seedance 2 Mini ist besser für leichtgewichtige Entwürfe, während Seedance 2.0 als allgemein nutzbare Option in der Mitte liegt [1][9][4].

ModellMax. DauerMax. AuflösungReferenz-EingabenIdealer Anwendungsfall
Seedance 2.516 Sek.4KBis zu 50High-End-Werbespots, kinematische Hero-Shots
Seedance 2.015 Sek.4K~12Allgemeines Narrativ-Video, charakterkonsistente Inhalte
Seedance 2 Mini15 Sek.720pBegrenztSchnelle Iteration, Social-Media-Entwürfe, Konzeptvalidierung

Wenn das Projekt ein finales Deliverable ist - etwa ein Produktlaunch-Video, eine gebrandete kinematische Sequenz oder alles, was für den Broadcast bestimmt ist - ist Seedance 2.5 die bessere Wahl. Für Projekte, die 高品質音声付きAI動画生成 erfordern, ist Googles Veo 3.1 ein weiterer starker Kandidat. Wenn du noch Ideen testest, beginne mit Mini, um Bewegung zu prüfen und das Framing zu geringeren Kosten festzulegen, dann geh zu 2.5 für das finale Rendering über.

Schritt 3: Den Job einreichen, den Status verfolgen und die Antwort lesen

Sobald du die POST-Anfrage sendest, gibt die API eine request_id zurück. Speichere sie. Du nutzt diese ID, um den Job später zu prüfen, weil die Generierung asynchron läuft.

Asynchrone Jobs von der Erstellung bis zum Abschluss handhaben

Nachdem du den Job eingereicht hast, ist der nächste Schritt einfach: abfragen, bis das finale Video bereit ist.

Sende eine GET-Anfrage an https://muapi.ai/api/v1/predictions/{request_id}/result. Warte etwa 10 Sekunden nach der Einreichung vor der ersten Abfrage, dann prüfe alle 10–20 Sekunden erneut. Wenn du öfter als alle 5 Sekunden abfragst, kannst du auf Rate-Limits stoßen [1][3].

Jede Antwort enthält ein status-Feld. Dieses Feld sagt dir, was passiert und was du als Nächstes tun solltest:

StatusBedeutungEmpfohlene Aktion
queued / pendingAngenommen und wartet auf RessourcenWeiter abfragen mit Backoff
running / processingModell generiert aktivWarten; nicht erneut einreichen
succeeded / completedAusgabe ist bereitErgebnisse abrufen und in dauerhaftem Speicher sichern
failedAbgelehnt oder während der Generierung abgestürztLogge error.code und message; benachrichtige den Nutzer
expiredAusführungsfenster überschrittenNur als wiederholbar markieren, wenn noch relevant
cancelledDurch Nutzer- oder Admin-Aktion gestopptAbfragen stoppen; die Stornierung dem Nutzer anzeigen

Sobald der Job succeeded erreicht, hole die Ausgabe-URL, bevor sie abläuft.

Ausgabefelder lesen und Ergebnisse speichern

Wenn der Status auf succeeded wechselt, lies die Ausgabe-Payload und speichere das Ergebnis.

Eine erfolgreiche Antwort enthält video_url. Sie kann außerdem last_frame_url enthalten, wenn du danach gefragt hast. Speichere video_url, die optionale last_frame_url und Metadaten wie seed, duration, resolution, aspect_ratio und usage. Diese Daten sind wichtig für die Abrechnung und um denselben Lauf später zu reproduzieren [11][13].

Ausgabe-URLs laufen oft innerhalb von 24 Stunden ab, also lade die Datei sofort in deinen eigenen Speicher herunter [11][12][13]. Wenn ein Job fehlschlägt, logge error.code und error.message. Und wenn das Fehlschlagen mit Sicherheitsprüfungen zusammenhängt, versuche es nicht automatisch erneut [2][11][12].

Schritt 4: Fehler beheben, Kosten steuern und abschließen

Authentifizierungs-, Validierungs- und Rate-Limit-Fehler beheben

Nachdem du einen Job eingereicht und nach Ergebnissen abgefragt hast, können ein paar einfache Prüfungen verhindern, dass Produktionsläufe entgleisen. Die meisten Seedance-Fehler tauchen tendenziell in derselben Handvoll Wege auf.

FehlercodeHTTP-StatusWahrscheinliche UrsacheLösung
invalid_api_key401Fehlender oder widerrufener SchlüsselSetze Authorization: Bearer <API_KEY> [1][3]
invalid_request400Fehlerhaftes JSON oder fehlende PflichtfelderValidiere Pflichtfelder und Parameterbereiche [3]
insufficient_credits402Kontoguthaben ist leerLade Credits im Dashboard auf [3]
rate_limited429Zu viele Jobs laufen gleichzeitig - behandle dies als Nebenläufigkeitslimit, nicht als Anfragen-Rate-Obergrenze; staffle Einreichungen und nutze exponentielles Backoff: starte bei 10 Sekunden, verdopple bei jedem Retry, begrenze auf 60 Sekunden [12][2][3]Lass aktive Jobs beenden, bevor du neue einreihst
not_found404request_id existiert nicht oder ist älter als 7 TageVerifiziere die korrekte request_id; Aufgabendatensätze sind etwa 7 Tage verfügbar [12][3]
internal_error500Anbieterseitiges FehlschlagenWarten, dann nach einer Verzögerung erneut versuchen und die Service-Statusseite prüfen [5][3]

Für Referenz-Assets stelle sicher, dass die URL öffentlich ist, die Datei JPG, PNG oder WEBP ist und sie unter dem gelisteten Größenlimit bleibt [12][4].

Kosten senken und Zuverlässigkeit verbessern

Sobald die Fehlerbehandlung eingerichtet ist, ist der nächste Schritt einfach: günstig testen, dann groß rendern.

Starte deinen Prompt bei 480p oder 720p. Das gibt dir einen kostengünstigen Weg, Framing, Bewegung und ob der Prompt das tut, was du willst, zu prüfen. Wenn der Shot richtig aussieht, führe denselben seed-Wert bei 4K für die finale Ausgabe erneut aus [1][4].

Auch die Cliplänge zählt. Kürzere Videos kosten weniger, also halte die Dauer auf dem Minimum, das den Job noch erfüllt [1][10].

Es gibt außerdem einen heimtückischen Weg, wie Teams Geld verbrennen: Duplikat-Einreichungen nach einem Netzwerk-Timeout. Eine saubere Lösung ist, den Prompt, die Modell-ID und die Medien-URLs vor jeder POST-Anfrage zu hashen. Wenn dieser Hash bereits einer Task-ID zugeordnet ist, überspringe die neue Einreichung komplett [11]. Und sobald ein Job succeeded erreicht, speichere die fertige Datei in dauerhaftem Speicher, damit du dich später nicht auf den Aufgabendatensatz verlassen musst [12][11].

Fazit: Von der API-Doku zur funktionierenden Videogenerierung

Mit Auth, Payloads, Abfragen und Fehlerbehandlung an ihrem Platz hast du jetzt einen vollständigen Seedance 2.5-Workflow auf APIMart.

FAQs

Wie lange braucht Seedance 2.5, um ein Video fertigzustellen?

Seedance 2.5 kann einen durchgehenden Videoclip von bis zu 30 Sekunden Länge generieren. Die Doku listet jedoch keine exakte Fertigstellungszeit auf.

Die API läuft asynchron. Du reichst eine Aufgabe ein, erhältst eine Task-ID und fragst dann entweder den Status-Endpunkt ab oder wartest auf einen Webhook, um das fertige Video zu erhalten.

Die Verarbeitungszeit kann je nach Dingen wie Auflösung und Szenenkomplexität variieren.

Was soll ich tun, wenn meine Video-URL abläuft, bevor ich sie herunterlade?

Wenn deine Video-URL abläuft, bevor du sie herunterlädst, kannst du die Datei nicht mehr über diesen Link bekommen. Seedance hält diese temporären URLs 24 Stunden aktiv.

Der sichere Schritt ist einfach: Kopiere das Video in deinen eigenen sicheren Objektspeicher, sobald die Aufgabe als abgeschlossen angezeigt wird. Weil die API asynchron läuft und die Ausgabe nicht ewig aufbewahrt, sollte deine App das Video sofort abrufen und in den Langzeitspeicher verschieben.

Wie kann ich Doppelabbuchungen beim erneuten Versuchen fehlgeschlagener Anfragen vermeiden?

Nutze idempotente Anfragenbehandlung, die an deine eigenen dauerhaften Job-Datensätze gebunden ist, nicht nur an den HTTP-Client.

Bevor du irgendetwas einreichst, erstelle einen deterministischen Anfrage-Hash aus Eingaben wie dem Prompt, der Modell-ID, den Asset-IDs und der Nutzerkennung. Speichere dann diesen Hash mit einem submitting-Status in deiner eigenen Datenbank.

Wenn derselbe Hash erneut auftaucht, gib den bestehenden Job zurück, statt einen neuen zu erstellen.

Sobald du eine Anbieter-Job-ID gespeichert hast, reiche die Anfrage nicht erneut ein. Nimm einfach das Abfragen mit dieser Job-ID wieder auf.

Bereit zum Ausprobieren?

Wählen Sie Ihr gewünschtes Modell im Marktplatz

Testen Sie Chat-, Bild- und Videomodelle im APIMart-Marktplatz und erleben Sie Modellfunktionen schnell über eine einheitliche API.

Chat-ModelleBildmodelleVideomodelle
Modellmarktplatz öffnen