ByteDance: Seedance 2.0
Seedance 2.0 genererer og redigerer video med tekst-, billed-, video- og lydreferencer. Den kan fortsætte eksisterende optagelser og generere synkroniseret lyd med en varighed på 4–15 sekunder, output i 480p eller 720p og eksplicitte referenceroller.
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
Seedance 2.0 genererer video ud fra en skriftlig scene eller en kombination af billed-, video- og lydreferencer. Den specifikke selektor doubao-seedance-2-0-260128 identificerer standardprofilen 2.0. De dokumenterede arbejdsgange omfatter ny videogenerering, redigering og forlængelse af eksisterende optagelser. Brug referencer til at formidle udseende, bevægelse, kamerasprog og lyd, og angiv derefter, hvilke dele af scenen de skal styre.
Tekst kan leveres alene. De dokumenterede multimodale kombinationer tillader også billeder eller video med valgfri tekst, billeder med lyd, video med lyd og billeder, video og lyd sammen. Lyd ledsager derfor visuelle medier i disse angivne kombinationer; en selvstændig lyd-til-video-anmodning beskrives ikke. Skriv det tilsigtede resultat tydeligt, også hvor tekst er valgfri, så hver references rolle er eksplicit frem for at skulle udledes af uvedkommende materialer.
Arrayet content skelner mellem elementer af typerne text, image_url, video_url og audio_url. Multimodale referencer bruger roller såsom reference_image, reference_video og reference_audio. Et billede kan definere personen, genstanden, stedet eller udtrykket. En video kan demonstrere en fremførelse, bevægelse eller kameravisning, og lyd kan fastlægge et lydspor eller en timing. Angiv fordelingen i opgavebeskrivelsen: bevar motivet fra billedet, følg videoens kameravisning, og brug lyden som baggrund. Bed ikke hver reference definere alle egenskaber på én gang.
Det dokumenterede reklameeksempel kombinerer to produktbilleder med en video- og en lydreference. Det beskriver et åbningsbillede, en handlingssekvens, en produktdetalje i nærbillede og en slutkomposition med en gennemgående baggrundsstemme. Den samme struktur kan organisere en kort præsentation: etabler genstanden, vis én handling, og slut på dens genkendelige kendetegn. Ved en redigering skal kildeoptagelsen og det element, der skal ændres, angives; ved en forlængelse skal den handling, der fortsætter efter den eksisterende scene, forklares med bevarelse af motiv og bevægelsesretning.
2.0-profilen dokumenterer en varighed i hele sekunder fra fire til femten eller -1 til en automatisk valgt varighed inden for intervallet. Standard er fem sekunder. Opløsningsmulighederne er 480p og 720p med 720p som standard; 1080p er udelukket for 2.0. De faste billedformater omfatter 16:9, 4:3, 1:1, 3:4, 9:16 og 21:9. Forholdet adaptive kan vælge billedindramning ud fra prompten eller referencen: arbejde med et første billede følger åbningsbilledet, og multimodalt arbejde bruger den tilsigtede scene eller det første relevante medie, hvor video har forrang for billeder. Kontroller opgaveresultatet for det faktiske billedformat og den faktiske varighed.
Genereret lyd styres separat fra referencemedier. generate_audio=true anmoder om synkroniserede stemmer, effekter og baggrundsmusik baseret på tekst og visuelt indhold; false anmoder om en video uden lyd. Den dokumenterede standard er true, og dialog i anførselstegn anbefales til tale. Angiv, hvem der taler, og hvordan lyden hænger sammen med den synlige handling, og undersøg derefter den faktiske ordlyd, stemmetildeling og timing. Levering af en lydreference og aktivering af genereret lyd er separate valg i anmodningen.
2.0-vejledningen udelukker de ældre indstillinger frames og camera_fixed og understøtter ikke flex-offlinebehandling. Brug feltet duration, og beskriv kamerabevægelsen i selve scenen. Seed og watermark er fortsat dokumenterede indstillinger; vejledningen angiver, at samme anmodning og seed kan give lignende resultater uden at garantere præcis identitet. Behandl ikke en seed-værdi som bevis på reproducerbarhed eller en gentaget anmodning som et allerede undersøgt klip.
Forbruget af videotokens beregnes som (inputvideoens varighed + outputvideoens varighed) × outputbredde × outputhøjde × outputbilledfrekvens / 1024. Anmodninger med inputvideo og anmodninger uden inputvideo har forskellige faktureringskategorier. Opgaveforespørgslen rapporterer usage.completion_tokens og usage.total_tokens; bevar disse rapporterede mængder sammen med det færdige klip.
Arbejdsgangen er asynkron: indsendelse returnerer en opgaveidentifikator, og den fuldførte opgave leverer content.video_url sammen med rapporteret varighed, opløsning, billedformat, billedfrekvens og tokenforbrug. Bevar identifikatoren, og gem den færdige video med de oprindelige referencer og prompten. Udløbsfeltet har 172.800 sekunder som standard og accepterer 3600–259.200 sekunder fra oprettelsen af opgaven; en opgave, der overskrider intervallet, udløber. Gennemgå hele outputtet, herunder samlingen ved en redigering eller fortsættelse, for karakterudseende, genstandsdetaljer, rumlige relationer, kamerakontinuitet og timingen mellem lyd og billede.
Ailoot Ultra · Videoer POST /v1/videos doubao-seedance-2-0-260128
doubao-seedance-2-0-260128Start
Seedance 2.0 genererer og redigerer video med tekst-, billed-, video- og lydreferencer. Den kan fortsætte eksisterende optagelser og generere synkroniseret lyd med en varighed på 4–15 sekunder, output i 480p eller 720p og eksplicitte referenceroller.
- Accepterede input
- Tekst · Billeder · Video · Lyd
- Resultater
- Video
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Videoer POST /v1/videos
- Inputtyper
text,image,video,audio- Outputtyper
video
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser doubao-seedance-2-0-260128 | Standard— |
Feltcontent | Typearray | KravPåkrævet | Værdier og grænser Betingelser: Tekst- og medieobjekter i det oprindelige format; det yderste array må ikke være tomt. Indlejrede nodetyper valideres ikke af denne generiske Ailoot-konstruktør. | Standard— |
Feltgenerate_audio | Typeboolean | KravValgfrit | Værdier og grænser Betingelser: Synkroniseret lyd indlejret i videoen. | Standardtrue |
Feltduration | Typeinteger | KravValgfrit | Værdier og grænser Betingelser: Heltal 4–15 eller -1; den faktiske outputvarighed returneres. | Standard5 |
Feltresolution | Typestring | KravValgfrit | Værdier og grænser 480p, 720p Betingelser: 1080p er udtrykkeligt ikke understøttet for 2.0/fast. | Standard720p |
Feltratio | Typestring | KravValgfrit | Værdier og grænser 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Betingelser: Adaptive er udtrykkeligt afgrænset til 2.0/fast/1.5; eksemplet for 2.5 bruger kun 16:9. | Standardadaptive |
Feltwatermark | Typeboolean | KravValgfrit | Værdier og grænser | Standardfalse |
Feltseed | Typeinteger | KravValgfrit | Værdier og grænser Minimum: -1 Maksimum: 4.294.967.295 | Standard-1 |
Feltexecution_expires_after | Typeinteger | KravValgfrit | Værdier og grænser Minimum: 3.600 Maksimum: 259.200 Enhed: sekunder | Standard172.800 |
Feltservice_tier | Typestring | KravValgfrit | Værdier og grænser default Betingelser: 2.0/fast udelukker offline flex; omfanget for 2.5 er ikke fastlagt. | Standarddefault |
Feltsafety_identifier | Typestring | KravValgfrit | Værdier og grænser | Standard— |
Felttools | Typeobject | KravValgfrit | Værdier og grænser Betingelser: Kun 2.0/fast; dokumenteret type=web_search. | Standard— |
Kombinationer af inputmaterialer
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktcontent, model |
Parameteroptional | Kontraktgenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools |
Parametermaterial_types | Kontrakttext, image, video, audio |
Parameteradditional_properties | Kontrakttrue |
Parametervalidation_scope | KontraktAiloot kontrollerer de påkrævede felttyper og et ikke-tomt model/content-array. Andre forespørgselsfelter bevares til den valgte model. |
Parametermaterial_combinations | Kontrakttext, image, video, image, audio, image, video, video, audio, image, video, audio |
Parameteroptional_text_with_media | Kontrakttrue |
Parameterreference_media_count_and_size_limits | Kontraktnull |
Metodealiaser: /v1/videos/generations
Livscyklus: 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
Opret én gang, og behold det returnerede offentlige id/polling_url.
Forespørg på det oprindelige jobs status; download faktisk ejet content.video_url efter succeeded.
Priser
Sådan beregnes det endelige beløb
De viste satser bruges til at anslå omkostningen før genereringen. Det endelige beløb beregnes ud fra den registrerede omkostning for den oprindelige generering. Den målte varighed af outputtet og de anslåede mængder er ikke den endelige fakturerbare mængde.
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Ikke angivet Når hurtig tilstand er valgt
- flex-tilstand
- Ikke angivet Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Estimerede takster til sammenligning
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Takstplan | Forventet mængde | Afregningsenhed | Beløb |
|---|---|---|---|---|
| KonfigurationGrundpriser for tokens | TakstplanGrundtakst | Forventet mængde— | Afregningsenhed— | Beløb Input · Inputtokens · Estimat kun til sammenligning — / 1K tokens Output · Outputtokens · Estimat kun til sammenligning — / 1K tokens Input · Cachelæsning · Estimat kun til sammenligning — / 1K tokens Input · Cacheskrivning · Estimat kun til sammenligning — / 1K tokens Input · Cacheskrivning, 1 time · Estimat kun til sammenligning — / 1K tokens |
| KonfigurationInputtet indeholder en videoreference. | Takstplan— | Forventet mængde— | Afregningsenhedpr. 1K videotokens | Beløb Output · Estimat kun til sammenligning $0.0096 pr. 1K videotokens |
| KonfigurationInputtet indeholder ingen videoreference. | Takstplan— | Forventet mængde— | Afregningsenhedpr. 1K videotokens | Beløb Output · Estimat kun til sammenligning $0.015768 pr. 1K videotokens |
| KonfigurationAnslået genereringsomkostning | Takstplan— | Forventet mængdeestimat for én generering | Afregningsenhed— | Beløb Output · Anslået genereringsomkostning · Estimat kun til sammenligning $0.822402 estimat før generering Dette estimat er hverken et ekstra gebyr eller en fast pris for den færdige generering. |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
Ailoot Ultra · Videoer
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
Hent og gem resultater
Ailoot Ultra · Videoer
Native JSON med offentligt id/polling_url. Efter offentliggørelse indeholder content.video_url signerede URL’er, der ejes af Ailoot; før offentliggørelse tømmes de valgte output-URL’er.
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Behold alle færdige resultater
Gem hver færdig video eller returneret fil; hent hver faktisk returneret fil-URL.
Behold hver faktisk URL i content.video_url; index skal identificere et reelt returneret output.
Hvis det oprindelige svar skal kontrolleres
Behold det oprindelige svar, headere og id, og forespørg på denne operations status; indsend aldrig en oprettelse med ukendt udfald igen.
Svarfelter
| Felt | Type |
|---|---|
Feltid | Typestring |
Feltprovider_task_id | Typestring |
Feltpolling_url | Typestring |
Feltstatus | Typestring when supplied |
Feltcontent.video_url | Typestring|string[] |
Feltusage | Typeobject when supplied |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldig JSON/model, ugyldige påkrævede felttyper eller ugyldigt indholdsindeks. | Næste trin |
Svar401 · authentication_error | BetingelseUgyldig Ailoot API-nøgle. | Næste trin |
Svar404 · not_found_error | BetingelseOpgaven eller outputtet mangler eller tilhører ikke samme bruger/API-nøgle/gruppe. | Næste trin |
Svar502 · result_pending_check | BetingelseOprindelig indsendelse eller status er ufuldstændig; behold det oprindelige ID, og indsend ikke igen. | Næste trin |
Svar503 · result_pending_check | BetingelseDe oprindelige medier, ruten eller afregningen kontrolleres; fortsæt den oprindelige operation. | Næste trin |
Aliaser
Modelaliaser
Ailoot Ultra doubao-seedance-2-0-260128
Aliaser for metodestier
/v1/videos/generations
Relaterede kalder-ID’er
FAQ · ByteDance: Seedance 2.0
- Hvilke input og resultater er tilgængelige?
POST /v1/videos·doubao-seedance-2-0-260128:text,image,video,audio→video- Hvilke felter bruger anmodningen?
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- Hvilke grænser gælder?
POST /v1/videos·doubao-seedance-2-0-260128:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200