Zum Inhalt springen

UlazAI Entwicklerdokumentation

Seedance API-Dokumentation: Generierung, Status, 1080p und Preise

Seedance 1.5 Pro-Referenz

Seedance API-Dokumente

Um das zu nutzen Seedance API, authentifizieren Sie sich mit einem Inhaberschlüssel, verwenden Sie POST /seedance/generate/ um Arbeitsplätze zu schaffen und Umfragen durchzuführen GET /seedance/status/{generation_id}/ bis das Video fertig ist. UlazAI unterstützt derzeit die Seedance 1.5 Pro-Ausgabe in 480p, 720p und 1080p mit 4, 8 oder 12 Sekunden Dauer.

Kernendpunkte

POST /seedance/upload/

POST /seedance/generate/

GET /seedance/status/{generation_id}/

Aktuelle Fähigkeiten

Text-zu-Video und Bild-zu-Video

Bis zu 2 Leitbilder

Optionales natives Audio

Tipp

Diese Seite beantwortet den gesamten Entwicklerablauf im ersten Bildschirm: den Generierungsendpunkt, Statusabfrage, 1080p-Unterstützung, Bearer-Authentifizierung und die Preisroute.

Benutzen /seedance/upload/ nur, wenn Sie eine bildgesteuerte Videogenerierung benötigen. Für Nur-Text-Läufe rufen Sie an /seedance/generate/ direkt und überspringen Sie den Upload-Schritt.

Die Seedance-Modellfamilie: 1.5 Pro, 2.0 und 2.5

Seedance ist das Text-zu-Video- und Bild-zu-Video-Modell von ByteDance. ByteDance startete den ersten Seedance im Juni 2025, freigegeben Seedance 2.0 im Februar 2026 und wurde seitdem gezeigt Saatgut 2.5. Jeder Generation treibt die gleiche Kernidee weiter voran: filmische Bewegung, stärkere prompt-Verfolgung, Szenen mit mehreren Einstellungen, Bild- und Videoreferenzen sowie optional natives Audio in einem einzigen Rendering. Der API-Leitfaden behandelt die derzeit unterstützten Seedance-Versionen, ohne dass Sie die eigene Plattform von ByteDance einrichten müssen.

VersionVeröffentlicht von ByteDanceWas es hinzufügt
Seedance 1.5 Pro2025Text- und Bild-zu-Video, bis zu 2 Leitbilder, optionaler Ton, 480p/720p/1080p. Heute mit UlazAI verkabelt.
Seedance 2.0Februar 2026Multimodale Eingaben (Text, Bild, Video, Audio), Storytelling mit mehreren Kameras, native Audio-Kogeneration, längere Clips.
Seedance 2.52026Der neueste Schritt, den ByteDance gezeigt hat, zielt auf eine schnellere Generierung und weitere Qualitäts- und Kontrollgewinne ab.

Gleicher Code, neueres Modell

Der öffentliche API von UlazAI generiert mit bytedance/seedance-1.5-pro heute. Der wichtige Teil für Entwickler: Wenn hier eine neuere Seedance-Version aktiviert ist, wird diese wiederverwendet gleich Trägerauthentifizierung und die gleich Unten finden Sie die Endpunkte zum Generieren und Abfragen. Ihre Integration ändert sich nicht – nur die Modellkennung Sie können jetzt auf dieser Referenz aufbauen und die Familie später nach oben verschieben.

ByteDance und ARK: das offizielle Modell, eine einheitliche Route

Menschen auf der Suche nach Offizielle Dokumentation von ByteDance Seedance oder die Arche Seedance API suchen normalerweise nach zwei verschiedenen Dingen: dem Modell selbst und einer Möglichkeit, es tatsächlich zu benennen. Seedance ist ByteDance eigenes Modell, veröffentlicht über ByteDances Volcano Engine ARK Plattform. Dieser Weg bedeutet die Einrichtung einer ARK Konto, Regionszugriff und Rohmodellendpunkte.

UlazAI befindet sich davor als API-Schicht eines Drittanbieters. Du bekommst ein Inhaberschlüssel, ein gehosteter Bild hochladen Schritt, ein gemeinsames Guthaben-Wallet und die kleinen Endpunkte auf dieser Seite – kein ARK Onboarding, kein regionaler Workaround und kein VPN oder chinesische Telefonnummer, um das Modell zu erreichen. Wenn Sie gezielt gesucht haben ARK API Seedance-Bild-Upload, das Äquivalent hier ist ein einzelner Aufruf: POST /seedance/upload/ gibt eine permanente URL zurück, in die Sie eintauchen input_urls beim Generieren (siehe den Upload-Endpunkt unten).

ARK-Konzepte sind diesem API zugeordnet

Wenn Sie die ARK-Dokumentation von ByteDance bereits gelesen haben, ist das Vokabular anders, aber das Schritte sind gleich. Dies ist die direkte Übersetzung:

Auf ByteDance ARK Hier Was sich für Sie ändert
ARK-Konto-, Projekt- und Endpunkt-Einrichtung Ein Inhaberschlüssel Kein Plattform-Onboarding vor dem ersten Anruf.
Hosten Sie das Leitfadenbild selbst und übergeben Sie eine öffentliche URL POST /seedance/upload/ Sie können die Rohdatei senden; Die Antwort gibt Ihnen eine permanente URL.
Modell-ID im Anfragetext model Feld Gleiche Idee; Lediglich die Kennung ändert sich zwischen den Versionen.
Fragen Sie die Aufgabe ab, bis sie abgeschlossen ist GET /seedance/status/{generation_id}/ Gleiche Abfrageform, ein Endpunkt.

Bild-zu-Video in zwei Anrufen

Dies ist der gesamte Bild-Upload-Ablauf. Der erste Aufruf speichert das Bild und gibt eine URL zurück, Beim zweiten Aufruf wird diese URL als visuelle Anleitung für das Video verwendet.

Links ein hochgeladenes Standbild, das rechts eine Folge generierter Videobilder speist
# 1. upload the guide image
curl -X POST https://ulazai.com/seedance/upload/ \
  -H "Authorization: Bearer $ULAZAI_API_KEY" \
  -F "[email protected]"

# -> {"url": "https://cdn.ulazai.com/uploads/<id>.jpg"}

# 2. generate, passing that URL back in input_urls
curl -X POST https://ulazai.com/seedance/generate/ \
  -H "Authorization: Bearer $ULAZAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "prompt": "slow dolly in, warm evening light",
        "input_urls": ["https://cdn.ulazai.com/uploads/<id>.jpg"],
        "resolution": "1080p"
      }'

Sie können bis zu zwei URLs übergeben input_urls. Zwei Bilder werden als Start gelesen und Endverweis, was die übliche Methode ist, um einen Charakter oder ein Produkt über die gesamte hinweg konsistent zu halten Clip. Überspringen Sie für die Nur-Text-Generierung den Upload-Aufruf vollständig.

Kurze Zusammenfassung der Integration

Auth Inhaber API Schlüssel von /dashboard/ -> API-Schlüssel
Modell-ID bytedance/seedance-1.5-pro
Dauer 4er, 8er, 12er
Vorsätze 480p, 720p, 1080p
Seitenverhältnisse 1:1, 21:9, 4:3, 3:4, 16:9, 9:16
Eingaben Nur Prompt oder prompt plus bis zu 2 Bild-URLs
Abfragefluss Job erstellen, speichern generation_id, dann Status abfragen bis completed

Zusammenfassung des öffentlichen Endpunkts

Methode Endpunkt Wann sollte man es verwenden?
POST /seedance/upload/ Laden Sie zuerst ein Bild hoch, wenn Sie eine Bild-zu-Video-Anleitung wünschen
POST /seedance/generate/ Erstellen Sie einen Seedance 1.5 Pro-Generierungsauftrag
ERHALTEN /seedance/status/{generation_id}/ Überprüfen Sie, ob der Job noch verarbeitet wird, abgeschlossen ist oder fehlgeschlagen ist

Authentifizierung

Für alle API-Anfragen ist ein Bearer-Token erforderlich:

Authorization: Bearer YOUR_API_KEY

Holen Sie sich einen API-Schlüssel von Ihrem Dashboard unten API-Schlüssel. Wenn Sie noch Credits benötigen, gehen Sie zu Pakete zuerst.

POST /seedance/upload/

Laden Sie Eingabebilder zur Bild-zu-Video-Anleitung hoch

Laden Sie vor der Generierung ein Leitbild hoch, wenn Sie möchten, dass Seedance die Komposition, den Charakterrahmen oder die Szeneneinrichtung verankert. Die Antwort gibt Ihnen eine permanente URL zur Weitergabe an input_urls.

Header anfordern

Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data

Formulardatenparameter

Datei * (Datei)

JPG, PNG oder WebP, bis zu 10 MB.

Erfolgsantwort (200)

{
  "success": true,
  "url": "https://media.ulazai.com/seedance_images/u1_abc123.jpg",
  "filename": "seedance_images/u1_abc123.jpg"
}

Beispielverwendung (cURL)

curl -X POST https://api.ulazai.com/seedance/upload/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@/path/to/image.jpg"
POST /seedance/generate/

Erstellen Sie eine Seedance 1.5 Pro-Generierungsaufgabe

Senden Sie entweder die vereinfachte Nutzlast unten oder die explizite model plus input formatieren. Verwenden Sie die vereinfachte Version, wenn Sie nur die öffentliche Seedance-Route mit prompt, optionalen Leitbildern und Ausgabeeinstellungen benötigen.

Anfragetext (einfach)

{
  "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
  "input_urls": ["https://media.ulazai.com/seedance_images/u1_abc123.jpg"],
  "aspect_ratio": "16:9",
  "resolution": "1080p",
  "duration": "4",
  "fixed_lens": true,
  "generate_audio": false,
  "prompt_directory_optin": true
}

Anforderungstext (Modell/Eingabestil)

{
  "model": "bytedance/seedance-1.5-pro",
  "input": {
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "input_urls": ["https://media.ulazai.com/seedance_images/u1_abc123.jpg"],
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": "8",
    "fixed_lens": true,
    "generate_audio": true
  }
}

Parameter

prompt * (Zeichenfolge)

3 bis 2500 Zeichen, die die Szene, die Bewegung, den Rahmen und die Audioabsicht beschreiben.

input_urls (Array)

Optional. Bis zu 2 Bild-URLs für die Bild-zu-Video-Anleitung.

aspect_ratio (Zeichenfolge)

Einer von: 1:1, 21:9, 4:3, 3:4, 16:9, 9:16.

Auflösung (Zeichenfolge)

Eines von: 480p, 720p, 1080p.

Dauer (Zeichenfolge)

4, 8 oder 12 Sekunden.

fixed_lens (Boolescher Wert)

Aktivieren Sie diese Option für eine stabilere Kameraansicht.

generate_audio (Boolescher Wert)

Aktivieren Sie die synchronisierte Audiogenerierung. Dadurch erhöht sich der Kreditverbrauch.

prompt_directory_optin (Boolescher Wert)

Optional. Teilen Sie berechtigte prompts im prompt-Verzeichnis und gewähren Sie einen Rabatt, wenn sie unterstützt werden.

Erfolgsantwort (200)

{
  "success": true,
  "generation_id": "abc12345-1234-1234-1234-123456789012",
  "task_id": "seedance_task_xyz789",
  "credits_used": 40,
  "directory_discount_applied": true,
  "message": "Video generation started. This may take a few minutes."
}
ERHALTEN /seedance/status/{generation_id}/

Status der Umfrageaufgabe

Fragen Sie diesen Endpunkt ab, bis der Job beendet wird processing. Bei Erfolg erhalten Sie eine Video-URL zurück; auf Misserfolg Sie sollten den Fehler untersuchen und es mit einer korrigierten Nutzlast erneut versuchen.

Antwort wird verarbeitet

{
  "success": true,
  "status": "processing",
  "message": "Video is being generated..."
}

Erfolgsantwort (200)

{
  "success": true,
  "status": "completed",
  "video_url": "https://media.ulazai.com/seedance_outputs/video.mp4"
}

Codebeispiele: cURL, Python und JavaScript

Der vollständige Ablauf ist Senden → Speichern generation_id → Umfragestatus. Hier ist der Generate-Aufruf in drei gängigen Stapeln; Tauschen Sie Ihren eigenen Schlüssel und prompt ein.

cURL

curl -X POST https://api.ulazai.com/seedance/generate/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "duration": "4"
  }'

Python (Anfragen)

import time, requests

BASE = "https://api.ulazai.com"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}

# 1. Start the job
job = requests.post(f"{BASE}/seedance/generate/", headers=HEADERS, json={
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "duration": "4",
}).json()
generation_id = job["generation_id"]

# 2. Poll until it leaves "processing"
while True:
    status = requests.get(f"{BASE}/seedance/status/{generation_id}/", headers=HEADERS).json()
    if status.get("status") == "completed":
        print("Video:", status["video_url"])
        break
    if status.get("status") == "failed":
        raise RuntimeError(status)
    time.sleep(8)  # back off; do not hammer generate

JavaScript (Abruf)

const BASE = "https://api.ulazai.com";
const HEADERS = { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" };

const job = await fetch(`${BASE}/seedance/generate/`, {
  method: "POST",
  headers: HEADERS,
  body: JSON.stringify({
    prompt: "A cinematic close-up of a chef flipping noodles in slow motion",
    aspect_ratio: "16:9",
    resolution: "1080p",
    duration: "4",
  }),
}).then(r => r.json());

const id = job.generation_id;
let video;
while (!video) {
  const s = await fetch(`${BASE}/seedance/status/${id}/`, { headers: HEADERS }).then(r => r.json());
  if (s.status === "completed") video = s.video_url;
  else if (s.status === "failed") throw new Error(JSON.stringify(s));
  else await new Promise(r => setTimeout(r, 8000));  // poll every ~8s
}
console.log("Video:", video);

Nutzungsfluss

  1. Laden Sie ein oder zwei Leitbilder mit hoch /seedance/upload/ Nur wenn Sie eine Bild-zu-Video-Anleitung benötigen.
  2. Rufen Sie an /seedance/generate/ mit Ihrem prompt, Ausgabeeinstellungen und optional input_urls.
  3. Bewahren Sie die zurückgegebene Ware auf generation_id.
  4. Umfrage /seedance/status/{generation_id}/ bis status wird completed.
  5. Verwenden Sie die zurückgegebenen video_url um das endgültige Asset herunterzuladen, einzubetten oder in Ihren eigenen Workflow zu übergeben.

Fehlercodes

400 Ungültige Anforderungsparameter

401 Authentifizierung fehlgeschlagen (fehlender oder ungültiger API-Schlüssel)

402 Unzureichende Credits

429 Ratenlimit überschritten

500 Interner Serverfehler

Preise und Tarifgrenzen

Die Seedance-Abrechnung auf UlazAI erfolgt auf Basis von Credits, die Kosten richten sich also nach der Auflösung und Dauer und nicht nach einem festen Satz pro Sekunde. Nutzen Sie dies als Planungsleitfaden; Die Live-Credit-Kosten werden in angezeigt Pakete und zur Wunschzeit.

AusgabeTypische VerwendungKostentreiber
480pEntwürfe und schnelle IterationenNiedrigste Credits pro Sekunde
720pSocial-ready-ClipsMittlere Credits pro Sekunde
1080pEndgültige LieferungHöchste Credits pro Sekunde; Längere Laufzeiten kosten mehr

Tarifbegrenzungen und 429-Handhabung: Wenn Sie viele Jobs parallel einreichen, erhalten Sie möglicherweise 429 Rate limit exceeded. Behandeln Sie den API als auftragsbasiert: Senden, speichern generation_id, und Umfrage /seedance/status/{generation_id}/ alle 5-10 Sekunden statt Hämmern erzeugen. Auf einem 429, warten Sie exponentiell ab (z. B. 2 Sekunden, 4 Sekunden, 8 Sekunden), bevor Sie es erneut versuchen.

Seedance 1.5 Pro vs. Seedance 2.0: Diese Referenz deckt ab bytedance/seedance-1.5-pro, das Modell, das derzeit mit Video Studio verbunden ist. ByteDance hat inzwischen Seedance 2.0 als nächste Generation eingeführt; Wenn es hier aktiviert ist, verwendet es denselben Generierungs- und Abfragefluss und dieselbe Authentifizierung, sodass sich der Integrationscode nicht ändert – nur die Modellkennung.

Häufig gestellte Fragen

Unterstützt der UlazAI Seedance API Seedance 2.0 und 2.5?

Der API generiert mit bytedance/seedance-1.5-pro heute. ByteDance veröffentlichte Seedance 2.0 im Februar 2026 und hat seitdem 2.5 gezeigt. Wenn hier eine neuere Version aktiviert ist, verwendet sie dieselbe Bearer-Authentifizierung und dieselben Generierungs- und Abfrageendpunkte, sodass sich Ihr Integrationscode nicht ändert – nur die Modellkennung.

In welcher Beziehung steht UlazAI zum offiziellen Seedance / ARK API von ByteDance?

Seedance ist das eigene Modell von ByteDance, das über die Volcano Engine ARK-Plattform von ByteDance angeboten wird. UlazAI ist eine API-Schicht eines Drittanbieters, die Seedance hinter einer vereinfachten Route mit einem einzigen Bearer-Schlüssel, gehostetem Bild-Upload und einem gemeinsamen Guthaben-Wallet ausführt – kein ARK-Konto oder Rohmodell-Endpunkte müssen verwaltet werden.

Wie lade ich ein Bild für Seedance Image-to-Video hoch?

Senden Sie das Bild als Multipart/Formulardaten an POST /seedance/upload/ mit Ihrem Inhaberschlüssel. Die Antwort gibt eine permanente URL zurück; Geben Sie es (bis zu zwei) im input_urls Array auf POST /seedance/generate/. Nur-Text-prompts überspringen den Upload-Schritt.

Wie viel kostet der Seedance API?

Die Abrechnung erfolgt über Credits, sodass die Kosten je nach Auflösung und Dauer skalieren. Ein kurzer 480p-Entwurf kostet die wenigsten Credits; Am meisten kostet ein 12-sekündiges 1080p-Rendering mit Audio. Die genauen Kosten finden Sie in Pakete und wieder als credits_used in der generierten Antwort.

Ist Seedance weltweit über API verfügbar?

Ja. Sie rufen die gehosteten HTTPS-Endpunkte von UlazAI mit einem Bearer-Schlüssel an, sodass kein VPN, keine regionale Problemumgehung oder keine chinesische Telefonnummer erforderlich ist. Jeder Server, der eine authentifizierte HTTPS-Anfrage stellen kann, kann Jobs senden und Ergebnisse abfragen.

Wohin als nächstes?