ByteDance: Seedance 1.0 Pro
Seedance 1.0 Pro erzeugt stummes Video aus Text oder einem Anfangsbild. Beschreiben Sie Aktion und Kamera oder animieren Sie eine vorhandene Komposition, mit einer Dauer von 2–12 Sekunden, 24 fps und ausdrücklichen Einstellungen für Bildformat und Auflösung.
Ü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 1.0 Pro erzeugt ein Video aus Text oder einer bildgestützten Szene. Der Selektor doubao-seedance-1-0-pro-250528 unterstützt beide Eingabemodi. Ausgangspunkt kann daher ein schriftliches Konzept oder eine vorhandene visuelle Komposition sein. Nutzen Sie einen Textauftrag für eine neue Szene oder stellen Sie ein Bild bereit, wenn Motiv, Anordnung und Anfangsansicht visuell festgelegt werden sollen. Dieses 1.0-Profil erzeugt stummes Video; synchronisierter Ton gehört zum separat beschriebenen Profil 1.5 Pro.
Geben Sie für Text-zu-Video Motiv, Umgebung, Bewegung, Bildausschnitt und Kamera in einer zusammenhängenden Szene an. Das dokumentierte Beispiel führt allmählich von einer Gänseblümchenwiese zu einer Nahaufnahme einer Blüte mit Tau auf den Blütenblättern. Diese Struktur eignet sich für andere Enthüllungen: Zeigen Sie zunächst die Umgebung, bewegen Sie sich zum Motiv und enden Sie beim wichtigen Detail. Beschreiben Sie bei einem Produktkonzept neben der Aktion auch Material und Beleuchtung und geben Sie der Kamera einen innerhalb der kurzen Einstellung umsetzbaren Weg vor.
Platzieren Sie für Bild-zu-Video die Referenz in einem Inhaltselement vom Typ image_url und erklären Sie, was sich gegenüber dieser Anfangsansicht ändern soll. Ein vorbereitetes Porträt kann Person und Ausschnitt festlegen, während der Auftrag eine kleine Drehung, bewegtes Haar oder ein sanftes Zurückfahren der Kamera beschreibt. Ein Produktstandbild kann Objekt und Hintergrund bestimmen, während der Prompt eine kontrollierte Enthüllung verlangt. Stimmen Sie die angeforderte Bewegung auf die Ausgangskomposition ab; das Bild einer Objektseite liefert keine genaue Ansicht aller anderen, nicht gezeigten Seiten.
Das Bildfeld akzeptiert eine erreichbare URL oder eine Daten-URL mit Base64-Bilddaten. Die dokumentierten Formate sind JPEG, PNG, WEBP, BMP, TIFF und GIF. Bilder müssen kleiner als 30 MB sein. Das Verhältnis von Breite zu Höhe muss strikt zwischen 0,4 und 2,5 liegen, jede Abmessung strikt zwischen 300 und 6.000 Pixeln. Bereiten Sie eine klare Quelle mit dem gewünschten Ausschnitt vor, statt sich auf ein Vorschaubild zu verlassen, dessen prägende Details bereits fehlen. Für die Bild-zu-Video-Generierung empfiehlt der Leitfaden ein adaptives Bildformat, das den Proportionen der Referenz folgt.
Die dokumentierte Dauer für 1.0 beträgt zwei bis zwölf Sekunden bei einer Bildrate von 24 fps. Die Ausgabeeinstellungen umfassen die Stufen 480p, 720p und 1080p, wobei 1080p der Pro-Standard ist; der Leitfaden schließt 1080p im Szenario mit Referenzbild aus. Zu den festen Formaten gehören 16:9, 4:3, 1:1, 3:4, 9:16 und 21:9. Wählen Sie für eine bildgestützte Einstellung eine bildkompatible Kombination, statt jede Text-zu-Video-Einstellung unverändert zu übertragen. Prüfen Sie den tatsächlich zurückgegebenen Bildausschnitt, bevor Sie den Clip in ein Layout einsetzen.
Neben camerafixed sind Steuerungen für seed und watermark dokumentiert. Die Anweisung für eine feststehende Kamera wird im Szenario mit Referenzbild nicht unterstützt. Auch dort, wo sie anwendbar ist, garantiert der Leitfaden keine vollkommen unbewegliche Kamera. In den Prompt eingebettete Parameteranweisungen haben Vorrang vor separaten optionalen Feldern. Halten Sie jeweils eine maßgebliche Einstellung für Dauer, Auflösung und Seitenverhältnis fest und stimmen Sie die Kamerabeschreibung darauf ab. So überschreibt die Szenenbeschreibung nicht unbemerkt die für die Anfrage ausgewählten Einstellungen.
Der Verbrauch wird in Video-Token gemessen: Ausgabebreite × Ausgabehöhe × Bildrate × Ausgabedauer / 1024. Die abgeschlossene Aufgabe meldet diese Menge als usage.completion_tokens. Bewahren Sie den gemeldeten Verbrauch zusammen mit dem fertigen Clip und seinen angeforderten Einstellungen.
Der Ablauf liefert zuerst eine Aufgabenkennung und nach der Verarbeitung einen Speicherort für das fertige Video. Bewahren Sie die Kennung bei der Prüfung des Warteschlangen- oder Laufstatus; eine erfolgreich abgeschlossene Aufgabe liefert content.video_url und Verbrauchsinformationen. Die dokumentierte Aufbewahrungsfrist generierter Dateien beträgt sieben Tage. Speichern Sie den fertigen Clip, das Ausgangsbild und den genauen Prompt als Überarbeitungsnachweis. Prüfen Sie anschließend Erscheinungsbild des Motivs, Bewegung, Bildkontinuität und Schlusskomposition im gesamten Ergebnis.
Ailoot Ultra · Videogenerierung POST /v1/videos doubao-seedance-1-0-pro-250528
doubao-seedance-1-0-pro-250528
doubao-seedance-1-0-pro-250528Start
Seedance 1.0 Pro erzeugt stummes Video aus Text oder einem Anfangsbild. Beschreiben Sie Aktion und Kamera oder animieren Sie eine vorhandene Komposition, mit einer Dauer von 2–12 Sekunden, 24 fps und ausdrücklichen Einstellungen für Bildformat und Auflösung.
- Zulässige Eingaben
- Text · Bilder
- Ergebnisse
- Video
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Videogenerierung POST /v1/videos
- Eingabetypen
text,image- Ausgabetypen
video
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits doubao-seedance-1-0-pro-250528 | Standard— |
Feldcontent | Typarray | AnforderungErforderlich | Werte und Limits Bedingungen: Native Text- und Medienobjekte; das äußere Array darf nicht leer sein. Verschachtelte Knotentypen werden von diesem generischen Ailoot-Konstruktor nicht validiert. | Standard— |
Feldduration | Typinteger | AnforderungOptional | Werte und Limits Minimum: 2 Maximum: 12 Bedingungen: Primäres 1.x-Schema: 2–12; die spätere gemeinsame Beschreibung nennt für 1.5 den Bereich 4–12 oder -1. Das Beispiel verwendet den in beiden dokumentierten Wert 5. | Standard5 |
Feldresolution | Typstring | AnforderungOptional | Werte und Limits Bedingungen: Bestätigte Werte für Text-zu-Video sind 480p und 1080p. Bei Eingabe von Referenzbildern ist 1080p ausgeschlossen. Der gemeinsame Aufzählungswert 720p widerspricht der modellspezifischen Beschreibung; die Unterstützung von 720p bleibt deshalb in beiden Modi ungeklärt. | Standard1080p |
Feldratio | Typstring | AnforderungOptional | Werte und Limits 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Bedingungen: Szenen- und modellabhängige Standardwerte; die Dokumentation für Bildeingaben empfiehlt adaptive. | Standard— |
Feldservice_tier | Typstring | AnforderungOptional | Werte und Limits default, flex Bedingungen: default=online, flex=offline; vor der Erstellung auswählen. | Standarddefault |
Feldseed | Typinteger | AnforderungErforderlich | Werte und Limits Minimum: -1 Maximum: 4.294.967.295 | Standard-1 |
Feldcamerafixed | Typboolean | AnforderungErforderlich | Werte und Limits Bedingungen: Von Ailoot verlangt; die Kamerasteuerung bei Referenzbildern ist laut Dokumentation nicht unterstützt, und ihre Wirkung wird nicht garantiert. | Standardfalse |
Feldwatermark | Typboolean | AnforderungErforderlich | Werte und Limits | Standardfalse |
Feldexecution_expires_after | Typinteger | AnforderungErforderlich | Werte und Limits Minimum: 3.600 Maximum: 259.200 Einheit: Sekunden | Standard172.800 |
Kombinationen von Eingabematerialien
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragcamerafixed, content, execution_expires_after, model, seed, watermark |
Parameteroptional | Vertragduration, resolution, ratio, service_tier |
Parametermaterial_types | Vertragtext, image |
Parameteradditional_properties | Vertragtrue |
Parametervalidation_scope | VertragAiloot prüft die erforderlichen Feldtypen und ein nicht leeres model/content-Array. Weitere Anfragefelder bleiben für das ausgewählte Modell erhalten. |
Parameterimage_constraints | Vertrag{"formats":["jpeg","png","webp","bmp","tiff","gif"],"aspect_ratio_exclusive":[0.4,2.5],"dimensions_px_exclusive":[300,6000],"file_size_mb_exclusive":30,"mb_bytes_definition":null} |
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 den Auftrag einmal und bewahren Sie die zurückgegebenen öffentlichen Werte id/polling_url auf.
Fragen Sie den ursprünglichen Auftrag regelmäßig ab; laden Sie nach succeeded die tatsächlichen, Ihnen zugeordneten Inhalte unter 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 |
|---|---|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Prognostizierte Menge— | Abrechnungseinheit— | Gebühr Eingabe · Eingabetoken · Schätzung nur zum Vergleich — / 1K Token Ausgabe · Ausgabetoken · Schätzung nur zum Vergleich — / 1K Token Eingabe · Cache-Lesen · Schätzung nur zum Vergleich — / 1K Token Eingabe · Cache-Schreiben · Schätzung nur zum Vergleich — / 1K Token Eingabe · Cache-Schreiben, 1 Stunde · Schätzung nur zum Vergleich — / 1K Token |
| KonfigurationUltra | Tarifstaffel— | Prognostizierte Menge— | Abrechnungseinheitpro 1K Video-Token | Gebühr Ausgabe · Schätzung nur zum Vergleich $0.0044 pro 1K Video-Token |
| KonfigurationGeschätzte Generierungskosten | Tarifstaffel— | Prognostizierte MengeSchätzung für eine Generierung | Abrechnungseinheit— | Gebühr Ausgabe · Geschätzte Generierungskosten · Schätzung nur zum Vergleich $0.2112 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 abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Videogenerierung
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-1-0-pro-250528","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800}
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 · Videogenerierung
Natives JSON mit öffentlichen Werten id/polling_url. Nach der Veröffentlichung enthält content.video_url signierte, Ailoot zugeordnete URL(s); vor der Veröffentlichung werden ausgewählte 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 tatsächlich 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 regelmäßig ab; übermitteln Sie eine Erstellung mit unklarem Ausgang niemals erneut.
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 Pflichtfeldtypen oder ungültiger Inhaltsindex. | Nächster Schritt |
Antwort401 · authentication_error | BedingungUngültiger Ailoot-API-Schlüssel. | Nächster Schritt |
Antwort404 · not_found_error | BedingungAufgabe/Ausgabe fehlt oder ist nicht demselben Benutzer/API-Schlüssel/derselben Gruppe zugeordnet. | Nächster Schritt |
Antwort502 · result_pending_check | BedingungUrsprüngliche Übermittlung/Status unvollständig; ursprüngliche ID aufbewahren, nicht erneut übermitteln. | Nächster Schritt |
Antwort503 · result_pending_check | BedingungUrsprüngliche Medien, Route oder Abrechnung werden geprüft; setzen Sie den ursprünglichen Vorgang fort. | Nächster Schritt |
Aliasnamen
Modellaliasnamen
Ailoot Ultra doubao-seedance-1-0-pro-250528
Aliasnamen für Methodenpfade
/v1/videos/generations
Zugehörige Aufrufer-IDs
FAQ · ByteDance: Seedance 1.0 Pro
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/videos·doubao-seedance-1-0-pro-250528:text,image→video- Welche Felder verwendet die Anfrage?
POST /v1/videos·doubao-seedance-1-0-pro-250528:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after- Welche Grenzen gelten?
POST /v1/videos·doubao-seedance-1-0-pro-250528:duration.minimum:2;duration.maximum:12;seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200