ByteDance: Seedance 2.5
Seedance 2.5 lager video fra tekst og bilde-, video- eller lydreferanser, med dokumenterte arbeidsflyter for redigering og forlengelse. Det konkrete 2.5-eksemplet kombinerer et produktbilde med flere bevegelsesreferanser og slår på generert lyd for en samordnet reklamesekvens.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
Seedance 2.5 lager video ved hjelp av en skriftlig scene og multimodale referanser. Den nøyaktige velgeren doubao-seedance-2-5-260628 har sin egen dokumenterte operasjon og sitt eget eksempel. Operasjonen beskriver generering, redigering og forlengelse av video, med bilder, video, lyd og tekst som inndatamedier. Bruk referansene til å formidle motivets utseende, handling, kamerabevegelse, stil og lyd, og forklar deretter hvilket resultat som skal lages fra dem.
Inndatakombinasjonene omfatter tekst alene, bilder eller video med valgfri tekst, bilder med lyd, video med lyd samt bilder, video og lyd sammen. De oppførte kombinasjonene knytter lyd til visuelle medier fremfor å beskrive en forespørsel med bare lyd. Organiser hvert element etter rollen det har: et bilde fastsetter et motiv eller et uttrykk, en video demonstrerer bevegelse eller en eksisterende scene, og lyd gir en lydreferanse. Angi hvilken rolle som er viktig for ønsket opptak, slik at en bakgrunnsreferanse ikke forveksles med hovedfiguren.
Det konkrete 2.5-eksemplet er en reklamesekvens for et produkt. Det oppgir et bilde og flere videoreferanser, og beskriver deretter et innledende fokus, ordnede produktoppstillinger, detaljopptak, en handling i sakte film og en avsluttende merkevarekomposisjon. Forespørselen tildeler rollene reference_image og reference_video og bruker individuelle referanser for komposisjon, bevegelse, kameraføring og virkning. Dette gir en praktisk struktur for et kampanjekonsept: planlegg de synlige fasene, angi referansen for hver fase og spesifiser sluttoppstillingen.
En skriftlig sekvens kan skille mellom hva som skjer og hvordan det filmes. Beskriv produktets handling først, deretter bildeutsnitt, kameraets bevegelsesbane, tempo og overgang til neste bilde. Hvis én referanse definerer produktet og en annen demonstrerer en kamerabevegelse, angir du disse separate oppgavene. For en scene med flere gjenstander forklarer du plasseringen og rekkefølgen på samspillet mellom dem. Undersøk det genererte resultatet for faktisk produktform, oppstilling og bevegelse, fremfor å anta at hver referansedetalj vises uendret.
For en redigering angir du den eksisterende videoen og elementet som skal revideres, for eksempel omgivelsene, en handling eller den visuelle stilen, samtidig som du oppgir kontinuiteten som skal bevares. For en forlengelse beskriver du hvordan scenen skal fortsette fra det vedlagte opptaket. Vurder overgangen i tillegg til det nye segmentet: motivets utseende, bevegelsesretningen, kameraets posisjon og lydens tidsplassering påvirker alle om resultatet oppleves som én scene. Behold originalvideoen og den ferdige revisjonen samlet, slik at endringen kan vurderes opp mot ønsket kontinuitet.
Det dokumenterte multimodale 2.5-eksemplet angir generate_audio=true og ber om en femten sekunder lang sekvens med bildeformatet 16:9. Disse verdiene beskriver eksemplet, og er ikke en universell øvre grense for varighet eller referansemateriale. Gi ønsket scene en tydelig lydplan, inkludert forholdet mellom musikk, effekter og synlig handling, og vurder deretter det faktiske audiovisuelle resultatet. En lydreferanse og det genererte lydsporet bør vurderes sammen med tanke på ønsket tempo og fremføring.
Velg varighet, bildeformat og oppløsning blant innstillingene som tilbys for akkurat denne profilen. Behold den forespurte konfigurasjonen sammen med ledeteksten og sammenlign den med oppgavens faktiske returnerte felt. Bruk returnert varighet, oppløsning og sideforhold når du klargjør det ferdige klippet for bruksstedet. Behold den nøyaktige profilidentifikatoren i revisjonsloggen, slik at en senere sammenligning bruker samme valgte utgave.
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.
Genereringen er asynkron. Innsending returnerer en ID, og den konfigurerte oppgaveflyten gir status etterfulgt av content.video_url etter vellykket fullføring. Lagre det ferdige klippet sammen med kildemediene og sekvensbeskrivelsen. Vurder alle planlagte faser, samspillet mellom gjenstander, figurenes utseende, bildeutsnitt og synkronisering mellom lyd og bilde i hele resultatet. Ved en revisjon angir du den konkrete detaljen som manglet, og bevarer de vellykkede delene av scenen fremfor å erstatte hele beskrivelsen med uvedkommende instruksjoner.
Ailoot Ultra · Videogenerering POST /v1/videos doubao-seedance-2-5-260628
doubao-seedance-2-5-260628Start
Seedance 2.5 lager video fra tekst og bilde-, video- eller lydreferanser, med dokumenterte arbeidsflyter for redigering og forlengelse. Det konkrete 2.5-eksemplet kombinerer et produktbilde med flere bevegelsesreferanser og slår på generert lyd for en samordnet reklamesekvens.
- 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-5-260628 | 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: Eksemplet for 2.5 setter true, men den kopierte teksten for modellvelgeren oppgir bare 2.0/fast/1.5; ingen garanti for andre innstillinger eller standardverdier. | Standard— |
Feltduration | Typeinteger | KravValgfritt | Verdier & grenser Vilkår: Den bokstavelige verdien 15 i eksemplet for 2.5 er verken et maksimum eller en standardverdi. | Standard— |
Feltresolution | Typestring | KravValgfritt | Verdier & grenser Vilkår: Ingen standardverdi eller enum spesifikk for 2.5 utledes fra kopierte beskrivelser. | Standard— |
Feltratio | Typestring | KravValgfritt | Verdier & grenser Vilkår: Adaptive er uttrykkelig avgrenset til 2.0/fast/1.5; eksemplet for 2.5 bruker bare 16:9. | Standard— |
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 Vilkår: 2.0/fast utelukker frakoblet flex; omfanget for 2.5 er ikke fastslått. | Standard— |
Feltsafety_identifier | Typestring | KravValgfritt | Verdier & grenser | 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 |
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.012 per 1K videotokener |
| KonfigurasjonInndata inneholder ingen videoreferanse. | Prisplan— | Forventet mengde— | Faktureringsenhetper 1K videotokener | Kostnad Utdata · Estimat kun for sammenligning $0.02 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-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
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-5-260628
Aliaser for metodestier
/v1/videos/generations
Tilknyttede anroper-ID-er
FAQ · ByteDance: Seedance 2.5
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/videos·doubao-seedance-2-5-260628:text,image,video,audio→video- Hvilke felt bruker forespørselen?
POST /v1/videos·doubao-seedance-2-5-260628:model,content,generate_audio,duration,resolution,ratio,watermark,seed,execution_expires_after,service_tier,safety_identifier- Hvilke grenser gjelder?
POST /v1/videos·doubao-seedance-2-5-260628:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200