ByteDance: Seedance 2.5
Seedance 2.5 kuria vaizdo įrašą iš teksto bei vaizdų, vaizdo ar garso atskaitos medžiagos; dokumentuotos redagavimo ir pratęsimo darbo eigos. Konkrečiame 2.5 pavyzdyje gaminio vaizdas derinamas su keliais judėjimo pavyzdžiais ir įjungiamas generuojamas garsas, kad būtų sukurta suderinta reklaminė seka.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
Seedance 2.5 kuria vaizdo įrašą pagal rašytinę sceną ir multimodalinę atskaitos medžiagą. Tikslus identifikatorius doubao-seedance-2-5-260628 turi savo dokumentuotą operaciją ir pavyzdį. Ši operacija aprašo vaizdo generavimą, redagavimą bei pratęsimą, įvesties medijai naudojant vaizdus, vaizdo įrašus, garsą ir tekstą. Atskaitos medžiaga perteikite objekto išvaizdą, veiksmą, kameros judėjimą, stilių ir garsą, tada paaiškinkite, kokį rezultatą iš jos reikia sukurti.
Įvesties deriniai apima vien tekstą, vaizdus arba vaizdo įrašą su neprivalomu tekstu, vaizdus su garsu, vaizdo įrašą su garsu ir vaizdus, vaizdo įrašą bei garsą kartu. Išvardyti deriniai sieja garsą su vaizdine medžiaga, o ne aprašo vien garso užklausą. Kiekvieną elementą suskirstykite pagal vaidmenį: vaizdas nustato objektą ar išvaizdą, vaizdo įrašas parodo judėjimą ar esamą sceną, o garsas pateikia garso atskaitos pavyzdį. Nurodykite, kuris vaidmuo svarbus prašomam planui, kad fono pavyzdys nebūtų palaikytas pagrindiniu veikėju.
Konkrečiame 2.5 pavyzdyje kuriama gaminio reklamos seka. Pateikiamas vaizdas ir keli vaizdo atskaitos įrašai, tada aprašomas pradinis akcentas, tvarkingi gaminių išdėstymai, detalių planai, sulėtintas veiksmas ir baigiamoji prekės ženklo kompozicija. Užklausa priskiria reference_image ir reference_video vaidmenis bei naudoja atskirus pavyzdžius kompozicijai, judėjimui, kameros darbui ir poveikiui. Tai suteikia praktinę kampanijos idėjos struktūrą: suplanuokite matomus momentus, kiekvienam nurodykite atskaitos pavyzdį ir apibrėžkite galutinį išdėstymą.
Rašytinė seka gali atskirti, kas vyksta, nuo to, kaip tai filmuojama. Pirmiausia aprašykite gaminio veiksmą, tada plano stambumą, kameros kelią, tempą ir perėjimą į kitą vaizdą. Jei vienas pavyzdys nustato gaminį, o kitas parodo kameros judėjimą, šias atskiras paskirtis įvardykite. Scenai su keliais objektais paaiškinkite jų padėtis ir sąveikų tvarką. Sugeneruotame rezultate patikrinkite tikrą gaminio formą, išdėstymą ir judėjimą, užuot manę, kad kiekviena atskaitos medžiagos detalė išliks nepakeista.
Redaguodami nurodykite esamą vaizdo įrašą ir taisytiną elementą, pavyzdžiui, aplinką, veiksmą ar vaizdinį stilių, kartu apibrėždami išlaikytiną tęstinumą. Pratęsdami aprašykite, kaip scena turėtų tęstis iš pateiktos filmuotos medžiagos. Patikrinkite ne tik naują segmentą, bet ir jungtį: objekto išvaizda, judėjimo kryptis, kameros padėtis ir garso laikas lemia, ar rezultatas suvokiamas kaip viena scena. Pradinį vaizdo įrašą ir užbaigtą pataisytą versiją laikykite kartu, kad pakeitimą būtų galima patikrinti pagal norimą tęstinumą.
Dokumentuotame 2.5 multimodaliniame pavyzdyje nustatoma generate_audio=true ir prašoma penkiolikos sekundžių sekos su 16:9 kadravimu. Šios reikšmės apibūdina tą pavyzdį, o ne visuotinę trukmės ribą ar atskaitos failų apribojimą. Aiškiai aprašykite, kokio garso norite prašomai scenai, įskaitant muzikos, efektų ir matomo veiksmo ryšį, tada įvertinkite faktinę audiovizualinę išvestį. Garso atskaitos pavyzdį ir sugeneruotą garso takelį reikia vertinti kartu pagal norimą tempą bei atlikimą.
Trukmę, kadravimą ir raišką rinkitės iš šiam konkrečiam profiliui siūlomų nuostatų. Išsaugokite prašytą konfigūraciją kartu su užklausos tekstu ir palyginkite ją su faktiškai grąžintais užduoties laukais. Ruošdami užbaigtą klipą galutinei paskirčiai naudokite grąžintą trukmę, raišką ir santykį. Versijos įraše išlaikykite tikslų profilio identifikatorių, kad vėlesnis palyginimas naudotų tą patį pasirinktą leidimą.
Vaizdo žetonų naudojimas apskaičiuojamas taip: (įvesties vaizdo įrašo trukmė + išvesties vaizdo įrašo trukmė) × išvesties plotis × išvesties aukštis × išvesties kadrų dažnis / 1024. Užklausos su įvesties vaizdo įrašu ir užklausos be jo turi atskiras apmokestinimo kategorijas. Užduoties užklausa pateikia usage.completion_tokens ir usage.total_tokens; išsaugokite šiuos pateiktus kiekius kartu su užbaigtu klipu.
Generavimas yra asinchroninis. Pateikus užklausą grąžinamas identifikatorius, o sukonfigūruota užduoties eiga pateikia būseną ir, sėkmingai užbaigus, content.video_url. Išsaugokite užbaigtą klipą kartu su pradine medija ir sekos aprašu. Visame rezultate peržiūrėkite visus suplanuotus momentus, objektų sąveikas, veikėjų išvaizdą, kadravimą ir garso suderinimą. Taisydami nurodykite konkrečią nepavykusią detalę ir išlaikykite pavykusias scenos dalis, užuot visą aprašą pakeitę nesusijusiais nurodymais.
Ailoot Ultra · Vaizdo įrašai POST /v1/videos doubao-seedance-2-5-260628
doubao-seedance-2-5-260628Pradžia
Seedance 2.5 kuria vaizdo įrašą iš teksto bei vaizdų, vaizdo ar garso atskaitos medžiagos; dokumentuotos redagavimo ir pratęsimo darbo eigos. Konkrečiame 2.5 pavyzdyje gaminio vaizdas derinamas su keliais judėjimo pavyzdžiais ir įjungiamas generuojamas garsas, kad būtų sukurta suderinta reklaminė seka.
- Leidžiamos įvestys
- Tekstas · Vaizdai · Vaizdo įrašai · Garsas
- Rezultatai
- Vaizdo įrašai
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Vaizdo įrašai POST /v1/videos
- Įvestis
text,image,video,audio- Išvestis
video
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos doubao-seedance-2-5-260628 | 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— |
Laukasgenerate_audio | Tipasboolean | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: 2.5 pavyzdyje nustatyta true, tačiau nukopijuotame parinkiklio apraše išvardyti tik 2.0/fast/1.5; platesnis nustatymų ar numatytųjų reikšmių taikymas negarantuojamas. | Numatyta— |
Laukasduration | Tipasinteger | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Tiesioginė 2.5 pavyzdžio reikšmė 15 nėra maksimumas ar numatytoji reikšmė. | Numatyta— |
Laukasresolution | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Iš nukopijuotų aprašų nenumanoma 2.5 būdinga numatytoji reikšmė ar išvardijimo tipas. | Numatyta— |
Laukasratio | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Prisitaikantis režimas aiškiai priskirtas 2.0/fast/1.5; 2.5 pavyzdyje pateiktas tik 16:9. | Numatyta— |
Laukaswatermark | Tipasboolean | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
Laukasseed | Tipasinteger | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: −1 Didžiausia reikšmė: 4 294 967 295 | Numatyta−1 |
Laukasexecution_expires_after | Tipasinteger | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 3 600 Didžiausia reikšmė: 259 200 Vienetas: sekundės | Numatyta172 800 |
Laukasservice_tier | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: 2.0/fast neleidžia neprisijungus vykdomo flex režimo; 2.5 taikymo sritis nenustatyta. | Numatyta— |
Laukassafety_identifier | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Įvesties medžiagos deriniai
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijacontent, model |
Parametrasoptional | Specifikacijagenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier |
Parametrasmaterial_types | Specifikacijatext, image, video, audio |
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. |
Parametrasmaterial_combinations | Specifikacijatext, image, video, image, audio, image, video, video, audio, image, video, audio |
Parametrasoptional_text_with_media | Specifikacijatrue |
Parametrasreference_media_count_and_size_limits | Specifikacijanull |
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 | Apskaitos vienetas | Mokestis |
|---|---|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Numatomas kiekis— | 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ūracijaĮvestyje yra vaizdo įrašas. | Įkainių lentelė— | Numatomas kiekis— | Apskaitos vienetasuž 1K vaizdo įrašo tokenų | Mokestis Išvestis · Įvertis tik palyginimui $0.012 už 1K vaizdo įrašo tokenų |
| KonfigūracijaĮvestyje nėra vaizdo įrašų. | Įkainių lentelė— | Numatomas kiekis— | Apskaitos vienetasuž 1K vaizdo įrašo tokenų | Mokestis Išvestis · Įvertis tik palyginimui $0.02 už 1K vaizdo įrašo tokenų |
| KonfigūracijaNumatoma generavimo kaina | Įkainių lentelė— | Numatomas kiekisvieno generavimo įvertis | Apskaitos vienetas— | Mokestis Išvestis · Numatoma generavimo kaina · Įvertis tik palyginimui $0.822402 į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-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
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-2-5-260628
Metodų kelių pseudonimai
/v1/videos/generations
Susiję ID iškvietimui
FAQ · ByteDance: Seedance 2.5
- Kokios įvestys ir rezultatai prieinami?
POST /v1/videos·doubao-seedance-2-5-260628:text,image,video,audio→video- Kokius laukus naudoja užklausa?
POST /v1/videos·doubao-seedance-2-5-260628:model,content,generate_audio,duration,resolution,ratio,watermark,seed,execution_expires_after,service_tier,safety_identifier- Kokie apribojimai taikomi?
POST /v1/videos·doubao-seedance-2-5-260628:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200