ByteDance: Seedance 1.5 Pro
Seedance 1.5 Pro generuoja vaizdo įrašą iš teksto ar vaizdo ir gali kurti sinchronizuotus balsus, efektus bei foninę muziką. Garsą galima įjungti arba išjungti; dokumentuotame profilyje siūlomos 4–12 sekundžių scenos, prisitaikantis kadravimas ir online arba flex apdorojimas.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
Seedance 1.5 Pro generuoja vaizdo įrašą iš teksto ar vaizdo ir gali kurti garsą kartu su vaizdu. Tikslus identifikatorius yra doubao-seedance-1-5-pro-251215. Garso valdiklis skiria jį nuo Seedance 1.0 profilių be garso: generate_audio=true prašo sinchronizuoto garso, o false – vaizdo įrašo be garso. Rašytinę sceną naudokite naujai idėjai, o vaizdą – pradiniam objektui ir kompozicijai nustatyti.
Vaizdinį veiksmą ir garsą aprašykite kaip tos pačios scenos dalis. Nurodykite objektą, aplinką, judėjimą bei kamerą, tada paaiškinkite norimus balsus, garso efektus ar foninę muziką. Portreto scenoje žmogus gali atmerkti akis, kamerai lėtai tolstant, o aplinkoje gali girdėtis vėjas. Gaminio scenoje susiekite garsą su matomu įvykiu, pavyzdžiui, atsidarančiu dangteliu ar paviršių paliečiančiu daiktu, užuot pridėję nesusijusių efektų sąrašą.
Modelis gali generuoti balsus, efektus ir foninę muziką pagal užklausos tekstą bei vaizdinį turinį. Vadove rekomenduojama sakomą dialogą rašyti dvigubose kabutėse. Kalbą pritaikykite prie prašomo veiksmo ir pauzių trukmės, o kai dalyvauja daugiau nei vienas veikėjas, atskirkite, kas kalba. Patikrinkite tikrus žodžius, balsų priskyrimą ir sinchronizaciją su vaizdu. Garso nurodymas valdo sugeneruotą atlikimą; šio profilio dokumentuotoje užklausoje tai nėra atskira įkelto balso atskaitos įvestis.
Generuojant vaizdo įrašą iš vaizdo, image_url elementas naudojamas kartu su tekstu. Pateikite pasiekiamą vaizdo URL arba Base64 duomenų URL JPEG, PNG, WEBP, BMP, TIFF ar GIF formatu. Dokumentuoti vaizdų apribojimai: mažiau nei 30 MB, abu matmenys griežtai tarp 300 ir 6000 pikselių, o pločio ir aukščio santykis griežtai tarp 0.4 ir 2.5. Aiškiai paruoškite norimą iškarpą ir objektą, tada aprašykite judėjimą nuo tos kompozicijos. Vaizdo pavyzdyje prie atskaitos vaizdo pritaikomas santykis.
Konkretaus profilio trukmės vadove nurodytos sveikos sekundės nuo keturių iki dvylikos arba -1, kad modelis pasirinktų trukmę tame intervale. Numatytoji trukmė – penkios sekundės. Seedance 1.5 Pro numatytoji raiška – 720p, o išsaugotoje profilio lentelėje dokumentuoti 480p ir 720p; atskiras operacijų vadovas 1.5 Pro nesiūlo 1080p. Fiksuoto santykio pasirinktys apima 16:9, 4:3, 1:1, 3:4, 9:16 ir 21:9; adaptive yra dokumentuota numatytoji 1.5 reikšmė. Patikrinkite tikrą klipo trukmę ir proporcijas, užuot prašytas reikšmes laikę jau grąžintu rezultatu.
Užklausoje numatyti du apdorojimo lygiai. service_tier=default parenka online apdorojimą, o flex – offline apdorojimą darbui, kuriam priimtinas ilgesnis laukimas. Pateikus užduotį šio lygio keisti negalima. Rinkitės jį pagal darbo eigos laiko poreikius ir išsaugokite pasirinkimą užklausos įraše. Garso režimas ir apdorojimo lygis yra atskiri pasirinkimai: klipas be garso savaime nėra offline užduotis, o įjungus garsą apdorojimo lygis neparenkamas.
Seed, vandenženklio ir kameros nurodymus suderinkite su scena. Į tekstą įterptos parametrų komandos turi pirmenybę prieš atskirus neprivalomus parametrus. Fiksuotos kameros valdiklis neleidžiamas naudojant atskaitos vaizdą, o ten, kur taikomas, negarantuoja visiškai fiksuoto vaizdo. Vaizdu grindžiamai animacijai norimą judėjimą paaiškinkite tiesiogiai, užuot manę, kad kameros valdiklis panaikina poreikį aprašyti planą.
Naudojimas matuojamas vaizdo žetonais: išvesties plotis × išvesties aukštis × kadrų dažnis × išvesties trukmė / 1024. Užbaigta užduotis pateikia šį kiekį kaip usage.completion_tokens. Išsaugokite pateiktą naudojimą kartu su užbaigtu klipu ir užklausoje nurodytomis nuostatomis. Įjungtas arba išjungtas garsas ir online arba flex apdorojimas išlieka atskiromis naudojimu grindžiamo apmokestinimo kategorijomis.
Pateikus užklausą grąžinamas asinchroninės užduoties identifikatorius. Sekite užduotį iki užbaigimo, tada išsaugokite content.video_url pateiktą vaizdo įrašą. Dokumentuotas sugeneruotų failų saugojimas – septynios dienos. Galiojimo valdiklis skaičiuojamas nuo sukūrimo, jo numatytoji reikšmė – 172 800 sekundžių, o leidžiamos reikšmės – nuo 3 600 iki 259 200 sekundžių; neužbaigta užduotis įgyja būseną expired, kai pasibaigia nustatytas intervalas. Galutinį klipą, pradinį vaizdą ir tikslų vaizdo bei garso aprašą laikykite kartu, tada visame rezultate patikrinkite veiksmą, tapatybę, kameros tęstinumą ir garso suderinimą.
Ailoot Ultra · Vaizdo įrašai POST /v1/videos doubao-seedance-1-5-pro-251215
doubao-seedance-1-5-pro-251215
doubao-seedance-1-5-pro-251215Pradžia
Seedance 1.5 Pro generuoja vaizdo įrašą iš teksto ar vaizdo ir gali kurti sinchronizuotus balsus, efektus bei foninę muziką. Garsą galima įjungti arba išjungti; dokumentuotame profilyje siūlomos 4–12 sekundžių scenos, prisitaikantis kadravimas ir online arba flex apdorojimas.
- Leidžiamos įvestys
- Tekstas · Vaizdai
- Rezultatai
- Vaizdo įrašai
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Vaizdo įrašai POST /v1/videos
- Įvestis
text,image- Išvestis
video
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos doubao-seedance-1-5-pro-251215 | Numatyta— |
Laukascontent | Tipasarray | ReikalavimasPrivaloma | Reikšmės ir ribos Sąlygos: Pirminio formato teksto ir medijos objektai; išorinis masyvas turi būti netuščias. Šis bendras Ailoot konstruktorius netikrina įdėtų mazgų tipų. | Numatyta— |
Laukasduration | Tipasinteger | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Pagrindinė 1.x schema: 2–12; vėlesniame bendrame apraše 1.5 nurodyta 4–12 arba -1. Pavyzdyje naudojama abiejuose šaltiniuose dokumentuota 5 reikšmė. | Numatyta5 |
Laukasresolution | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos 480p, 720p Sąlygos: Seedance 1.5 Pro palaiko 480p ir 720p; 1080p neleidžiama. Dokumentacijoje nurodyta numatytoji skiriamoji geba yra 720p. | Numatyta720p |
Laukasratio | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Sąlygos: Dokumentacijoje nurodyta numatytoji Seedance 1.5 Pro kraštinių santykio reikšmė yra adaptive. Fiksuotų santykių pasirinkimai nesikeičia. | Numatytaadaptive |
Laukasservice_tier | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos default, flex Sąlygos: default=online, flex=offline; pasirinkite prieš kurdami. | Numatytadefault |
Laukasseed | Tipasinteger | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausia reikšmė: −1 Didžiausia reikšmė: 4 294 967 295 | Numatyta−1 |
Laukascamerafixed | Tipasboolean | ReikalavimasPrivaloma | Reikšmės ir ribos Sąlygos: Privalomas Ailoot; dokumentacijoje nurodyta, kad kameros valdymas naudojant pavyzdinį paveikslėlį nepalaikomas, o poveikis negarantuojamas. | Numatytafalse |
Laukaswatermark | Tipasboolean | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatytafalse |
Laukasexecution_expires_after | Tipasinteger | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausia reikšmė: 3 600 Didžiausia reikšmė: 259 200 Vienetas: sekundės | Numatyta172 800 |
Laukasgenerate_audio | Tipasboolean | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Tik 1.5: į sugeneruotą vaizdo įrašą įterptas sinchronizuotas garsas. | Numatytatrue |
Įvesties medžiagos deriniai
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijacamerafixed, content, execution_expires_after, model, seed, watermark |
Parametrasoptional | Specifikacijaduration, resolution, ratio, service_tier, generate_audio |
Parametrasmaterial_types | Specifikacijatext, image |
Parametrasadditional_properties | Specifikacijatrue |
Parametrasvalidation_scope | SpecifikacijaAiloot tikrina privalomų laukų tipus, ar model eilutė netuščia ir ar content masyvas netuščias. Kiti užklausos laukai išsaugomi pasirinktam modeliui. |
Parametrasimage_constraints | Specifikacija{"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} |
Metodo pseudonimai: /v1/videos/generations
Gyvavimo ciklas: 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
Sukurkite vieną kartą ir išsaugokite grąžintus viešuosius id/polling_url.
Periodiškai tikrinkite pradinę užduotį; gavę succeeded, atsisiųskite tikrą jums priklausantį content.video_url.
Planai
Kaip apskaičiuojamas galutinis mokestis
Rodomi įkainiai leidžia įvertinti kainą prieš generavimą. Galutinė suma apskaičiuojama pagal užfiksuotą pradinio generavimo kainą. Išmatuota rezultato trukmė ir prognozuoti kiekiai nėra galutinis apmokestinamas kiekis.
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Nenurodyta Pasirinkus spartųjį režimą
- Flex režimas
- Nenurodyta Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
Numatomi įkainiai palyginimui
Kainos pagal konfigūraciją
Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.
| Konfigūracija | Įkainių lentelė | Numatomas kiekis | Generuoti garsą | Paslaugos pakopa | Apskaitos vienetas | Mokestis |
|---|---|---|---|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Numatomas kiekis— | Generuoti garsą— | Paslaugos pakopa— | Apskaitos vienetas— | Mokestis Įvestis · Įvesties tokenai · Įvertis tik palyginimui — / 1K tokenų Išvestis · Išvesties tokenai · Įvertis tik palyginimui — / 1K tokenų Įvestis · Talpyklos skaitymas · Įvertis tik palyginimui — / 1K tokenų Įvestis · Rašymas į talpyklą · Įvertis tik palyginimui — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val · Įvertis tik palyginimui — / 1K tokenų |
| KonfigūracijaPaslaugos lygis: offline apdorojimas (flex). Išvestis su sinchronizuotu garsu. | Įkainių lentelė— | Numatomas kiekis— | Generuoti garsąSu garsu | Paslaugos pakopaflex | Apskaitos vienetasuž 1K vaizdo įrašo tokenų | Mokestis Išvestis · Įvertis tik palyginimui $0.0024 už 1K vaizdo įrašo tokenų |
| KonfigūracijaPaslaugos lygis: offline apdorojimas (flex). Išvestis be sinchronizuoto garso. | Įkainių lentelė— | Numatomas kiekis— | Generuoti garsąBe garso | Paslaugos pakopaflex | Apskaitos vienetasuž 1K vaizdo įrašo tokenų | Mokestis Išvestis · Įvertis tik palyginimui $0.0012 už 1K vaizdo įrašo tokenų |
| KonfigūracijaPaslaugos lygis: online apdorojimas (default). Išvestis su sinchronizuotu garsu. | Įkainių lentelė— | Numatomas kiekis— | Generuoti garsąSu garsu | Paslaugos pakopadefault | Apskaitos vienetasuž 1K vaizdo įrašo tokenų | Mokestis Išvestis · Įvertis tik palyginimui $0.0048 už 1K vaizdo įrašo tokenų |
| KonfigūracijaPaslaugos lygis: online apdorojimas (default). Išvestis be sinchronizuoto garso. | Įkainių lentelė— | Numatomas kiekis— | Generuoti garsąBe garso | Paslaugos pakopadefault | Apskaitos vienetasuž 1K vaizdo įrašo tokenų | Mokestis Išvestis · Įvertis tik palyginimui $0.0024 už 1K vaizdo įrašo tokenų |
| KonfigūracijaNumatoma generavimo kaina | Įkainių lentelė— | Numatomas kiekisvieno generavimo įvertis | Generuoti garsą— | Paslaugos pakopa— | Apskaitos vienetas— | Mokestis Išvestis · Numatoma generavimo kaina · Įvertis tik palyginimui $0.1152 įvertis prieš generavimą Šis įvertis nėra papildomas mokestis ar fiksuotas užbaigto generavimo įkainis. |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Užklausų pavyzdžiai
Ailoot Ultra · Vaizdo įrašai
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-1-5-pro-251215","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800,"generate_audio":false}
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
Gauti ir išsaugoti rezultatus
Ailoot Ultra · Vaizdo įrašai
Pirminis JSON su viešais id/polling_url. Po paskelbimo content.video_url turi Ailoot priklausančius pasirašytus URL; prieš paskelbimą pasirinktų rezultatų URL ištuštinami.
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną baigtą vaizdo įrašą arba grąžintą failą; gaukite turinį iš kiekvieno faktiškai grąžinto medžiagos URL.
Išsaugokite kiekvieną tikrą URL lauke content.video_url; index turi nurodyti tikrą grąžintą rezultatą.
Jei reikia patikrinti pradinį atsakymą
Išsaugokite pradinį atsakymą, antraštes ir id bei periodiškai tikrinkite tą operaciją; niekada neteikite kūrimo užklausos dar kartą, kai jos baigtis nežinoma.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukasid | Tipasstring |
Laukasprovider_task_id | Tipasstring |
Laukaspolling_url | Tipasstring |
Laukasstatus | Tipasstring when supplied |
Laukascontent.video_url | Tipasstring|string[] |
Laukasusage | Tipasobject when supplied |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNetinkamas JSON/model, privalomų laukų tipai arba turinio indeksas. | Kitas žingsnis |
Atsakymas401 · authentication_error | SąlygaNegaliojantis Ailoot API raktas. | Kitas žingsnis |
Atsakymas404 · not_found_error | SąlygaUžduoties ar rezultato nėra arba jie nepriklauso tam pačiam naudotojui, API raktui ir grupei. | Kitas žingsnis |
Atsakymas502 · result_pending_check | SąlygaPradinio pateikimo ar būsenos duomenys neišsamūs; išsaugokite pradinį ID, neteikite pakartotinai. | Kitas žingsnis |
Atsakymas503 · result_pending_check | SąlygaPradinė medija, maršrutas arba atsiskaitymas tikrinami; tęskite pradinę operaciją. | Kitas žingsnis |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra doubao-seedance-1-5-pro-251215
Metodų kelių pseudonimai
/v1/videos/generations
Susiję ID iškvietimui
FAQ · ByteDance: Seedance 1.5 Pro
- Kokios įvestys ir rezultatai prieinami?
POST /v1/videos·doubao-seedance-1-5-pro-251215:text,image→video- Kokius laukus naudoja užklausa?
POST /v1/videos·doubao-seedance-1-5-pro-251215:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after,generate_audio- Kokie apribojimai taikomi?
POST /v1/videos·doubao-seedance-1-5-pro-251215:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200