ByteDance: Seedance 2.5
Seedance 2.5 skapar video från text samt bild-, video- eller ljudreferenser, med dokumenterade arbetsflöden för redigering och förlängning. Det exakta exemplet för 2.5 kombinerar en produktbild med flera rörelsereferenser och aktiverar genererat ljud för en samordnad reklamsekvens.
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 2.5 skapar video med en skriven scen och multimodala referenser. Den exakta väljaren doubao-seedance-2-5-260628 har en egen dokumenterad operation och ett eget exempel. Operationen beskriver videogenerering, videoredigering och videoförlängning, med bilder, video, ljud och text som indatamedier. Använd referenserna för att förmedla motivets utseende, handling, kamerarörelse, stil och ljud och förklara sedan vilket resultat som ska skapas från dem.
Indatakombinationerna omfattar enbart text, bilder eller video med valfri text, bilder med ljud, video med ljud och bilder, video och ljud tillsammans. De listade kombinationerna kopplar ljud till visuella medier i stället för att beskriva en begäran med enbart ljud. Organisera varje objekt utifrån dess roll: en bild fastställer ett motiv eller visuellt uttryck, en video visar rörelse eller en befintlig scen och ljud tillför en ljudreferens. Ange vilken roll som är viktig för den begärda tagningen så att en bakgrundsreferens inte misstas för huvudkaraktären.
Det exakta exemplet för 2.5 är en produktreklamsekvens. Det tillhandahåller en bild och flera videoreferenser och beskriver sedan en inledande fokuspunkt, ordnade produktplaceringar, detaljbilder, en handling i slow motion och en avslutande komposition med varumärket. Begäran tilldelar rollerna reference_image och reference_video och använder enskilda referenser för komposition, rörelse, kameraarbete och effekt. Det ger en praktisk struktur för ett kampanjkoncept: planera de synliga momenten, ange referensen för varje moment och specificera slutplaceringen.
En skriven sekvens kan skilja det som händer från hur det filmas. Beskriv produkthandlingen först och därefter bildutsnitt, kamerabana, tempo och övergång till nästa bild. Om en referens definierar produkten och en annan visar en kamerarörelse anger du dessa separata uppgifter. För en scen med flera föremål förklarar du deras positioner och ordningen på samspelet. Kontrollera produktens faktiska form, placering och rörelse i det genererade resultatet i stället för att anta att varje referensdetalj återges oförändrad.
För en redigering anger du den befintliga videon och delen som ska revideras, som miljö, en handling eller visuell stil, samtidigt som du anger den kontinuitet som ska bevaras. För en förlängning beskriver du hur scenen ska fortsätta från det tillhandahållna materialet. Granska både skarven och det nya segmentet: motivets utseende, rörelseriktning, kamerans position och ljudets tidsplacering påverkar om resultatet uppfattas som en enda scen. Håll originalvideon och den färdiga revideringen tillsammans så att ändringen kan kontrolleras mot den avsedda kontinuiteten.
Det dokumenterade multimodala exemplet för 2.5 anger generate_audio=true och begär en femtonsekunderssekvens med bildformatet 16:9. Värdena beskriver det exemplet, inte ett generellt längdtak eller någon gräns för referensmaterialet. Beskriv tydligt vilket ljud du vill ha i den begärda scenen, inklusive sambandet mellan musik, effekter och synlig handling, och utvärdera sedan de faktiska audiovisuella utdata. En ljudreferens och det genererade ljudspåret ska granskas tillsammans för avsett tempo och framförande.
Välj längd, bildformat och upplösning bland de inställningar som erbjuds för just den här profilen. Behåll den begärda konfigurationen med prompten och jämför den med de faktiska returnerade uppgiftsfälten. Använd returnerad längd, upplösning och bildförhållande när du förbereder det färdiga klippet för dess användningsområde. Bevara den exakta profilidentifieraren i versionsunderlaget så att en senare jämförelse använder samma valda utgåva.
Användningen av videotoken beräknas som (indatavideons längd + utdatavideons längd) × utdatans bredd × utdatans höjd × utdatans bildfrekvens / 1024. Begäranden med indatavideo och de utan indatavideo har skilda debiteringskategorier. Uppgiftsfrågan rapporterar usage.completion_tokens och usage.total_tokens; spara dessa rapporterade mängder med det färdiga klippet.
Genereringen är asynkron. Inskickandet returnerar en identifierare och det konfigurerade uppgiftsflödet ger status följd av content.video_url efter ett lyckat resultat. Spara det färdiga klippet med källmedierna och sekvensbeskrivningen. Granska alla planerade moment, föremålens samspel, karaktärernas utseende, bildformat och ljudsynkronisering genom hela resultatet. Vid en revidering anger du den konkreta detalj som missades och bevarar delarna av scenen som fungerade i stället för att ersätta hela beskrivningen med orelaterade instruktioner.
Ailoot Ultra · Videor POST /v1/videos doubao-seedance-2-5-260628
doubao-seedance-2-5-260628Start
Seedance 2.5 skapar video från text samt bild-, video- eller ljudreferenser, med dokumenterade arbetsflöden för redigering och förlängning. Det exakta exemplet för 2.5 kombinerar en produktbild med flera rörelsereferenser och aktiverar genererat ljud för en samordnad reklamsekvens.
- Godkända indata
- Text · Bilder · Video · Ljud
- Resultat
- Video
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Videor POST /v1/videos
- Indatatyper
text,image,video,audio- Utdatatyper
video
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser doubao-seedance-2-5-260628 | 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ältgenerate_audio | Typboolean | KravValfritt | Värden & gränser Villkor: Exemplet för 2.5 anger true, men den kopierade väljartexten listar endast 2.0/fast/1.5; ingen garanti för fler inställningar eller standardvärden. | Standard— |
Fältduration | Typinteger | KravValfritt | Värden & gränser Villkor: Det bokstavliga värdet 15 i exemplet för 2.5 är inget maximum eller standardvärde. | Standard— |
Fältresolution | Typstring | KravValfritt | Värden & gränser Villkor: Inget specifikt standardvärde eller enum för 2.5 härleds från kopierade beskrivningar. | Standard— |
Fältratio | Typstring | KravValfritt | Värden & gränser Villkor: Inställningen adaptive är uttryckligen begränsad till 2.0/fast/1.5; exemplet för 2.5 använder endast 16:9. | Standard— |
Fältwatermark | Typboolean | KravValfritt | Värden & gränser | Standardfalse |
Fältseed | Typinteger | KravValfritt | Värden & gränser Minimum: −1 Maximum: 4 294 967 295 | Standard−1 |
Fältexecution_expires_after | Typinteger | KravValfritt | Värden & gränser Minimum: 3 600 Maximum: 259 200 Enhet: sekunder | Standard172 800 |
Fältservice_tier | Typstring | KravValfritt | Värden & gränser Villkor: 2.0/fast utesluter offline flex; omfattningen för 2.5 är inte fastställd. | Standard— |
Fältsafety_identifier | Typstring | KravValfritt | Värden & gränser | Standard— |
Kombinationer av indatamaterial
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalcontent, model |
Parameteroptional | Avtalgenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier |
Parametermaterial_types | Avtaltext, image, video, audio |
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. |
Parametermaterial_combinations | Avtaltext, image, video, image, audio, image, video, video, audio, image, video, audio |
Parameteroptional_text_with_media | Avtaltrue |
Parameterreference_media_count_and_size_limits | Avtalnull |
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 |
| KonfigurationIndata innehåller video. | Prislista— | Prognostiserad mängd— | Debiteringsenhetper 1K videotoken | Avgift Utdata · Uppskattning endast för jämförelse $0.012 per 1K videotoken |
| KonfigurationIndata innehåller ingen video. | Prislista— | Prognostiserad mängd— | Debiteringsenhetper 1K videotoken | Avgift Utdata · Uppskattning endast för jämförelse $0.02 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.822402 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-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
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-2-5-260628
Alias för metodsökvägar
/v1/videos/generations
Relaterade anropar-ID:n
FAQ · ByteDance: Seedance 2.5
- Vilka indata och resultat finns?
POST /v1/videos·doubao-seedance-2-5-260628:text,image,video,audio→video- Vilka fält använder begäran?
POST /v1/videos·doubao-seedance-2-5-260628:model,content,generate_audio,duration,resolution,ratio,watermark,seed,execution_expires_after,service_tier,safety_identifier- Vilka gränser gäller?
POST /v1/videos·doubao-seedance-2-5-260628:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200