ByteDance: Seedance 2.5
Seedance 2.5 erstellt Video aus Text sowie Bild-, Video- oder Audioreferenzen, mit dokumentierten Abläufen zur Bearbeitung und Verlängerung. Sein konkretes 2.5-Beispiel verbindet ein Produktbild mit mehreren Bewegungsreferenzen und aktiviert generierten Ton für eine abgestimmte Werbesequenz.
Ü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.5 erstellt Video anhand einer schriftlich beschriebenen Szene und multimodaler Referenzen. Der genaue Selektor doubao-seedance-2-5-260628 besitzt einen eigenen dokumentierten Bedienungsablauf und ein eigenes Beispiel. Dieser Ablauf beschreibt Videoerzeugung, Videobearbeitung und Videoverlängerung mit Bildern, Video, Audio und Text als Eingabemedien. Nutzen Sie die Referenzen, um Erscheinungsbild des Motivs, Aktion, Kamerabewegung, Stil und Ton zu vermitteln, und erläutern Sie dann das daraus zu erzeugende Ergebnis.
Zu den Eingabekombinationen gehören Text allein, Bilder oder Video mit optionalem Text, Bilder mit Audio, Video mit Audio sowie Bilder, Video und Audio gemeinsam. Die aufgeführten Kombinationen verbinden Audio mit visuellen Medien und beschreiben keine reine Audioanfrage. Ordnen Sie jedes Element nach seiner Rolle: Ein Bild legt ein Motiv oder Erscheinungsbild fest, ein Video zeigt Bewegung oder eine bestehende Szene und Audio liefert eine Tonreferenz. Geben Sie an, welche Rolle für die angeforderte Einstellung wichtig ist, damit eine Hintergrundreferenz nicht mit der Hauptfigur verwechselt wird.
Das konkrete 2.5-Beispiel ist eine Produktwerbesequenz. Es stellt ein Bild und mehrere Videoreferenzen bereit und beschreibt dann einen anfänglichen Fokus, geordnete Produktanordnungen, Detailaufnahmen, eine Zeitlupenaktion und eine abschliessende Markenkomposition. Die Anfrage weist die Rollen reference_image und reference_video zu und nutzt einzelne Referenzen für Komposition, Bewegung, Kameraführung und Wirkung. Daraus ergibt sich eine praktische Struktur für ein Kampagnenkonzept: die sichtbaren Handlungsschritte planen, für jeden Schritt die Referenz benennen und die Schlussanordnung vorgeben.
Eine schriftliche Sequenz kann unterscheiden, was geschieht und wie es gefilmt wird. Beschreiben Sie zuerst die Produktaktion und dann Einstellungsgrösse, Kameraweg, Tempo und Übergang zur nächsten Ansicht. Wenn eine Referenz das Produkt festlegt und eine andere eine Kamerabewegung zeigt, benennen Sie diese getrennten Zuständigkeiten. Erklären Sie bei einer Szene mit mehreren Objekten ihre Positionen und die Reihenfolge der Interaktionen. Prüfen Sie das generierte Ergebnis auf tatsächliche Produktform, Anordnung und Bewegung, statt anzunehmen, dass jedes Referenzdetail unverändert erscheint.
Benennen Sie für eine Bearbeitung das vorhandene Video und das zu überarbeitende Element, etwa Umgebung, Aktion oder visuellen Stil, und geben Sie zugleich die zu bewahrende Kontinuität an. Beschreiben Sie für eine Verlängerung, wie die Szene ausgehend vom bereitgestellten Filmmaterial weitergehen soll. Prüfen Sie sowohl den Übergang als auch den neuen Abschnitt: Erscheinungsbild des Motivs, Bewegungsrichtung, Kameraposition und zeitliche Tonabstimmung beeinflussen, ob das Ergebnis als eine zusammenhängende Szene wirkt. Halten Sie das Originalvideo und die fertige Überarbeitung zusammen, damit die Änderung anhand der beabsichtigten Kontinuität geprüft werden kann.
Das dokumentierte multimodale Beispiel für 2.5 setzt generate_audio=true und fordert eine fünfzehnsekündige Sequenz im Format 16:9 an. Diese Werte beschreiben das Beispiel und kein allgemeines Dauermaximum oder Limit für Referenzmaterial. Beschreiben Sie für die angeforderte Szene die gewünschte Klanggestaltung, einschliesslich des Zusammenhangs zwischen Musik, Effekten und sichtbarer Aktion, und beurteilen Sie dann die tatsächliche audiovisuelle Ausgabe. Prüfen Sie Tonreferenz und generierte Tonspur gemeinsam auf das gewünschte Tempo und die gewünschte Darbietung.
Wählen Sie Dauer, Bildformat und Auflösung aus den für dieses konkrete Profil angebotenen Einstellungen. Bewahren Sie die angeforderte Konfiguration zusammen mit dem Prompt und vergleichen Sie sie mit den tatsächlich zurückgegebenen Aufgabenfeldern. Nutzen Sie die zurückgegebene Dauer, Auflösung und das zurückgegebene Seitenverhältnis bei der Vorbereitung des fertigen Clips für seinen Verwendungszweck. Bewahren Sie die genaue Profilkennung im Überarbeitungsnachweis, damit ein späterer Vergleich dieselbe ausgewählte Edition verwendet.
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.
Die Generierung erfolgt asynchron. Das Absenden liefert eine Kennung, und der konfigurierte Aufgabenablauf stellt den Status sowie nach erfolgreichem Abschluss content.video_url bereit. Speichern Sie den fertigen Clip zusammen mit den Ausgangsmedien und der Sequenzbeschreibung. Prüfen Sie sämtliche geplanten Handlungsschritte, Objektinteraktionen, das Erscheinungsbild der Figuren, Bildausschnitte und die Tonabstimmung im gesamten Ergebnis. Benennen Sie für eine Überarbeitung das konkrete verfehlte Detail und bewahren Sie die erfolgreichen Teile der Szene, statt den gesamten Auftrag durch unverbundene Anweisungen zu ersetzen.
Ailoot Ultra · Videoerzeugung POST /v1/videos doubao-seedance-2-5-260628
doubao-seedance-2-5-260628Einstieg
Seedance 2.5 erstellt Video aus Text sowie Bild-, Video- oder Audioreferenzen, mit dokumentierten Abläufen zur Bearbeitung und Verlängerung. Sein konkretes 2.5-Beispiel verbindet ein Produktbild mit mehreren Bewegungsreferenzen und aktiviert generierten Ton für eine abgestimmte Werbesequenz.
- 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-5-260628 | 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: Das Beispiel für 2.5 setzt true, der kopierte Beschreibungstext zur Auswahl nennt jedoch nur 2.0/fast/1.5; eine weitergehende Zusicherung für Einstellungen oder Standardwerte besteht nicht. | Standard— |
Feldduration | Typinteger | AnforderungOptional | Werte und Limits Bedingungen: Der wörtliche Beispielwert 15 für 2.5 ist weder ein Höchstwert noch ein Standardwert. | Standard— |
Feldresolution | Typstring | AnforderungOptional | Werte und Limits Bedingungen: Aus kopierten Beschreibungen werden weder Standardwerte noch Enum-Werte speziell für 2.5 abgeleitet. | Standard— |
Feldratio | Typstring | AnforderungOptional | Werte und Limits Bedingungen: Adaptive ist ausdrücklich auf 2.0/fast/1.5 begrenzt; das Beispiel für 2.5 verwendet ausschliesslich 16:9. | Standard— |
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 Bedingungen: 2.0/fast schliessen flex für die Offlineverarbeitung aus; der Geltungsbereich für 2.5 ist nicht geklärt. | Standard— |
Feldsafety_identifier | Typstring | AnforderungOptional | Werte und Limits | 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 |
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.012 pro 1K Video-Tokens |
| KonfigurationEingabe ohne Videoreferenz. | Tarifstaffel— | Prognostizierte Menge— | Abrechnungseinheitpro 1K Video-Tokens | Gebühr Ausgabe · Schätzung nur zum Vergleich $0.02 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-5-260628","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-5-260628
Aliasnamen für Methodenpfade
/v1/videos/generations
Zugehörige Aufrufer-IDs
FAQ · ByteDance: Seedance 2.5
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/videos·doubao-seedance-2-5-260628:text,image,video,audio→video- Welche Felder verwendet die Anfrage?
POST /v1/videos·doubao-seedance-2-5-260628:model,content,generate_audio,duration,resolution,ratio,watermark,seed,execution_expires_after,service_tier,safety_identifier- Welche Grenzen gelten?
POST /v1/videos·doubao-seedance-2-5-260628:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200