ByteDance: Seedance 2.0
Seedance 2.0 erzeugt und bearbeitet Video anhand von Text sowie Bild-, Video- und Audioreferenzen. Es kann vorhandenes Filmmaterial fortsetzen und synchronisierten Ton erzeugen, mit einer Dauer von 4–15 Sekunden, einer Ausgabe in 480p oder 720p und ausdrücklichen Referenzrollen.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
Seedance 2.0 erzeugt Video aus einer schriftlich beschriebenen Szene oder einer Kombination von Bild-, Video- und Audioreferenzen. Der genaue Selektor doubao-seedance-2-0-260128 bezeichnet das Standardprofil 2.0. Zu seinen dokumentierten Abläufen gehören die Erzeugung neuer Videos, die Bearbeitung und die Verlängerung vorhandenen Filmmaterials. Nutzen Sie Referenzen, um Erscheinungsbild, Bewegung, Kamerasprache und Ton zu vermitteln, und geben Sie anschliessend an, welche Teile der Szene sie steuern sollen.
Text lässt sich allein bereitstellen. Die dokumentierten multimodalen Kombinationen erlauben ausserdem Bilder oder Video mit optionalem Text, Bilder mit Audio, Video mit Audio sowie Bilder, Video und Audio gemeinsam. Audio begleitet in diesen aufgeführten Kombinationen somit visuelle Medien; eine eigenständige Audio-zu-Video-Anfrage wird nicht beschrieben. Formulieren Sie das beabsichtigte Ergebnis auch dort klar, wo Text optional ist, damit die Rolle jeder Referenz ausdrücklich feststeht und nicht aus unverbundenen Materialien erschlossen werden muss.
Das Array content unterscheidet Elemente der Typen text, image_url, video_url und audio_url. Multimodale Referenzen verwenden Rollen wie reference_image, reference_video und reference_audio. Ein Bild kann Person, Objekt, Ort oder Erscheinungsbild festlegen. Ein Video kann eine Darbietung, Bewegung oder Kameraansicht zeigen, und Audio kann eine Tonspur oder das Timing vorgeben. Benennen Sie die Zuordnung im Auftrag: das Motiv aus dem Bild beibehalten, der Kameraansicht des Videos folgen und das Audio als Hintergrund verwenden. Verlangen Sie nicht von jeder Referenz gleichzeitig die Festlegung jeder Eigenschaft.
Das dokumentierte Werbebeispiel kombiniert zwei Produktbilder mit einer Video- und einer Audioreferenz. Es beschreibt eine Anfangsansicht, eine Aktionsfolge, eine Produktnahaufnahme und eine Schlusskomposition und hält dabei die Stimme im Hintergrund konsistent. Dieselbe Struktur kann eine kurze Präsentation ordnen: das Objekt einführen, eine Aktion zeigen und bei seinem erkennbaren Merkmal enden. Benennen Sie für eine Bearbeitung das Ausgangsvideo und das zu ändernde Element. Erklären Sie für eine Verlängerung die Aktion, die über die vorhandene Szene hinaus fortgesetzt wird, während Motiv und Bewegungsrichtung erhalten bleiben.
Das 2.0-Profil dokumentiert eine Dauer in ganzen Sekunden von vier bis fünfzehn oder -1 für eine automatisch gewählte Dauer innerhalb dieses Bereichs. Der Standard beträgt fünf Sekunden. Die Auflösungsoptionen sind 480p und 720p, standardmässig 720p; 1080p ist für 2.0 ausgeschlossen. Zu den festen Seitenverhältnissen gehören 16:9, 4:3, 1:1, 3:4, 9:16 und 21:9. Ein adaptives Seitenverhältnis kann das Format anhand des Prompts oder der Referenz wählen: Bei der Arbeit mit einem Anfangsbild folgt es diesem Bild; bei multimodaler Arbeit nutzt es die beabsichtigte Szene oder das erste relevante Medium, wobei Video Vorrang vor Bildern hat. Prüfen Sie das Aufgabenergebnis auf tatsächliches Seitenverhältnis und tatsächliche Dauer.
Generierter Ton wird getrennt von Referenzmedien gesteuert. generate_audio=true fordert synchronisierte Stimmen, Effekte und Hintergrundmusik auf Grundlage des Textes und visuellen Inhalts an; false verlangt ein stummes Video. Der dokumentierte Standard ist true, und für Sprache wird Dialog in Anführungszeichen empfohlen. Geben Sie an, wer spricht und wie der Ton mit der sichtbaren Aktion zusammenhängt. Prüfen Sie anschliessend den tatsächlichen Wortlaut, die Stimmzuordnung und das Timing. Eine Audioreferenz bereitzustellen und die Tonerzeugung zu aktivieren sind getrennte Anfrageentscheidungen.
Der 2.0-Leitfaden schliesst die älteren Steuerungen frames und camera_fixed aus und unterstützt keine Offline-Verarbeitung mit flex. Verwenden Sie das Feld duration und beschreiben Sie die Kamerabewegung in der Szene selbst. seed und watermark bleiben dokumentierte Steuerungen; laut Leitfaden können dieselbe Anfrage und derselbe seed ähnliche Ergebnisse liefern, ohne eine exakte Identität zu garantieren. Behandeln Sie einen seed nicht als Nachweis der Reproduzierbarkeit und eine wiederholte Anfrage nicht als bereits geprüften Clip.
Der Video-Token-Verbrauch wird wie folgt berechnet: (Dauer des Eingabevideos + Dauer des Ausgabevideos) × Ausgabebreite × Ausgabehöhe × Ausgabebildrate / 1024. Anfragen mit Eingabevideo und Anfragen ohne Eingabevideo haben unterschiedliche Abrechnungskategorien. Die Aufgabenabfrage meldet usage.completion_tokens und usage.total_tokens; bewahren Sie diese gemeldeten Mengen zusammen mit dem fertigen Clip.
Der Ablauf ist asynchron: Das Absenden liefert eine Aufgabenkennung. Die abgeschlossene Aufgabe stellt content.video_url zusammen mit gemeldeter Dauer, Auflösung, Seitenverhältnis, Bildrate und Tokenverbrauch bereit. Bewahren Sie die Kennung und speichern Sie das fertige Video mit den Originalreferenzen und dem Prompt. Das Ablauffeld beträgt standardmässig 172’800 Sekunden und akzeptiert 3’600–259’200 Sekunden ab der Aufgabenerstellung; eine Aufgabe, die das Intervall überschreitet, erhält den Status expired. Prüfen Sie die gesamte Ausgabe einschliesslich des Übergangs bei Bearbeitung oder Fortsetzung auf das Erscheinungsbild der Figuren, die Objektdetails, die räumlichen Beziehungen, die Kamerakontinuität und die zeitliche Ton-Bild-Abstimmung.
Ailoot Ultra · Videoerzeugung POST /v1/videos doubao-seedance-2-0-260128
doubao-seedance-2-0-260128Einstieg
Seedance 2.0 erzeugt und bearbeitet Video anhand von Text sowie Bild-, Video- und Audioreferenzen. Es kann vorhandenes Filmmaterial fortsetzen und synchronisierten Ton erzeugen, mit einer Dauer von 4–15 Sekunden, einer Ausgabe in 480p oder 720p und ausdrücklichen Referenzrollen.
- Zulässige Eingaben
- Text · Bilder · Video · Audio
- Ergebnisse
- Video
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Videoerzeugung POST /v1/videos
- Eingabe
text,image,video,audio- Ausgabe
video
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits doubao-seedance-2-0-260128 | Standard— |
Feldcontent | Typarray | AnforderungErforderlich | Werte und Limits Bedingungen: Native Text- und Medienobjekte; das äussere Array darf nicht leer sein. Dieser generische Konstruktor von Ailoot validiert die Typen verschachtelter Knoten nicht. | Standard— |
Feldgenerate_audio | Typboolean | AnforderungOptional | Werte und Limits Bedingungen: Synchroner Ton, der in das Video eingebettet ist. | Standardtrue |
Feldduration | Typinteger | AnforderungOptional | Werte und Limits Bedingungen: Ganzzahl 4–15 oder -1; die tatsächliche Ausgabedauer wird zurückgegeben. | Standard5 |
Feldresolution | Typstring | AnforderungOptional | Werte und Limits 480p, 720p Bedingungen: 1080p ist für 2.0/fast ausdrücklich nicht unterstützt. | Standard720p |
Feldratio | Typstring | AnforderungOptional | Werte und Limits 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Bedingungen: Adaptive ist ausdrücklich auf 2.0/fast/1.5 begrenzt; das Beispiel für 2.5 verwendet ausschliesslich 16:9. | Standardadaptive |
Feldwatermark | Typboolean | AnforderungOptional | Werte und Limits | Standardfalse |
Feldseed | Typinteger | AnforderungOptional | Werte und Limits Minimum: -1 Maximum: 4'294'967'295 | Standard-1 |
Feldexecution_expires_after | Typinteger | AnforderungOptional | Werte und Limits Minimum: 3'600 Maximum: 259'200 Einheit: Sekunden | Standard172'800 |
Feldservice_tier | Typstring | AnforderungOptional | Werte und Limits default Bedingungen: 2.0/fast schliessen flex für die Offlineverarbeitung aus; der Geltungsbereich für 2.5 ist nicht geklärt. | Standarddefault |
Feldsafety_identifier | Typstring | AnforderungOptional | Werte und Limits | Standard— |
Feldtools | Typobject | AnforderungOptional | Werte und Limits Bedingungen: Nur 2.0/fast; dokumentiert ist type=web_search. | Standard— |
Kombinationen von Eingabematerialien
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragcontent, model |
Parameteroptional | Vertraggenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools |
Parametermaterial_types | Vertragtext, image, video, audio |
Parameteradditional_properties | Vertragtrue |
Parametervalidation_scope | VertragAiloot prüft die erforderlichen Feldtypen sowie ein nicht leeres model/content-Array. Weitere Anfragefelder bleiben für das ausgewählte Modell erhalten. |
Parametermaterial_combinations | Vertragtext, image, video, image, audio, image, video, video, audio, image, video, audio |
Parameteroptional_text_with_media | Vertragtrue |
Parameterreference_media_count_and_size_limits | Vertragnull |
Methodenaliasnamen: /v1/videos/generations
Lebenszyklus: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/videos/generations/{request_id}/content
Erstellen Sie einmal und bewahren Sie die zurückgegebene öffentliche id/polling_url auf.
Fragen Sie den ursprünglichen Auftrag ab; laden Sie nach succeeded die tatsächliche, Ihnen zugeordnete Ausgabe aus content.video_url herunter.
Tarife
So wird die endgültige Gebühr berechnet
Die angezeigten Tarife dienen zur Kostenschätzung vor der Generierung. Der endgültige Betrag wird aus den für die ursprüngliche Generierung erfassten Kosten berechnet. Die gemessene Ausgabedauer und prognostizierte Mengen sind nicht die endgültige abrechenbare Menge.
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Geschätzte Tarife zum Vergleich
Preise nach Konfiguration
Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.
| Konfiguration | Tarifstaffel | Prognostizierte Menge | Abrechnungseinheit | Gebühr |
|---|---|---|---|---|
| KonfigurationToken-Basistarife | TarifstaffelGrundtarif | Prognostizierte Menge— | Abrechnungseinheit— | Gebühr Eingabe · Eingabetoken · Schätzung nur zum Vergleich — / 1K Tokens Ausgabe · Ausgabetoken · Schätzung nur zum Vergleich — / 1K Tokens Eingabe · Cache lesen · Schätzung nur zum Vergleich — / 1K Tokens Eingabe · Cache schreiben · Schätzung nur zum Vergleich — / 1K Tokens Eingabe · Cache schreiben, 1 Stunde · Schätzung nur zum Vergleich — / 1K Tokens |
| KonfigurationEingabe mit Videoreferenz. | Tarifstaffel— | Prognostizierte Menge— | Abrechnungseinheitpro 1K Video-Tokens | Gebühr Ausgabe · Schätzung nur zum Vergleich $0.0096 pro 1K Video-Tokens |
| KonfigurationEingabe ohne Videoreferenz. | Tarifstaffel— | Prognostizierte Menge— | Abrechnungseinheitpro 1K Video-Tokens | Gebühr Ausgabe · Schätzung nur zum Vergleich $0.015768 pro 1K Video-Tokens |
| KonfigurationGeschätzte Erzeugungskosten | Tarifstaffel— | Prognostizierte MengeSchätzung für eine Generierung | Abrechnungseinheit— | Gebühr Ausgabe · Geschätzte Generierungskosten · Schätzung nur zum Vergleich $0.822402 Schätzung vor der Generierung Diese Schätzung ist weder eine zusätzliche Gebühr noch ein fester Tarif für die abgeschlossene Generierung. |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschliessenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Videoerzeugung
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-0-260128","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}]}
JSON_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i.startswith("native302_"):raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("status")!="succeeded":raise SystemExit("Poll same original job until an owned result is returned.")
u=r.get("content",{}).get("video_url")
urls=[u] if isinstance(u,str) else u
if not isinstance(urls,list) or not urls:raise SystemExit("No completed video URL.")
for u in urls:
if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for actual Ailoot-owned signed result.")
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
index=$((index + 1))
done < asset-urls.txt
Ergebnisse abrufen und speichern
Ailoot Ultra · Videoerzeugung
Natives JSON mit öffentlicher id/polling_url. Nach der Veröffentlichung enthält content.video_url signierte URLs unter Kontrolle von Ailoot; vor der Veröffentlichung werden die ausgewählten Ausgabe-URLs geleert.
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Alle fertiggestellten Ergebnisse aufbewahren
Speichern Sie jedes fertiggestellte Video oder jede zurückgegebene Datei; rufen Sie jede tatsächlich zurückgegebene Datei-URL ab.
Bewahren Sie jede tatsächliche URL in content.video_url auf; index muss eine reale zurückgegebene Ausgabe bezeichnen.
Wenn die ursprüngliche Antwort geprüft werden muss
Bewahren Sie die ursprüngliche Antwort, Header und id auf und fragen Sie diesen Vorgang ab; reichen Sie eine Erstellung mit unbekanntem Ausgang niemals erneut ein.
Antwortfelder
| Feld | Typ |
|---|---|
Feldid | Typstring |
Feldprovider_task_id | Typstring |
Feldpolling_url | Typstring |
Feldstatus | Typstring when supplied |
Feldcontent.video_url | Typstring|string[] |
Feldusage | Typobject when supplied |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungUngültiges JSON/Modell, ungültige Typen von Pflichtfeldern oder ungültiger Inhaltsindex. | Nächster Schritt |
Antwort401 · authentication_error | BedingungUngültiger API-Schlüssel von Ailoot. | Nächster Schritt |
Antwort404 · not_found_error | BedingungAufgabe oder Ausgabe fehlt oder gehört nicht demselben Benutzer, API-Schlüssel und derselben Gruppe. | Nächster Schritt |
Antwort502 · result_pending_check | BedingungUrsprüngliche Einreichung oder Status unvollständig; ursprüngliche ID aufbewahren, nicht erneut einreichen. | Nächster Schritt |
Antwort503 · result_pending_check | BedingungUrsprüngliches Medium, Route oder Abrechnung wird geprüft; setzen Sie den ursprünglichen Vorgang fort. | Nächster Schritt |
Aliasnamen
Modellaliasnamen
Ailoot Ultra doubao-seedance-2-0-260128
Aliasnamen für Methodenpfade
/v1/videos/generations
Zugehörige Aufrufer-IDs
FAQ · ByteDance: Seedance 2.0
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/videos·doubao-seedance-2-0-260128:text,image,video,audio→video- Welche Felder verwendet die Anfrage?
POST /v1/videos·doubao-seedance-2-0-260128:model,content,generate_audio,duration,resolution,ratio,watermark,seed,execution_expires_after,service_tier,safety_identifier,tools- Welche Grenzen gelten?
POST /v1/videos·doubao-seedance-2-0-260128:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200