ByteDance: Seedance 1.0 Pro
Seedance 1.0 Pro genererar video utan ljud från text eller en startbild. Beskriv handling och kamera eller animera en befintlig komposition, med en längd på 2–12 sekunder, 24 fps och uttryckliga kontroller för utdatans bildformat och upplösning.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
Seedance 1.0 Pro genererar video från text eller en bildstyrd scen. Väljaren doubao-seedance-1-0-pro-250528 stöder båda indatalägena, så utgångspunkten kan vara ett skrivet koncept eller en befintlig visuell komposition. Använd en textbeskrivning för att skapa en ny scen eller tillhandahåll en bild när motiv, placering och öppningsbild ska fastställas visuellt. Den här profilen 1.0 producerar video utan ljud; synkroniserat ljud hör till den separat beskrivna profilen 1.5 Pro.
För text-till-video anger du motiv, miljö, rörelse, bildutsnitt och kamera i en sammanhängande scen. Det dokumenterade exemplet rör sig gradvis från ett fält med prästkragar till en närbild av en blomma med dagg på kronbladen. Strukturen är användbar för andra presentationer: etablera miljön, rör dig mot motivet och avsluta med den viktiga detaljen. För ett produktkoncept beskriver du material och ljussättning utöver handlingen och ger kameran en genomförbar bana genom den korta tagningen.
För bild-till-video placerar du referensen i ett content-objekt av typen image_url och förklarar vad som ska förändras från startbilden. Ett förberett porträtt kan definiera personen och beskärningen medan beskrivningen anger en liten vridning, hår i rörelse eller en mjuk kameraåkning bakåt. En produktstillbild kan fastställa föremålet och bakgrunden medan prompten begär en kontrollerad presentation. Håll den begärda rörelsen förenlig med källkompositionen; en bild av en sida av ett föremål ger inte en korrekt bild av alla andra sidor som inte visas.
Bildfältet accepterar en åtkomlig URL eller en data-URL med Base64-bilddata. De dokumenterade formaten är JPEG, PNG, WEBP, BMP, TIFF och GIF. Bilderna måste vara mindre än 30 MB, med ett bredd-höjd-förhållande strikt mellan 0,4 och 2,5 och varje dimension strikt mellan 300 och 6 000 pixlar. Förbered en tydlig källa med den avsedda beskärningen i stället för att förlita dig på en miniatyrbild där de avgörande detaljerna redan saknas. För bild-till-video rekommenderar guiden ett adaptivt bildformat som följer referensens proportioner.
Den dokumenterade längden för 1.0 är två till tolv sekunder och bildfrekvensen är 24 fps. Utdatakontrollerna omfattar nivåerna 480p, 720p och 1080p, med 1080p som standardvärde för Pro; guiden utesluter 1080p i scenariot med referensbild. Fasta format omfattar 16:9, 4:3, 1:1, 3:4, 9:16 och 21:9. Välj en bildkompatibel kombination för en bildstyrd tagning i stället för att överföra alla text-till-video-inställningar oförändrade. Kontrollera det faktiska returnerade bildformatet innan du placerar klippet i en layout.
Kontroller för seed och vattenstämpel dokumenteras tillsammans med camerafixed. Instruktionen om fast kamera stöds inte i scenariot med referensbild, och där den gäller garanterar guiden inte en helt stillastående kamera. Parameterinstruktioner inbäddade i prompten har företräde framför separata valfria fält. Behåll en enda styrande inställning för längd, upplösning och bildförhållande och låt kamerabeskrivningen stämma med den. Det hindrar scenbeskrivningen från att i tysthet åsidosätta de inställningar som valts för begäran.
Användningen mäts i videotoken: utdatans bredd × utdatans höjd × bildfrekvens × utdatans varaktighet / 1024. Den färdiga uppgiften rapporterar denna mängd som usage.completion_tokens. Spara den rapporterade användningen med det färdiga klippet och dess begärda inställningar.
Arbetsflödet returnerar först en uppgiftsidentifierare och efter bearbetningen en plats för den färdiga videon. Behåll identifieraren när du kontrollerar om uppgiften ligger i kö eller körs; en lyckad uppgift ger content.video_url och användningsinformation. Den dokumenterade lagringstiden för genererade filer är sju dagar. Spara det färdiga klippet, källbilden och den exakta prompten som versionsunderlag och granska sedan motivets utseende, rörelse, bildkontinuitet och slutkomposition genom hela resultatet.
Ailoot Ultra · Videor 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 genererar video utan ljud från text eller en startbild. Beskriv handling och kamera eller animera en befintlig komposition, med en längd på 2–12 sekunder, 24 fps och uttryckliga kontroller för utdatans bildformat och upplösning.
- Godkända indata
- Text · Bilder
- Resultat
- Video
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Videor POST /v1/videos
- Indatatyper
text,image- Utdatatyper
video
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser doubao-seedance-1-0-pro-250528 | Standard— |
Fältcontent | Typarray | KravObligatoriskt | Värden & gränser Villkor: Leverantörens text- och medieobjekt; den yttre arrayen får inte vara tom. Nästlade nodtyper valideras inte av denna generella konstruktor i Ailoot. | Standard— |
Fältduration | Typinteger | KravValfritt | Värden & gränser Minimum: 2 Maximum: 12 Villkor: Det primära schemat för 1.x anger 2–12; en senare gemensam beskrivning anger 1.5 som 4–12 eller -1. Exemplet använder 5, som dokumenteras i båda. | Standard5 |
Fältresolution | Typstring | KravValfritt | Värden & gränser Villkor: Bekräftade värden för text till video är 480p och 1080p. Indata med referensbild utesluter 1080p. Det gemensamma enum-värdet 720p motsäger den modellspecifika texten, så stödet för 720p är fortfarande oklart i båda lägena. | Standard1080p |
Fältratio | Typstring | KravValfritt | Värden & gränser 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Villkor: Standardvärden beror på scen och modell; dokumentationen för bildindata rekommenderar adaptive. | Standard— |
Fältservice_tier | Typstring | KravValfritt | Värden & gränser default, flex Villkor: default=online, flex=offline; välj före skapandet. | Standarddefault |
Fältseed | Typinteger | KravObligatoriskt | Värden & gränser Minimum: −1 Maximum: 4 294 967 295 | Standard−1 |
Fältcamerafixed | Typboolean | KravObligatoriskt | Värden & gränser Villkor: Krävs av Ailoot; kamerastyrning med referensbild anges inte stödjas i dokumentationen och effekten garanteras inte. | Standardfalse |
Fältwatermark | Typboolean | KravObligatoriskt | Värden & gränser | Standardfalse |
Fältexecution_expires_after | Typinteger | KravObligatoriskt | Värden & gränser Minimum: 3 600 Maximum: 259 200 Enhet: sekunder | Standard172 800 |
Kombinationer av indatamaterial
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalcamerafixed, content, execution_expires_after, model, seed, watermark |
Parameteroptional | Avtalduration, resolution, ratio, service_tier |
Parametermaterial_types | Avtaltext, image |
Parameteradditional_properties | Avtaltrue |
Parametervalidation_scope | AvtalAiloot kontrollerar de obligatoriska fälttyperna och att model/content-arrayen inte är tom. Övriga begäransfält bevaras för den valda modellen. |
Parameterimage_constraints | Avtal{"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} |
Metodalias: /v1/videos/generations
Livscykel: 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
Skapa en gång och behåll returnerat offentligt id/polling_url.
Kontrollera det ursprungliga jobbet; hämta faktiskt content.video_url som du äger efter succeeded.
Priser
Så beräknas slutavgiften
De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Uppskattade priser för jämförelse
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Prognostiserad mängd | Debiteringsenhet | Avgift |
|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | Debiteringsenhet— | Avgift Indata · Indatatoken · Uppskattning endast för jämförelse — / 1K token Utdata · Utdatatoken · Uppskattning endast för jämförelse — / 1K token Indata · Cacheläsning · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse — / 1K token |
| KonfigurationUltra | Prislista— | Prognostiserad mängd— | Debiteringsenhetper 1K videotoken | Avgift Utdata · Uppskattning endast för jämförelse $0.0044 per 1K videotoken |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Debiteringsenhet— | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $0.2112 uppskattning före generering Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen. |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
Ailoot Ultra · Videor
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
Ta emot och spara resultat
Ailoot Ultra · Videor
Leverantörens JSON med offentligt id/polling_url. Efter publicering innehåller content.video_url signerade URL som ägs av Ailoot; före publicering lämnas de valda utdata-URL:erna tomma.
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Behåll alla färdiga resultat
Spara varje färdig video eller returnerad fil; hämta varje faktiskt returnerad resurs-URL.
Behåll varje faktisk URL i content.video_url; index måste identifiera ett faktiskt returnerat resultat.
Om det ursprungliga svaret behöver kontrolleras
Bevara ursprungligt svar, svarshuvuden och id och kontrollera den operationen; skicka aldrig en oklar skapandebegäran igen.
Svarsfält
| Fält | Typ |
|---|---|
Fältid | Typstring |
Fältprovider_task_id | Typstring |
Fältpolling_url | Typstring |
Fältstatus | Typstring when supplied |
Fältcontent.video_url | Typstring|string[] |
Fältusage | Typobject when supplied |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar400 · invalid_request_error | VillkorOgiltig JSON/modell, ogiltiga typer för obligatoriska fält eller ogiltigt innehållsindex. | Nästa steg |
Svar401 · authentication_error | VillkorOgiltig API-nyckel för Ailoot. | Nästa steg |
Svar404 · not_found_error | VillkorUppgiften eller utdatan saknas eller ägs inte av samma användare, API-nyckel och grupp. | Nästa steg |
Svar502 · result_pending_check | VillkorUrsprunglig inskickning/status är ofullständig; bevara ursprungligt ID, skicka inte in igen. | Nästa steg |
Svar503 · result_pending_check | VillkorUrsprungliga medier, rutt eller avräkning kontrolleras; fortsätt med den ursprungliga operationen. | Nästa steg |
Alias
Modellalias
Ailoot Ultra doubao-seedance-1-0-pro-250528
Alias för metodsökvägar
/v1/videos/generations
Relaterade anropar-ID:n
FAQ · ByteDance: Seedance 1.0 Pro
- Vilka indata och resultat finns?
POST /v1/videos·doubao-seedance-1-0-pro-250528:text,image→video- Vilka fält använder begäran?
POST /v1/videos·doubao-seedance-1-0-pro-250528:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after- Vilka gränser gäller?
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