ByteDance: Seedance 2.0
Seedance 2.0 genererer og redigerer video med tekst, bilder, video- og lydreferanser. Den kan videreføre eksisterende opptak og generere synkronisert lyd, med varighet på 4–15 sekunder, 480p eller 720p som utdata og tydelig angitte referanseroller.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
Seedance 2.0 genererer video fra en skriftlig scene eller en kombinasjon av bilde-, video- og lydreferanser. Den nøyaktige velgeren doubao-seedance-2-0-260128 identifiserer standardprofilen for 2.0. De dokumenterte arbeidsflytene omfatter generering av ny video, redigering og forlengelse av eksisterende opptak. Bruk referanser til å formidle utseende, bevegelse, kameraføring og lyd, og angi deretter hvilke deler av scenen de skal styre.
Tekst kan oppgis alene. De dokumenterte multimodale kombinasjonene tillater også bilder eller video med valgfri tekst, bilder med lyd, video med lyd samt bilder, video og lyd sammen. Lyd følger dermed visuelle medier i disse oppførte kombinasjonene; en separat forespørsel om video fra bare lyd er ikke beskrevet. Skriv ønsket resultat tydelig også der tekst er valgfri, slik at rollen til hver referanse er uttrykkelig angitt og ikke må utledes fra usammenhengende materiale.
content-arrayet skiller mellom elementene text, image_url, video_url og audio_url. Multimodale referanser bruker roller som reference_image, reference_video og reference_audio. Et bilde kan definere personen, gjenstanden, stedet eller uttrykket. En video kan demonstrere en fremføring, bevegelse eller kameravinkel, og lyd kan fastsette et lydspor eller en tidsplassering. Angi rollefordelingen i beskrivelsen: behold motivet fra bildet, følg kameravinkelen i videoen og bruk lyden som bakgrunn. Ikke be hver referanse om å definere alle egenskapene samtidig.
Det dokumenterte reklameeksemplet kombinerer to produktbilder med en video- og en lydreferanse. Det beskriver et åpningsbilde, en handlingssekvens, produktdetaljer i nærbilde og en sluttkomposisjon, samtidig som bakgrunnsstemmen holdes konsekvent. Den samme strukturen kan organisere en kort presentasjon: etabler gjenstanden, demonstrer én handling og avslutt med dens gjenkjennelige egenskap. For en redigering angir du kildeopptaket og elementet som skal endres; for en forlengelse forklarer du handlingen som fortsetter utover den eksisterende scenen, samtidig som motivet og bevegelsesretningen bevares.
2.0-profilen dokumenterer varighet i hele sekunder fra fire til femten, eller -1 for en automatisk valgt varighet innenfor dette intervallet. Standard er fem sekunder. Oppløsningsvalgene er 480p og 720p, med 720p som standard; 1080p er utelukket for 2.0. Faste sideforhold inkluderer 16:9, 4:3, 1:1, 3:4, 9:16 og 21:9. Tilpasset sideforhold kan velge bildeformat ut fra ledeteksten eller referansen: arbeid med første bilde følger åpningsbildet, og multimodalt arbeid bruker ønsket scene eller det første relevante mediet, med video prioritert foran bilder. Kontroller oppgaveresultatet for faktisk sideforhold og varighet.
Generert lyd styres separat fra referansemediene. generate_audio=true ber om synkroniserte stemmer, effekter og bakgrunnsmusikk basert på teksten og det visuelle innholdet; false ber om en video uten lyd. Dokumentert standard er true, og dialog i anførselstegn anbefales for tale. Angi hvem som snakker og hvordan lyden henger sammen med den synlige handlingen, og undersøk deretter faktisk ordlyd, stemmetildeling og tidsplassering. Å oppgi en lydreferanse og å slå på generert lyd er to forskjellige valg i forespørselen.
2.0-veiledningen utelukker de eldre innstillingene frames og camera_fixed og støtter ikke frakoblet flex-behandling. Bruk feltet duration og beskriv kamerabevegelsen i selve scenen. seed og watermark er fortsatt dokumenterte innstillinger; veiledningen sier at samme forespørsel og seed kan gi lignende resultater uten å garantere nøyaktig samsvar. Unngå å behandle en seed-verdi som bevis på reproduserbarhet eller en gjentatt forespørsel som et allerede undersøkt klipp.
Forbruket av videotokens beregnes som (inndatavideoens varighet + utdatavideoens varighet) × utdatabredde × utdatahøyde × utdatabildefrekvens / 1024. Forespørsler med inndatavideo og forespørsler uten inndatavideo har egne faktureringskategorier. Oppgavespørringen rapporterer usage.completion_tokens og usage.total_tokens; behold disse rapporterte mengdene sammen med det ferdige klippet.
Arbeidsflyten er asynkron: innsending returnerer en oppgave-ID, og den fullførte oppgaven gir content.video_url sammen med rapportert varighet, oppløsning, sideforhold, bildefrekvens og tokenforbruk. Behold ID-en og lagre den ferdige videoen med de opprinnelige referansene og ledeteksten. Utløpsfeltet har 172800 sekunder som standard og godtar 3600–259200 sekunder fra oppgaven opprettes; en oppgave som overskrider intervallet, utløper. Vurder hele resultatet, inkludert overgangen ved redigering eller videreføring, for figurenes utseende, gjenstandsdetaljer, romlige forhold, kamerakontinuitet og synkronisering mellom lyd og bilde.
Ailoot Ultra · Videogenerering POST /v1/videos doubao-seedance-2-0-260128
doubao-seedance-2-0-260128Start
Seedance 2.0 genererer og redigerer video med tekst, bilder, video- og lydreferanser. Den kan videreføre eksisterende opptak og generere synkronisert lyd, med varighet på 4–15 sekunder, 480p eller 720p som utdata og tydelig angitte referanseroller.
- Godkjente inndata
- Tekst · Bilder · Video · Lyd
- Resultater
- Video
Tilgjengelig i Ailoot · inndata & metoder
Ailoot Ultra · Videogenerering POST /v1/videos
- Inndatatyper
text,image,video,audio- Utdatatyper
video
| Felt | Type | Krav | Verdier & grenser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrevd | Verdier & grenser doubao-seedance-2-0-260128 | Standard— |
Feltcontent | Typearray | KravPåkrevd | Verdier & grenser Vilkår: Tekst- og medieobjekter i det opprinnelige formatet; den ytre matrisen må ha innhold. Typer for nøstede noder valideres ikke av denne generiske konstruktøren i Ailoot. | Standard— |
Feltgenerate_audio | Typeboolean | KravValgfritt | Verdier & grenser Vilkår: Synkronisert lyd innebygd i videoen. | Standardtrue |
Feltduration | Typeinteger | KravValgfritt | Verdier & grenser Vilkår: Heltall 4–15 eller -1; faktisk utdatavarighet returneres. | Standard5 |
Feltresolution | Typestring | KravValgfritt | Verdier & grenser 480p, 720p Vilkår: 1080p er uttrykkelig ustøttet for 2.0/fast. | Standard720p |
Feltratio | Typestring | KravValgfritt | Verdier & grenser 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Vilkår: Adaptive er uttrykkelig avgrenset til 2.0/fast/1.5; eksemplet for 2.5 bruker bare 16:9. | Standardadaptive |
Feltwatermark | Typeboolean | KravValgfritt | Verdier & grenser | Standardfalse |
Feltseed | Typeinteger | KravValgfritt | Verdier & grenser Minimum: −1 Maksimum: 4 294 967 295 | Standard−1 |
Feltexecution_expires_after | Typeinteger | KravValgfritt | Verdier & grenser Minimum: 3 600 Maksimum: 259 200 Enhet: sekunder | Standard172 800 |
Feltservice_tier | Typestring | KravValgfritt | Verdier & grenser default Vilkår: 2.0/fast utelukker frakoblet flex; omfanget for 2.5 er ikke fastslått. | Standarddefault |
Feltsafety_identifier | Typestring | KravValgfritt | Verdier & grenser | Standard— |
Felttools | Typeobject | KravValgfritt | Verdier & grenser Vilkår: Bare 2.0/fast; dokumentert type=web_search. | Standard— |
Kombinasjoner av inngående materialer
Metodeparametere og livssyklus
| Parameter | Avtale |
|---|---|
Parametercontent_type | Avtaleapplication/json |
Parameterrequired | Avtalecontent, model |
Parameteroptional | Avtalegenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools |
Parametermaterial_types | Avtaletext, image, video, audio |
Parameteradditional_properties | Avtaletrue |
Parametervalidation_scope | AvtaleAiloot kontrollerer de påkrevde felttypene og at matrisen model/content har innhold. Andre forespørselsfelt bevares for den valgte modellen. |
Parametermaterial_combinations | Avtaletext, image, video, image, audio, image, video, video, audio, image, video, audio |
Parameteroptional_text_with_media | Avtaletrue |
Parameterreference_media_count_and_size_limits | Avtalenull |
Metodealiaser: /v1/videos/generations
Livssyklus: 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
Opprett én gang og behold returnert offentlig id/polling_url.
Spør jevnlig etter den opprinnelige jobben; last ned faktisk content.video_url du eier, etter succeeded.
Priser
Slik beregnes det endelige beløpet
De viste satsene anslår kostnaden før generering. Det endelige beløpet beregnes ut fra kostnaden som er registrert for den opprinnelige genereringen. Målt varighet på utdataene og anslåtte mengder er ikke den endelige fakturerbare mengden.
Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.
- Hurtigmodus
- Ikke angitt Når hurtigmodus er valgt
- Flex-modus
- Ikke angitt Når flex-modus er valgt
- Maksimal resonneringsinnsats
- Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats
Estimerte satser for sammenligning
Priser etter konfigurasjon
Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.
| Konfigurasjon | Prisplan | Forventet mengde | Faktureringsenhet | Kostnad |
|---|---|---|---|---|
| KonfigurasjonGrunnpriser for tokener | PrisplanGrunnsats | Forventet mengde— | Faktureringsenhet— | Kostnad Inndata · Inngående tokener · Estimat kun for sammenligning — / 1K tokener Utdata · Utgående tokener · Estimat kun for sammenligning — / 1K tokener Inndata · Lesing fra hurtigbuffer · Estimat kun for sammenligning — / 1K tokener Inndata · Skriving til hurtigbuffer · Estimat kun for sammenligning — / 1K tokener Inndata · Skriving til hurtigbuffer, 1 time · Estimat kun for sammenligning — / 1K tokener |
| KonfigurasjonInndata inneholder en videoreferanse. | Prisplan— | Forventet mengde— | Faktureringsenhetper 1K videotokener | Kostnad Utdata · Estimat kun for sammenligning $0.0096 per 1K videotokener |
| KonfigurasjonInndata inneholder ingen videoreferanse. | Prisplan— | Forventet mengde— | Faktureringsenhetper 1K videotokener | Kostnad Utdata · Estimat kun for sammenligning $0.015768 per 1K videotokener |
| KonfigurasjonAnslått genereringskostnad | Prisplan— | Forventet mengdeestimat for én generering | Faktureringsenhet— | Kostnad Utdata · Anslått genereringskostnad · Estimat kun for sammenligning $0.822402 estimat før generering Dette anslaget er verken en tilleggsavgift eller en fast sats for den fullførte genereringen. |
Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →
Eksempelforespørsler
Ailoot Ultra · Videogenerering
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
Motta og lagre resultater
Ailoot Ultra · Videogenerering
Opprinnelig JSON med offentlig id/polling_url. Etter publisering inneholder content.video_url signerte URL-er som tilhører Ailoot; før publisering tømmes de valgte utdata-URL-ene.
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 ferdige resultater
Lagre hver ferdige video eller returnerte fil; hent hver faktisk returnerte ressurs-URL.
Behold hver faktiske URL i content.video_url; index må identifisere ett faktisk returnert utdataelement.
Hvis det opprinnelige svaret må kontrolleres
Behold opprinnelig svar, svarhoder og id, og spør jevnlig etter den operasjonen; send aldri en opprettelse med ukjent utfall på nytt.
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 |
Feil og neste trinn
| Svar | Vilkår | Neste trinn |
|---|---|---|
Svar400 · invalid_request_error | VilkårUgyldig JSON/modell, ugyldige typer for påkrevde felt eller ugyldig innholdsindeks. | Neste trinn |
Svar401 · authentication_error | VilkårUgyldig Ailoot API-nøkkel. | Neste trinn |
Svar404 · not_found_error | VilkårOppgaven eller utdataene mangler eller tilhører ikke samme bruker/API-nøkkel/gruppe. | Neste trinn |
Svar502 · result_pending_check | VilkårOpprinnelig innsending eller status er ufullstendig; behold opprinnelig ID og ikke send inn på nytt. | Neste trinn |
Svar503 · result_pending_check | VilkårOpprinnelige medier, rute eller oppgjør kontrolleres; fortsett den opprinnelige operasjonen. | Neste trinn |
Aliaser
Modellaliaser
Ailoot Ultra doubao-seedance-2-0-260128
Aliaser for metodestier
/v1/videos/generations
Tilknyttede anroper-ID-er
FAQ · ByteDance: Seedance 2.0
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/videos·doubao-seedance-2-0-260128:text,image,video,audio→video- Hvilke felt bruker forespørselen?
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 grenser gjelder?
POST /v1/videos·doubao-seedance-2-0-260128:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200