{
  "aboutHtml": "<p>Seedance 2.0 yra standartinis ByteDance Seed modelis daugiarūšei garso ir vaizdo kūrybai. Bendro generavimo architektūroje jis jungia tekstą, vaizdus, vaizdo įrašus bei garsą, turėdamas atskirus kūrybinius procesus etalonais grindžiamoms scenoms, vaizdo redagavimui ir pratęsimui. Jis naudingas, kai užduočiai reikia ir nuoseklaus atlikimo, ir konkrečios vaizdinės ar garsinės informacijos iš paruoštos medžiagos.</p><h4>Daugiarūšiai etalonai ir režisūrinis valdymas</h4><p>Vaizdai gali apibrėžti subjekto išvaizdą, vizualinį stilių ir kompoziciją. Vaizdo etalonai gali nukreipti veiksmą, kameros judėjimą bei efektus. Garsas gali nukreipti balso tembrą, muziką ar dialogą. Apibrėžkite kiekvienos medžiagos vaidmenį, tada aprašykite sceną, kuri turi gautis. Gamintojas pabrėžia atlikimo, apšvietimo, šešėlių ir kameros kalbos valdymą.</p><p>Produkto istorijai paruoškite produkto vaizdą, kameros judesio etaloną ir garso žymą. Užduotis galėtų būti: „Išsaugokite mėlyną stiklinę vazą iš Image 1. Naudokite lėtą šoninį kameros sekimo judesį iš Video 1. Vaza stovi saulės apšviestoje lentynoje, skambant švelniai instrumentinei muzikai pagal Audio 1.“ Numatytas rezultatas yra naujai pastatyta scena, jungianti pasirinktą etalonų informaciją.</p><p>Etalonų įvestys gali jungti vaizdą ir garsą, vaizdą ir vaizdo įrašą, vaizdo įrašą ir garsą arba visus tris. Vien garso įvestis ir tekstas su garsu be vaizdo ar vaizdo įrašo nepalaikomi. Taip pat dokumentuojamas tradicinis vaizdo kūrimas iš teksto, generavimas pagal pirmąjį kadrą bei pagal pirmąjį ir paskutinįjį kadrus. Jei svarbios fiksuotos pradžios ir pabaigos kompozicijos, naudokite specialų ribinių kadrų procesą: etaloninio vaizdo įvardijimas galiniu tašku omni etalonų užklausoje yra tik netiesioginis nukreipimo būdas.</p><h4>Filmuotos medžiagos redagavimas</h4><p>Modelis gali pakeisti subjektą, pridėti ar pašalinti objektus, keisti elementus ir perpiešti ar pataisyti vaizdo įrašo dalis. Aprašykite konkretų pakeitimą ir nurodykite šaltinio medžiagą. Pridėjimui pateikite pasirodymo laiką bei vietą; šalinimui ar pakeitimui tiksliai nurodykite objektą ir įvardykite, kas turi išlikti.</p><p>Pavyzdžiui: „Stalinį šviestuvą Video 1 pakeiskite žalvariniu šviestuvu iš Image 1. Išsaugokite kameros judėjimą, stalo išdėstymą ir apšvietimo kryptį.“ Norimas rezultatas yra redaguota scenos versija su numatytu pakeitimu. Patikrinkite nepakeistas sritis ir naują objektą, ypač uždengimo, judėjimo bei kadrų pasikeitimo metu.</p><h4>Sekos pratęsimas ir sujungimas</h4><p>Seedance 2.0 gali pratęsti vaizdo įrašą pirmyn arba atgal ir sujungti iki trijų pateiktų klipų sugeneruotais perėjimais. Nurodykite laiko kryptį ir naują įvykį. Jungčiai išrikiuokite klipus ir aprašykite perėjimą tarp kiekvienos poros, pavyzdžiui, kaip kamera viename kadre įeina pro duris ir atsiduria kitoje aplinkoje.</p><p>Paprastas pratęsimas paprastai grąžina tęsinį, išplėtotą aplink šaltinio medžiagą; įtraukite aiškią instrukciją, jei galutinis rezultatas taip pat turi pakartoti originalų segmentą. Užbaigiant jungtį tarp dviejų ar trijų klipų dokumentuotas procesas gali apimti ir originalią medžiagą, ir naują perėjimo turinį. Tai naudinga pradžiai ar pabaigai plėtoti arba paruoštoms scenoms sujungti nepaliekant jungiančio veiksmo neapibrėžto.</p><h4>Standartinės versijos išvestis ir 4K</h4><p>Standartinė versija dokumentuoja MP4 su 24 fps ir trukmėmis nuo 4 iki 15 sekundžių. Išvesties lygiai yra 480p, 720p ir 1080p su 8 bitų spalvos gyliu bei 4K su 10 bitų spalvos gyliu. Palaikomi santykiai yra 21:9, 16:9, 4:3, 1:1, 3:4 ir 9:16. Taip pat dokumentuojamas adaptyvus kadravimas ir automatinis trukmės pasirinkimas. Fast versija turi savą siauresnę 480p/720p išvesties specifikaciją.</p><p>4K išvestis naudoja H.265/HEVC kodavimą. Dešimties bitų kodavimas išsaugo papildomas tonų gradacijas ir sklandesnius spalvų perėjimus, o tai svarbu medžiagai su subtiliais šviesos ar spalvos gradientais. Patikrinkite, ar numatyta atkūrimo ir redagavimo aplinka gali dekoduoti šį formatą; kai kurios naršyklės bei įrenginiai jo tiesiogiai neatkuria. Suderinamas konteineris savaime neužtikrina suderinamo vaizdo dekodavimo.</p><p>Modelis gali generuoti sinchronizuotą garsą arba tylų vaizdo įrašą ir gali grąžinti paskutinį sugeneruotą kadrą tolesnei scenai. Sugeneruotas garsas yra mono. 2.0 šeima nepalaiko atskiro dviejų etapų Draft peržiūros režimo, todėl šios peržiūros funkcijos nereikėtų numanyti iš kitos Seedance versijos.</p><h4>Etalonų paruošimas ir esminiai apribojimai</h4><p>Dokumentuota etalonų talpa yra iki devynių vaizdų, trijų vaizdo įrašų ir trijų garso klipų. Tiesioginiai etaloninių vaizdų ar vaizdo įrašų su tikrais žmonių veidais įkėlimai šiame dokumentuotame gamintojo profilyje nepriimami; portretų darbui naudojamas palaikomas portretinių išteklių procesas. Kiekvienas vaizdo ir garso klipas turi trukti 2–15 sekundžių. Visi vaizdo etalonai kartu turi tilpti į 15 sekundžių, o visi garso etalonai kartu turi savą 15 sekundžių bendrą ribą. Vaizdo failai naudoja MP4 arba MOV su 24–60 fps, iki 200 MB kiekvienas; garso failai naudoja WAV arba MP3, iki 15 MB kiekvienas. Nurodyti vaizdų formatai yra JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC ir HEIF. Kiekvienas vaizdas turi būti mažesnis nei 30 MB, o užklausos turinys neturi viršyti 64 MB. Dokumentuotame etalonų įvesties profilyje vaizdo plotis ir aukštis kiekvienas turi būti griežtai tarp 300 ir 6 000 pikselių, o pločio ir aukščio santykis – griežtai tarp 0.4 ir 2.5. Etaloniniai vaizdo įrašai leidžia 300–6 000 pikselių kiekvienam matmeniui ir santykius 0.4–2.5 imtinai, su 407 696–8 295 044 bendrų pikselių. MP4 ar MOV įrašai naudoja H.264/AVC arba H.265/HEVC vaizdą ir AAC arba MP3 garsą.</p><p>Failus sąmoningai išrikiuokite ir kiekvieną nurodykite pagal jo medijos tipą bei numerį: Image 1, Video 1 ir Audio 1. Numeris atitinka tvarką tarp to tipo failų. Paaiškinkite, kuriuos bruožus perkelti ir kuris šaltinio turinys neturi apibrėžti naujos scenos. Dokumentuotos užklausų kalbos apima anglų, ispanų, indoneziečių, portugalų ir japonų. Dialoge išlaikykite nuoseklią sakytinę kalbą; vadovas pataria nemaišyti kalbų, išskyrus tikrinius vardus. Balsu grindžiamam darbui atskirkite kalbėtoją, tikslią frazę ir atlikimo instrukciją.</p><p>Pirmąjį ir paskutinįjį vaizdus paruoškite su suderinamu kadravimu. Įvesties vaizdo ir išvesties matmenų neatitikimas gali sukelti nukirpimą ar staigų vaizdo pokytį; suderinti matmenys ir adaptyvus kadravimas yra dokumentuoti sprendimai. Aprašą sutelkite į įvykį ir etalonų vaidmenis. Gamintojas perspėja, kad ilgos užklausos gali išsklaidyti informaciją ir lemti detalių ignoravimą. Gautą judėjimą, etalonų tęstinumą, garso atlikimą ir scenų sujungimus peržiūrėkite kaip atskiras kūrybinio rezultato dalis.</p><h4>Kadrų planavimas ir teksto režisavimas</h4><p>Sudėtingai scenai užduotį organizuokite kaip Shot 1, Shot 2 ir Shot 3, iš eilės nurodydami kamerą, subjekto veiksmą, vietą bei garsą. Vadovas rekomenduoja vieną kameros judesį vienam kadrui ir pirmenybę lėtiems, susietiems veiksmams. Tikslios atskirų kadrų laiko žymos nestabilios, todėl įvykių seka yra geresnis valdiklis nei kelių tikslių laiko langų primetimas.</p><p>Modelis taip pat generuoja įprastą tekstą, įskaitant šūkius, subtitrus ir kalbos burbulus. Galite nukreipti teksto spalvą, vizualinį perteikimą, vietą ir pasirodymą. Naudokite įprastus rašmenis, o ne retus rašmenis ar specialiuosius simbolius, ir patikrinkite formuluotes judant. Subjektų etalonams kiekvieną išteklių aiškiai susiekite su numatytu veikėju ar objektu. Produkto vaizdai iš skirtingų kampų gali pateikti skirtingą vaizdinę informaciją; veikėjo vaizdų iš skirtingų pusių koliažai gali supainioti veido tapatybę. Atskiras aiškus galvos portretas ir viso kūno vaizdas yra dokumentuota veikėjų etalonų rekomendacija.</p><h4>Elgsena, kurią reikia patikrinti prieš montažą</h4><p>Vadovas dokumentuoja nepageidaujamus subtitrus, logotipus, pasikartojančius veikėjus ir stiliaus nukrypimą. Švari šaltinio medžiaga, nuoseklios žymos ir aiškūs apribojimai sumažina šias rizikas, tačiau negarantuoja nepageidaujamo teksto ar dubliuotų figūrų išnykimo. Daugiau nei keturi etaloniniai žmonės įvardijami kaip stabilumo rizika, atskira nuo modelio priimamo failų skaičiaus.</p><p>Vaizdo pratęsimas gali sukelti šuolį ar grįžimą atgal ties sujungimu, o pakartotiniai tęsiniai gali kaupti vaizdo kokybės blogėjimą. Patikrinkite ribinius kadrus ir ribokite nuoseklius pratęsimus. Etaloninis balsas gali skirtis nuo šaltinio tembro; pasakojimas gali baigtis spragtelėjimu ar staigiu nukirtimu, kuriems dokumentuotas sprendimas yra garso išblukimas. Kelis tarimo variantus turintys, reti ar panašios formos kinų rašmenys gali būti ištarti neteisingai. Tiksliam animuotam efektui, pavyzdžiui, atgaliniam skaičiavimui, judesio etalonas informatyvesnis nei vien žodinis prašymas. Tai konkrečios priežastys atskirai tikrinti tapatybę, tekstą, judėjimą ir garsą renkantis klipą.</p>",
  "aboutText": "Seedance 2.0 yra standartinis ByteDance Seed modelis daugiarūšei garso ir vaizdo kūrybai. Bendro generavimo architektūroje jis jungia tekstą, vaizdus, vaizdo įrašus bei garsą, turėdamas atskirus kūrybinius procesus etalonais grindžiamoms scenoms, vaizdo redagavimui ir pratęsimui. Jis naudingas, kai užduočiai reikia ir nuoseklaus atlikimo, ir konkrečios vaizdinės ar garsinės informacijos iš paruoštos medžiagos.\n\n### Daugiarūšiai etalonai ir režisūrinis valdymas\n\nVaizdai gali apibrėžti subjekto išvaizdą, vizualinį stilių ir kompoziciją. Vaizdo etalonai gali nukreipti veiksmą, kameros judėjimą bei efektus. Garsas gali nukreipti balso tembrą, muziką ar dialogą. Apibrėžkite kiekvienos medžiagos vaidmenį, tada aprašykite sceną, kuri turi gautis. Gamintojas pabrėžia atlikimo, apšvietimo, šešėlių ir kameros kalbos valdymą.\n\nProdukto istorijai paruoškite produkto vaizdą, kameros judesio etaloną ir garso žymą. Užduotis galėtų būti: „Išsaugokite mėlyną stiklinę vazą iš Image 1. Naudokite lėtą šoninį kameros sekimo judesį iš Video 1. Vaza stovi saulės apšviestoje lentynoje, skambant švelniai instrumentinei muzikai pagal Audio 1.“ Numatytas rezultatas yra naujai pastatyta scena, jungianti pasirinktą etalonų informaciją.\n\nEtalonų įvestys gali jungti vaizdą ir garsą, vaizdą ir vaizdo įrašą, vaizdo įrašą ir garsą arba visus tris. Vien garso įvestis ir tekstas su garsu be vaizdo ar vaizdo įrašo nepalaikomi. Taip pat dokumentuojamas tradicinis vaizdo kūrimas iš teksto, generavimas pagal pirmąjį kadrą bei pagal pirmąjį ir paskutinįjį kadrus. Jei svarbios fiksuotos pradžios ir pabaigos kompozicijos, naudokite specialų ribinių kadrų procesą: etaloninio vaizdo įvardijimas galiniu tašku omni etalonų užklausoje yra tik netiesioginis nukreipimo būdas.\n\n### Filmuotos medžiagos redagavimas\n\nModelis gali pakeisti subjektą, pridėti ar pašalinti objektus, keisti elementus ir perpiešti ar pataisyti vaizdo įrašo dalis. Aprašykite konkretų pakeitimą ir nurodykite šaltinio medžiagą. Pridėjimui pateikite pasirodymo laiką bei vietą; šalinimui ar pakeitimui tiksliai nurodykite objektą ir įvardykite, kas turi išlikti.\n\nPavyzdžiui: „Stalinį šviestuvą Video 1 pakeiskite žalvariniu šviestuvu iš Image 1. Išsaugokite kameros judėjimą, stalo išdėstymą ir apšvietimo kryptį.“ Norimas rezultatas yra redaguota scenos versija su numatytu pakeitimu. Patikrinkite nepakeistas sritis ir naują objektą, ypač uždengimo, judėjimo bei kadrų pasikeitimo metu.\n\n### Sekos pratęsimas ir sujungimas\n\nSeedance 2.0 gali pratęsti vaizdo įrašą pirmyn arba atgal ir sujungti iki trijų pateiktų klipų sugeneruotais perėjimais. Nurodykite laiko kryptį ir naują įvykį. Jungčiai išrikiuokite klipus ir aprašykite perėjimą tarp kiekvienos poros, pavyzdžiui, kaip kamera viename kadre įeina pro duris ir atsiduria kitoje aplinkoje.\n\nPaprastas pratęsimas paprastai grąžina tęsinį, išplėtotą aplink šaltinio medžiagą; įtraukite aiškią instrukciją, jei galutinis rezultatas taip pat turi pakartoti originalų segmentą. Užbaigiant jungtį tarp dviejų ar trijų klipų dokumentuotas procesas gali apimti ir originalią medžiagą, ir naują perėjimo turinį. Tai naudinga pradžiai ar pabaigai plėtoti arba paruoštoms scenoms sujungti nepaliekant jungiančio veiksmo neapibrėžto.\n\n### Standartinės versijos išvestis ir 4K\n\nStandartinė versija dokumentuoja MP4 su 24 fps ir trukmėmis nuo 4 iki 15 sekundžių. Išvesties lygiai yra 480p, 720p ir 1080p su 8 bitų spalvos gyliu bei 4K su 10 bitų spalvos gyliu. Palaikomi santykiai yra 21:9, 16:9, 4:3, 1:1, 3:4 ir 9:16. Taip pat dokumentuojamas adaptyvus kadravimas ir automatinis trukmės pasirinkimas. Fast versija turi savą siauresnę 480p/720p išvesties specifikaciją.\n\n4K išvestis naudoja H.265/HEVC kodavimą. Dešimties bitų kodavimas išsaugo papildomas tonų gradacijas ir sklandesnius spalvų perėjimus, o tai svarbu medžiagai su subtiliais šviesos ar spalvos gradientais. Patikrinkite, ar numatyta atkūrimo ir redagavimo aplinka gali dekoduoti šį formatą; kai kurios naršyklės bei įrenginiai jo tiesiogiai neatkuria. Suderinamas konteineris savaime neužtikrina suderinamo vaizdo dekodavimo.\n\nModelis gali generuoti sinchronizuotą garsą arba tylų vaizdo įrašą ir gali grąžinti paskutinį sugeneruotą kadrą tolesnei scenai. Sugeneruotas garsas yra mono. 2.0 šeima nepalaiko atskiro dviejų etapų Draft peržiūros režimo, todėl šios peržiūros funkcijos nereikėtų numanyti iš kitos Seedance versijos.\n\n### Etalonų paruošimas ir esminiai apribojimai\n\nDokumentuota etalonų talpa yra iki devynių vaizdų, trijų vaizdo įrašų ir trijų garso klipų. Tiesioginiai etaloninių vaizdų ar vaizdo įrašų su tikrais žmonių veidais įkėlimai šiame dokumentuotame gamintojo profilyje nepriimami; portretų darbui naudojamas palaikomas portretinių išteklių procesas. Kiekvienas vaizdo ir garso klipas turi trukti 2–15 sekundžių. Visi vaizdo etalonai kartu turi tilpti į 15 sekundžių, o visi garso etalonai kartu turi savą 15 sekundžių bendrą ribą. Vaizdo failai naudoja MP4 arba MOV su 24–60 fps, iki 200 MB kiekvienas; garso failai naudoja WAV arba MP3, iki 15 MB kiekvienas. Nurodyti vaizdų formatai yra JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC ir HEIF. Kiekvienas vaizdas turi būti mažesnis nei 30 MB, o užklausos turinys neturi viršyti 64 MB. Dokumentuotame etalonų įvesties profilyje vaizdo plotis ir aukštis kiekvienas turi būti griežtai tarp 300 ir 6 000 pikselių, o pločio ir aukščio santykis – griežtai tarp 0.4 ir 2.5. Etaloniniai vaizdo įrašai leidžia 300–6 000 pikselių kiekvienam matmeniui ir santykius 0.4–2.5 imtinai, su 407 696–8 295 044 bendrų pikselių. MP4 ar MOV įrašai naudoja H.264/AVC arba H.265/HEVC vaizdą ir AAC arba MP3 garsą.\n\nFailus sąmoningai išrikiuokite ir kiekvieną nurodykite pagal jo medijos tipą bei numerį: Image 1, Video 1 ir Audio 1. Numeris atitinka tvarką tarp to tipo failų. Paaiškinkite, kuriuos bruožus perkelti ir kuris šaltinio turinys neturi apibrėžti naujos scenos. Dokumentuotos užklausų kalbos apima anglų, ispanų, indoneziečių, portugalų ir japonų. Dialoge išlaikykite nuoseklią sakytinę kalbą; vadovas pataria nemaišyti kalbų, išskyrus tikrinius vardus. Balsu grindžiamam darbui atskirkite kalbėtoją, tikslią frazę ir atlikimo instrukciją.\n\nPirmąjį ir paskutinįjį vaizdus paruoškite su suderinamu kadravimu. Įvesties vaizdo ir išvesties matmenų neatitikimas gali sukelti nukirpimą ar staigų vaizdo pokytį; suderinti matmenys ir adaptyvus kadravimas yra dokumentuoti sprendimai. Aprašą sutelkite į įvykį ir etalonų vaidmenis. Gamintojas perspėja, kad ilgos užklausos gali išsklaidyti informaciją ir lemti detalių ignoravimą. Gautą judėjimą, etalonų tęstinumą, garso atlikimą ir scenų sujungimus peržiūrėkite kaip atskiras kūrybinio rezultato dalis.\n\n### Kadrų planavimas ir teksto režisavimas\n\nSudėtingai scenai užduotį organizuokite kaip Shot 1, Shot 2 ir Shot 3, iš eilės nurodydami kamerą, subjekto veiksmą, vietą bei garsą. Vadovas rekomenduoja vieną kameros judesį vienam kadrui ir pirmenybę lėtiems, susietiems veiksmams. Tikslios atskirų kadrų laiko žymos nestabilios, todėl įvykių seka yra geresnis valdiklis nei kelių tikslių laiko langų primetimas.\n\nModelis taip pat generuoja įprastą tekstą, įskaitant šūkius, subtitrus ir kalbos burbulus. Galite nukreipti teksto spalvą, vizualinį perteikimą, vietą ir pasirodymą. Naudokite įprastus rašmenis, o ne retus rašmenis ar specialiuosius simbolius, ir patikrinkite formuluotes judant. Subjektų etalonams kiekvieną išteklių aiškiai susiekite su numatytu veikėju ar objektu. Produkto vaizdai iš skirtingų kampų gali pateikti skirtingą vaizdinę informaciją; veikėjo vaizdų iš skirtingų pusių koliažai gali supainioti veido tapatybę. Atskiras aiškus galvos portretas ir viso kūno vaizdas yra dokumentuota veikėjų etalonų rekomendacija.\n\n### Elgsena, kurią reikia patikrinti prieš montažą\n\nVadovas dokumentuoja nepageidaujamus subtitrus, logotipus, pasikartojančius veikėjus ir stiliaus nukrypimą. Švari šaltinio medžiaga, nuoseklios žymos ir aiškūs apribojimai sumažina šias rizikas, tačiau negarantuoja nepageidaujamo teksto ar dubliuotų figūrų išnykimo. Daugiau nei keturi etaloniniai žmonės įvardijami kaip stabilumo rizika, atskira nuo modelio priimamo failų skaičiaus.\n\nVaizdo pratęsimas gali sukelti šuolį ar grįžimą atgal ties sujungimu, o pakartotiniai tęsiniai gali kaupti vaizdo kokybės blogėjimą. Patikrinkite ribinius kadrus ir ribokite nuoseklius pratęsimus. Etaloninis balsas gali skirtis nuo šaltinio tembro; pasakojimas gali baigtis spragtelėjimu ar staigiu nukirtimu, kuriems dokumentuotas sprendimas yra garso išblukimas. Kelis tarimo variantus turintys, reti ar panašios formos kinų rašmenys gali būti ištarti neteisingai. Tiksliam animuotam efektui, pavyzdžiui, atgaliniam skaičiavimui, judesio etalonas informatyvesnis nei vien žodinis prašymas. Tai konkrečios priežastys atskirai tikrinti tapatybę, tekstą, judėjimą ir garsą renkantis klipą.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "aeeff0ce140c9de6398ca1d3e26710dac86995833af39d147e0221c032d4433a",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "lt",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">ByteDance: Seedance 2.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Uždaryti\">×</button></div><div class=\"idline\"><span>ByteDance /</span><code>bytedance/seedance-2.0</code><button type=\"button\" id=\"copy-id\">Kopijuoti ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Modelio kortelės skyriai\"><button type=\"button\" data-card-jump=\"overview\">Pradžia</button><button type=\"button\" data-card-jump=\"methods\">Įvestys ir metodai</button><button type=\"button\" data-card-jump=\"pricing\">Planai</button><button type=\"button\" data-card-jump=\"examples\">Pavyzdžiai</button><button type=\"button\" data-card-jump=\"results\">Rezultatai</button><button type=\"button\" data-card-jump=\"aliases\">Pseudonimai</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API metodai\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|videos|/v1/videos|bytedance%2Fseedance-2.0\">Vaizdo įrašai</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Pradžia</h3><p class=\"mdesc-full\">ByteDance Seedance 2.0 jungia savąjį garso ir vaizdo generavimą su vaizdų, vaizdo bei garso etalonais. Režisuokite naujas scenas, redaguokite esamą medžiagą ar pratęskite seką; standartinė versija apima dokumentuotą 1080p ir 10 bitų 4K išvestį.</p><dl class=\"card-io\" data-card-io><div><dt>Leidžiamos įvestys</dt><dd>Tekstas · Vaizdai · Garsas</dd></div><div><dt>Rezultatai</dt><dd>Vaizdo įrašai</dd></div></dl><details class=\"card-about\"><summary>Apie modelį</summary><p class=\"note-s\" data-model-method-boundary>Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.</p><div class=\"mabout\" id=\"m-about\"><p>Seedance 2.0 yra standartinis ByteDance Seed modelis daugiarūšei garso ir vaizdo kūrybai. Bendro generavimo architektūroje jis jungia tekstą, vaizdus, vaizdo įrašus bei garsą, turėdamas atskirus kūrybinius procesus etalonais grindžiamoms scenoms, vaizdo redagavimui ir pratęsimui. Jis naudingas, kai užduočiai reikia ir nuoseklaus atlikimo, ir konkrečios vaizdinės ar garsinės informacijos iš paruoštos medžiagos.</p><h4>Daugiarūšiai etalonai ir režisūrinis valdymas</h4><p>Vaizdai gali apibrėžti subjekto išvaizdą, vizualinį stilių ir kompoziciją. Vaizdo etalonai gali nukreipti veiksmą, kameros judėjimą bei efektus. Garsas gali nukreipti balso tembrą, muziką ar dialogą. Apibrėžkite kiekvienos medžiagos vaidmenį, tada aprašykite sceną, kuri turi gautis. Gamintojas pabrėžia atlikimo, apšvietimo, šešėlių ir kameros kalbos valdymą.</p><p>Produkto istorijai paruoškite produkto vaizdą, kameros judesio etaloną ir garso žymą. Užduotis galėtų būti: „Išsaugokite mėlyną stiklinę vazą iš Image 1. Naudokite lėtą šoninį kameros sekimo judesį iš Video 1. Vaza stovi saulės apšviestoje lentynoje, skambant švelniai instrumentinei muzikai pagal Audio 1.“ Numatytas rezultatas yra naujai pastatyta scena, jungianti pasirinktą etalonų informaciją.</p><p>Etalonų įvestys gali jungti vaizdą ir garsą, vaizdą ir vaizdo įrašą, vaizdo įrašą ir garsą arba visus tris. Vien garso įvestis ir tekstas su garsu be vaizdo ar vaizdo įrašo nepalaikomi. Taip pat dokumentuojamas tradicinis vaizdo kūrimas iš teksto, generavimas pagal pirmąjį kadrą bei pagal pirmąjį ir paskutinįjį kadrus. Jei svarbios fiksuotos pradžios ir pabaigos kompozicijos, naudokite specialų ribinių kadrų procesą: etaloninio vaizdo įvardijimas galiniu tašku omni etalonų užklausoje yra tik netiesioginis nukreipimo būdas.</p><h4>Filmuotos medžiagos redagavimas</h4><p>Modelis gali pakeisti subjektą, pridėti ar pašalinti objektus, keisti elementus ir perpiešti ar pataisyti vaizdo įrašo dalis. Aprašykite konkretų pakeitimą ir nurodykite šaltinio medžiagą. Pridėjimui pateikite pasirodymo laiką bei vietą; šalinimui ar pakeitimui tiksliai nurodykite objektą ir įvardykite, kas turi išlikti.</p><p>Pavyzdžiui: „Stalinį šviestuvą Video 1 pakeiskite žalvariniu šviestuvu iš Image 1. Išsaugokite kameros judėjimą, stalo išdėstymą ir apšvietimo kryptį.“ Norimas rezultatas yra redaguota scenos versija su numatytu pakeitimu. Patikrinkite nepakeistas sritis ir naują objektą, ypač uždengimo, judėjimo bei kadrų pasikeitimo metu.</p><h4>Sekos pratęsimas ir sujungimas</h4><p>Seedance 2.0 gali pratęsti vaizdo įrašą pirmyn arba atgal ir sujungti iki trijų pateiktų klipų sugeneruotais perėjimais. Nurodykite laiko kryptį ir naują įvykį. Jungčiai išrikiuokite klipus ir aprašykite perėjimą tarp kiekvienos poros, pavyzdžiui, kaip kamera viename kadre įeina pro duris ir atsiduria kitoje aplinkoje.</p><p>Paprastas pratęsimas paprastai grąžina tęsinį, išplėtotą aplink šaltinio medžiagą; įtraukite aiškią instrukciją, jei galutinis rezultatas taip pat turi pakartoti originalų segmentą. Užbaigiant jungtį tarp dviejų ar trijų klipų dokumentuotas procesas gali apimti ir originalią medžiagą, ir naują perėjimo turinį. Tai naudinga pradžiai ar pabaigai plėtoti arba paruoštoms scenoms sujungti nepaliekant jungiančio veiksmo neapibrėžto.</p><h4>Standartinės versijos išvestis ir 4K</h4><p>Standartinė versija dokumentuoja MP4 su 24 fps ir trukmėmis nuo 4 iki 15 sekundžių. Išvesties lygiai yra 480p, 720p ir 1080p su 8 bitų spalvos gyliu bei 4K su 10 bitų spalvos gyliu. Palaikomi santykiai yra 21:9, 16:9, 4:3, 1:1, 3:4 ir 9:16. Taip pat dokumentuojamas adaptyvus kadravimas ir automatinis trukmės pasirinkimas. Fast versija turi savą siauresnę 480p/720p išvesties specifikaciją.</p><p>4K išvestis naudoja H.265/HEVC kodavimą. Dešimties bitų kodavimas išsaugo papildomas tonų gradacijas ir sklandesnius spalvų perėjimus, o tai svarbu medžiagai su subtiliais šviesos ar spalvos gradientais. Patikrinkite, ar numatyta atkūrimo ir redagavimo aplinka gali dekoduoti šį formatą; kai kurios naršyklės bei įrenginiai jo tiesiogiai neatkuria. Suderinamas konteineris savaime neužtikrina suderinamo vaizdo dekodavimo.</p><p>Modelis gali generuoti sinchronizuotą garsą arba tylų vaizdo įrašą ir gali grąžinti paskutinį sugeneruotą kadrą tolesnei scenai. Sugeneruotas garsas yra mono. 2.0 šeima nepalaiko atskiro dviejų etapų Draft peržiūros režimo, todėl šios peržiūros funkcijos nereikėtų numanyti iš kitos Seedance versijos.</p><h4>Etalonų paruošimas ir esminiai apribojimai</h4><p>Dokumentuota etalonų talpa yra iki devynių vaizdų, trijų vaizdo įrašų ir trijų garso klipų. Tiesioginiai etaloninių vaizdų ar vaizdo įrašų su tikrais žmonių veidais įkėlimai šiame dokumentuotame gamintojo profilyje nepriimami; portretų darbui naudojamas palaikomas portretinių išteklių procesas. Kiekvienas vaizdo ir garso klipas turi trukti 2–15 sekundžių. Visi vaizdo etalonai kartu turi tilpti į 15 sekundžių, o visi garso etalonai kartu turi savą 15 sekundžių bendrą ribą. Vaizdo failai naudoja MP4 arba MOV su 24–60 fps, iki 200 MB kiekvienas; garso failai naudoja WAV arba MP3, iki 15 MB kiekvienas. Nurodyti vaizdų formatai yra JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC ir HEIF. Kiekvienas vaizdas turi būti mažesnis nei 30 MB, o užklausos turinys neturi viršyti 64 MB. Dokumentuotame etalonų įvesties profilyje vaizdo plotis ir aukštis kiekvienas turi būti griežtai tarp 300 ir 6 000 pikselių, o pločio ir aukščio santykis – griežtai tarp 0.4 ir 2.5. Etaloniniai vaizdo įrašai leidžia 300–6 000 pikselių kiekvienam matmeniui ir santykius 0.4–2.5 imtinai, su 407 696–8 295 044 bendrų pikselių. MP4 ar MOV įrašai naudoja H.264/AVC arba H.265/HEVC vaizdą ir AAC arba MP3 garsą.</p><p>Failus sąmoningai išrikiuokite ir kiekvieną nurodykite pagal jo medijos tipą bei numerį: Image 1, Video 1 ir Audio 1. Numeris atitinka tvarką tarp to tipo failų. Paaiškinkite, kuriuos bruožus perkelti ir kuris šaltinio turinys neturi apibrėžti naujos scenos. Dokumentuotos užklausų kalbos apima anglų, ispanų, indoneziečių, portugalų ir japonų. Dialoge išlaikykite nuoseklią sakytinę kalbą; vadovas pataria nemaišyti kalbų, išskyrus tikrinius vardus. Balsu grindžiamam darbui atskirkite kalbėtoją, tikslią frazę ir atlikimo instrukciją.</p><p>Pirmąjį ir paskutinįjį vaizdus paruoškite su suderinamu kadravimu. Įvesties vaizdo ir išvesties matmenų neatitikimas gali sukelti nukirpimą ar staigų vaizdo pokytį; suderinti matmenys ir adaptyvus kadravimas yra dokumentuoti sprendimai. Aprašą sutelkite į įvykį ir etalonų vaidmenis. Gamintojas perspėja, kad ilgos užklausos gali išsklaidyti informaciją ir lemti detalių ignoravimą. Gautą judėjimą, etalonų tęstinumą, garso atlikimą ir scenų sujungimus peržiūrėkite kaip atskiras kūrybinio rezultato dalis.</p><h4>Kadrų planavimas ir teksto režisavimas</h4><p>Sudėtingai scenai užduotį organizuokite kaip Shot 1, Shot 2 ir Shot 3, iš eilės nurodydami kamerą, subjekto veiksmą, vietą bei garsą. Vadovas rekomenduoja vieną kameros judesį vienam kadrui ir pirmenybę lėtiems, susietiems veiksmams. Tikslios atskirų kadrų laiko žymos nestabilios, todėl įvykių seka yra geresnis valdiklis nei kelių tikslių laiko langų primetimas.</p><p>Modelis taip pat generuoja įprastą tekstą, įskaitant šūkius, subtitrus ir kalbos burbulus. Galite nukreipti teksto spalvą, vizualinį perteikimą, vietą ir pasirodymą. Naudokite įprastus rašmenis, o ne retus rašmenis ar specialiuosius simbolius, ir patikrinkite formuluotes judant. Subjektų etalonams kiekvieną išteklių aiškiai susiekite su numatytu veikėju ar objektu. Produkto vaizdai iš skirtingų kampų gali pateikti skirtingą vaizdinę informaciją; veikėjo vaizdų iš skirtingų pusių koliažai gali supainioti veido tapatybę. Atskiras aiškus galvos portretas ir viso kūno vaizdas yra dokumentuota veikėjų etalonų rekomendacija.</p><h4>Elgsena, kurią reikia patikrinti prieš montažą</h4><p>Vadovas dokumentuoja nepageidaujamus subtitrus, logotipus, pasikartojančius veikėjus ir stiliaus nukrypimą. Švari šaltinio medžiaga, nuoseklios žymos ir aiškūs apribojimai sumažina šias rizikas, tačiau negarantuoja nepageidaujamo teksto ar dubliuotų figūrų išnykimo. Daugiau nei keturi etaloniniai žmonės įvardijami kaip stabilumo rizika, atskira nuo modelio priimamo failų skaičiaus.</p><p>Vaizdo pratęsimas gali sukelti šuolį ar grįžimą atgal ties sujungimu, o pakartotiniai tęsiniai gali kaupti vaizdo kokybės blogėjimą. Patikrinkite ribinius kadrus ir ribokite nuoseklius pratęsimus. Etaloninis balsas gali skirtis nuo šaltinio tembro; pasakojimas gali baigtis spragtelėjimu ar staigiu nukirtimu, kuriems dokumentuotas sprendimas yra garso išblukimas. Kelis tarimo variantus turintys, reti ar panašios formos kinų rašmenys gali būti ištarti neteisingai. Tiksliam animuotam efektui, pavyzdžiui, atgaliniam skaičiavimui, judesio etalonas informatyvesnis nei vien žodinis prašymas. Tai konkrečios priežastys atskirai tikrinti tapatybę, tekstą, judėjimą ir garsą renkantis klipą.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Prieinama Ailoot · įvestys ir metodai</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Vaizdo įrašai</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>Įvestis</dt><dd><code>text</code>, <code>image</code>, <code>audio</code></dd></div><div><dt>Išvestis</dt><dd><code>video</code></dd></div><div><dt>Išvesties formatas</dt><dd>originalūs MP4 baitai; be normalizavimo ar perkodavimo</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Laukas</th><th>Tipas</th><th>Reikalavimas</th><th>Reikšmės ir ribos</th><th>Numatyta</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Privaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>bytedance/seedance-2.0</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Privaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>integer</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Privaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15</div><div>Mažiausia reikšmė: 1</div><div>Didžiausia reikšmė: 600</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>480p, 720p, 1080p, 4K</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>1:1, 3:4, 9:16, 4:3, 16:9, 21:9, 9:21</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">generate_audio</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>boolean</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>false, true</div><div>Sąlygos: Kai skiriamoji geba yra 480p ir 720p, praleidus generate_audio taikoma kaina su garsu, o reikšmė false parenka kainą be garso. Kai skiriamoji geba yra 1080p ir 4K, abiem nustatymams taikoma skiriamosios gebos kaina. Rezultate patikrinkite has_audio, kad sužinotumėte, ar grąžintas garso takelis.</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">frame_images</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>array</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>Mažiausias elementų skaičius: 1</div><div>Didžiausias elementų skaičius: 2</div><div>Įvesties turinys: Kadrų objektų masyvas. Kiekviename yra type=image_url, image_url su url ir frame_type=first_frame arba last_frame. Kiekviena paskirtis nurodoma daugiausia vieną kartą. Naudokite viešus HTTPS URL.</div><div>Tikslūs raktai: type, image_url, frame_type</div><div>Sąlygos: Šie raktai taikomi kiekvienam kadro objektui. Jei užklausoje yra tik tekstas, praleiskite frame_images.</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>array</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>Įvesties turinys: Pavyzdinių paveikslėlių arba garso objektų masyvas. Nustatykite type reikšmę image_url arba audio_url ir pateikite atitinkamą URL objektą su url. Pavyzdinių vaizdo įrašų kainos nustatyti vis dar negalima.</div><div>Sąlygos: Kad naudotumėte pavyzdinės medžiagos režimą, praleiskite frame_images. Naudokite viešus HTTPS URL.</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">size</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>480x480, 480x640, 480x854, 640x480, 854x480, 1120x480, 720x720, 720x960, 720x1280, 720x1680, 960x720, 1280x720, 1680x720, 1080x1080, 1080x1440, 1080x1920, 1440x1080, 1920x1080, 2520x1080, 3840x2160, 2160x3840, 2160x2160, 2880x2160, 2160x2880, 5040x2160</div><div>Šablonas: ^[1-9][0-9]*x[1-9][0-9]*$</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">seed</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>integer</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>Mažiausia reikšmė: −9 223 372 036 854 775 808</div><div>Didžiausia reikšmė: 9 223 372 036 854 775 807</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">callback_url</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>Šablonas: ^https://</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Įvesties medžiagos deriniai</summary><p class=\"note-s\"><b>Iš teksto į vaizdo įrašą</b> · Tekstinė užklausa. · Privaloma: model, prompt, duration</p><p class=\"note-s\"><code>Pateikite tekstinę užklausą ir palaikomą trukmę sveikomis sekundėmis. Naudokite tikslų išvardytą dydį arba skiriamąją gebą ir kraštinių santykį, kurie atitinka išvardytus matmenis.</code></p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Tipas: string · bytedance/seedance-2.0</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Tipas: string · Didžiausias UTF-8 baitų skaičius: 10 000 · Būtinas bent vienas simbolis, nepriskiriamas tarpų simboliams: Taip</p><p class=\"note-s\"><b>Iš vaizdo į vaizdo įrašą</b> · Tekstinė užklausa ir kadro paveikslėlis. · Privaloma: model, prompt, duration, frame_images</p><p class=\"note-s\"><code>frame_images yra objektų masyvas su type=image_url, image_url, kuriame yra url, ir frame_type. Naudokite viešą HTTPS paveikslėlio URL; first_frame ir last_frame gali būti nurodyti po vieną kartą. Naudokite išvardytą išvesties dydį arba suderinamus matmenis. Nepridėkite pavyzdinių vaizdo įrašų.</code></p><p class=\"note-s\">Tikslūs raktai: type, image_url, frame_type</p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Tipas: string · bytedance/seedance-2.0</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Tipas: string · Didžiausias UTF-8 baitų skaičius: 10 000 · Būtinas bent vienas simbolis, nepriskiriamas tarpų simboliams: Taip</p><p class=\"note-s\"><b>Reference to video</b> · Tekstinė užklausa ir pavyzdiniai paveikslėliai arba garso įrašai. · Privaloma: model, prompt, duration, input_references</p><p class=\"note-s\"><code>input_references yra masyvas. Kiekviename objekte yra type=image_url arba type=audio_url ir atitinkamas URL objektas su url. Naudokite viešas HTTPS nuorodas. Kad pasirinktumėte pavyzdinės medžiagos režimą, praleiskite frame_images. Pavyzdinių vaizdo įrašų kainos nustatyti negalima.</code></p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Tipas: string · bytedance/seedance-2.0</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Tipas: string · Didžiausias UTF-8 baitų skaičius: 10 000 · Būtinas bent vienas simbolis, nepriskiriamas tarpų simboliams: Taip</p></details><details class=\"note-s\" data-method-contract><summary>Metodo parametrai ir gyvavimo ciklas</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametras</th><th>Specifikacija</th></tr></thead><tbody><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>content_type</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>application/json</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>required</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>model, prompt, duration</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>material_types</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>text, image, audio</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>additional_properties</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>false</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>optional_controls</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>resolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user</td></tr></tbody></table></div><p>Gyvavimo ciklas: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_id}/content</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Planai</h3><div class=\"card-result-process\" data-billing-basis><h5>Kaip apskaičiuojamas galutinis mokestis</h5><p class=\"note-s\">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.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.</p><dl data-price-conditions><dt>Spartusis režimas</dt><dd>Nenurodyta <span class=\"note-s\">Pasirinkus spartųjį režimą</span></dd><dt>Flex režimas</dt><dd>Nenurodyta <span class=\"note-s\">Pasirinkus flex režimą</span></dd><dt>Didžiausios samprotavimo pastangos</dt><dd>Nenurodyta <span class=\"note-s\">Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Numatomi įkainiai palyginimui</h4><h4>Kainos pagal konfigūraciją</h4><p class=\"note-s\">Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigūracija</th><th>Įkainių lentelė</th><th>Numatomas kiekis</th><th>Apskaitos vienetas</th><th>Apmokestinimo sąlygos</th><th>Mokestis</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Baziniai žetonų įkainiai</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>Bazinis įkainis</td><td data-cell-label=\"Numatomas kiekis\"><span class=\"card-cell-label\">Numatomas kiekis</span>—</td><td data-cell-label=\"Apskaitos vienetas\"><span class=\"card-cell-label\">Apskaitos vienetas</span>—</td><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>—</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai · Įvertis tik palyginimui</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai · Įvertis tik palyginimui</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas · Įvertis tik palyginimui</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą · Įvertis tik palyginimui</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val · Įvertis tik palyginimui</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Numatomas kiekis\"><span class=\"card-cell-label\">Numatomas kiekis</span>—</td><td data-cell-label=\"Apskaitos vienetas\"><span class=\"card-cell-label\">Apskaitos vienetas</span>už 1K vaizdo įrašo tokenų</td><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>Šiame kainodaros rakte papildoma sąlyga nenurodyta.</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo žetono kaina · Įvertis tik palyginimui</span> <b>$0.014</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Numatomas kiekis\"><span class=\"card-cell-label\">Numatomas kiekis</span>—</td><td data-cell-label=\"Apskaitos vienetas\"><span class=\"card-cell-label\">Apskaitos vienetas</span>už 1K vaizdo įrašo tokenų</td><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>resolution: 1080p</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo žetono kaina · Įvertis tik palyginimui</span> <b>$0.0154</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Numatomas kiekis\"><span class=\"card-cell-label\">Numatomas kiekis</span>—</td><td data-cell-label=\"Apskaitos vienetas\"><span class=\"card-cell-label\">Apskaitos vienetas</span>už 1K vaizdo įrašo tokenų</td><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>įvestis: with_video_input; skiriamoji geba: 1080p</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>reference · Vaizdo įrašo žetono kaina · Įvertis tik palyginimui</span> <b>$0.0094</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Numatomas kiekis\"><span class=\"card-cell-label\">Numatomas kiekis</span>—</td><td data-cell-label=\"Apskaitos vienetas\"><span class=\"card-cell-label\">Apskaitos vienetas</span>už 1K vaizdo įrašo tokenų</td><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>resolution: 4k</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo žetono kaina · Įvertis tik palyginimui</span> <b>$0.008</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Numatomas kiekis\"><span class=\"card-cell-label\">Numatomas kiekis</span>—</td><td data-cell-label=\"Apskaitos vienetas\"><span class=\"card-cell-label\">Apskaitos vienetas</span>už 1K vaizdo įrašo tokenų</td><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>įvestis: with_video_input; skiriamoji geba: 4k</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>reference · Vaizdo įrašo žetono kaina · Įvertis tik palyginimui</span> <b>$0.0048</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Numatomas kiekis\"><span class=\"card-cell-label\">Numatomas kiekis</span>—</td><td data-cell-label=\"Apskaitos vienetas\"><span class=\"card-cell-label\">Apskaitos vienetas</span>už 1K vaizdo įrašo tokenų</td><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>įvestis: with_video_input</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>reference · Vaizdo įrašo žetono kaina · Įvertis tik palyginimui</span> <b>$0.0086</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Numatomas kiekis\"><span class=\"card-cell-label\">Numatomas kiekis</span>—</td><td data-cell-label=\"Apskaitos vienetas\"><span class=\"card-cell-label\">Apskaitos vienetas</span>už 1K vaizdo įrašo tokenų</td><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>garsas: without_audio</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo žetono kaina · Įvertis tik palyginimui</span> <b>$0.014</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Numatoma generavimo kaina</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Numatomas kiekis\"><span class=\"card-cell-label\">Numatomas kiekis</span>vieno generavimo įvertis</td><td data-cell-label=\"Apskaitos vienetas\"><span class=\"card-cell-label\">Apskaitos vienetas</span>—</td><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>—</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Numatoma generavimo kaina · Įvertis tik palyginimui</span> <b>$0.3024</b> <span class=\"price-unit\">įvertis prieš generavimą</span></div><p class=\"note-s\">Šis įvertis nėra papildomas mokestis ar fiksuotas užbaigto generavimo įkainis.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. <a href=\"/docs/lt/billing/reserve/\">Kaip veikia rezervavimas ir atsiskaitymas →</a></p><div data-declared-reference-pricing><h4>Informacinio tarifo duomenys</h4><p class=\"note-s\">Modelio informacinės lentelės nekeičia metodo pasirinkimo, kainos įverčių ar mokesčių. Galiojantys mokesčiai nustatomi pagal pasirinkto Ailoot metodo įkainius.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Vaizdo įrašo konfigūracijų kainų nuorodos</summary><h4>Kainos pagal konfigūraciją</h4><p class=\"note-s\">Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigūracija</th><th>Apmokestinimo sąlygos</th><th>Mokestis</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>Šiame kainodaros rakte papildoma sąlyga nenurodyta.</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo žetono kaina</span> <b>$0.014</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>resolution: 4k</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo žetono kaina</span> <b>$0.008</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>resolution: 1080p</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo žetono kaina</span> <b>$0.0154</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>garsas: without_audio</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo žetono kaina</span> <b>$0.014</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>įvestis: with_video_input</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>reference · Vaizdo įrašo žetono kaina</span> <b>$0.0086</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>įvestis: with_video_input; skiriamoji geba: 4k</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>reference · Vaizdo įrašo žetono kaina</span> <b>$0.0048</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo žetono kaina</th><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>įvestis: with_video_input; skiriamoji geba: 1080p</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>reference · Vaizdo įrašo žetono kaina</span> <b>$0.0094</b> <span class=\"price-unit\">už 1K vaizdo įrašo tokenų</span></div><p class=\"note-s\">Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.</p></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Užklausų pavyzdžiai</h3><h4>Ailoot Ultra · Vaizdo įrašai</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kodo variantai\"><button class=\"cg-tab\" id=\"model-code-1131-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1131-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · sukurkite vaizdo įrašą</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopijuoti kodą\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1131-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1131-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nfrom pathlib import Path\nPath(&#39;request.json&#39;).write_text(&#39;{&quot;model&quot;:&quot;bytedance/seedance-2.0&quot;,&quot;prompt&quot;:&quot;A serene mountain landscape at sunset&quot;,&quot;duration&quot;:4,&quot;resolution&quot;:&quot;480p&quot;,&quot;size&quot;:&quot;480x480&quot;,&quot;generate_audio&quot;:false}&#39;, encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Gauti ir išsaugoti rezultatus</h3><h4>Ailoot Ultra · Vaizdo įrašai</h4><p class=\"note-s\">pasirašyti jums priklausančio turinio URL</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{public_id}</code></li><li><code>GET /v1/videos/{public_id}/content</code></li></ul><h5>Tikrinti užduoties būseną</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kodo variantai\"><button class=\"cg-tab\" id=\"model-code-1132-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1132-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET pirminės operacijos būsena</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopijuoti kodą\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1132-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1132-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_STATUS_URL&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nif not isinstance(r.get(&#39;id&#39;),str) or not r[&#39;id&#39;]:raise SystemExit(&#39;Keep the original response and headers for reconciliation; no returned ID&#39;)\nPath(&#39;status-url.txt&#39;).write_text(&#39;https://api.ailoot.ai/v1/videos/&#39;+quote(r[&#39;id&#39;],safe=&#39;&#39;))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error &quot;$(cat status-url.txt)&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -D status-headers.txt -o status.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div><details class=\"card-about\"><summary>Kito turinio skaitymas</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kodo variantai\"><button class=\"cg-tab\" id=\"model-code-1133-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1133-panel-0\" aria-selected=\"true\" tabindex=\"0\">Išsaugoti kiekvieną jums priklausančią baigtą išvestį</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopijuoti kodą\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1133-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1133-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nif r.get(&#39;status&#39;)!=&#39;completed&#39;:raise SystemExit(&#39;Keep the original ID and read its status; never recreate an unknown job&#39;)\nif not isinstance(r.get(&#39;data&#39;),list) or not r[&#39;data&#39;]:raise SystemExit(&#39;Keep the complete original status; no completed outputs supplied&#39;)\nurls=[]\nfor i,u in enumerate(r.get(&#39;data&#39;,[])):\n    if not isinstance(u,str):raise SystemExit(&#39;Keep the original response; unexpected asset shape&#39;)\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin(&#39;https://api.ailoot.ai&#39;,path);z=urlsplit(u)\n    if z.scheme!=&#39;https&#39; or z.netloc!=&#39;api.ailoot.ai&#39; or z.username or z.password:raise SystemExit(&#39;Use the actual returned Ailoot owned content URL&#39;)\n    target=Path(&#39;owned-&#39;+label+&#39;.bin&#39;)\n    subprocess.run([&#39;curl&#39;,&#39;--fail-with-body&#39;,&#39;--silent&#39;,&#39;--show-error&#39;,u,&#39;-H&#39;,&#39;Authorization: Bearer &#39;+os.environ[&#39;AILOOT_API_KEY&#39;],&#39;-D&#39;,str(target)+&#39;.headers&#39;,&#39;-o&#39;,str(target)],check=True)\nprint(&#39;All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.&#39;)\nPY_ASSETS\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Išsaugoti visus baigtus rezultatus</h5><p class=\"note-s\">Išsaugokite kiekvieną baigtą vaizdo įrašą arba grąžintą failą; gaukite turinį iš kiekvieno faktiškai grąžinto medžiagos URL.</p><p class=\"note-s\">Išsaugokite kiekvieną tikrą jums priklausantį rezultatą ir grąžintus išmatuotus jo metaduomenis.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jei reikia patikrinti pradinį atsakymą</h5><p class=\"note-s\">503 result_pending_check + pradinis id + X-Should-Retry:false; niekada nekartokite pradinės užklausos</p></div><details class=\"card-about\" data-output-fields><summary>Atsakymo laukai</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Laukas</th><th>Tipas</th><th>Reikšmė</th></tr></thead><tbody><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">index</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>integer</td><td data-cell-label=\"Reikšmė\"><span class=\"card-cell-label\">Reikšmė</span>Šio vaizdo įrašo pozicija rezultatų sąraše, skaičiuojama nuo nulio.</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">content_url</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>string</td><td data-cell-label=\"Reikšmė\"><span class=\"card-cell-label\">Reikšmė</span>Pasirašytas HTTPS atsisiuntimo URL šiam užbaigtam vaizdo įrašui.</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">sha256</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>string | null</td><td data-cell-label=\"Reikšmė\"><span class=\"card-cell-label\">Reikšmė</span>Pradinio vaizdo įrašo baitų SHA-256 santrauka; null, jei nepasiekiama.</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">size_bytes</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>integer | null</td><td data-cell-label=\"Reikšmė\"><span class=\"card-cell-label\">Reikšmė</span>Pradinio vaizdo įrašo failo dydis baitais; null, jei nepasiekiamas.</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">duration_ms</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>integer | null</td><td data-cell-label=\"Reikšmė\"><span class=\"card-cell-label\">Reikšmė</span>Išmatuota vaizdo įrašo trukmė milisekundėmis; null, jei nepasiekiama.</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">width</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>integer | null</td><td data-cell-label=\"Reikšmė\"><span class=\"card-cell-label\">Reikšmė</span>Vaizdo įrašo plotis pikseliais; null, jei nepasiekiamas.</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">height</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>integer | null</td><td data-cell-label=\"Reikšmė\"><span class=\"card-cell-label\">Reikšmė</span>Vaizdo įrašo aukštis pikseliais; null, jei nepasiekiamas.</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">video_codec</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>string | null</td><td data-cell-label=\"Reikšmė\"><span class=\"card-cell-label\">Reikšmė</span>Vaizdo kodeko identifikatorius; null, jei neužregistruotas.</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">has_audio</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>boolean | null</td><td data-cell-label=\"Reikšmė\"><span class=\"card-cell-label\">Reikšmė</span>Ar vaizdo įraše yra garso takelis; null, jei nenustatyta.</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">audio_codec</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>string | null</td><td data-cell-label=\"Reikšmė\"><span class=\"card-cell-label\">Reikšmė</span>Garso kodeko identifikatorius; null, kai identifikatorius neužregistruotas.</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Klaidos ir tolesni veiksmai</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Atsakymas</th><th>Sąlyga</th><th>Kitas žingsnis</th></tr></thead><tbody><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>Prieiga prie vaizdo įrašo nepasiekiama arba šis vaizdo įrašo ID nerastas.</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Patikrinkite prieigą prie vaizdo įrašo. Jei vaizdo įrašas jau yra, naudokite jo pradinį viešą ID ir tą patį API raktą.</td></tr><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>API raktas neatitinka autentifikuotos paskyros.</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Prieš pateikdami patikrinkite savo API raktą ir paskyros prieigą.</td></tr><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>Nepavyko nuskaityti užklausos arba atsisiuntimo indeksas netinkamas.</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Pataisykite užklausos turinį. Atsisiuntimui pasirinkite išvesties indeksą, kurį grąžino pradinė užduotis.</td></tr><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>Pasirinktos vaizdo įrašo konfigūracijos kainos nustatyti negalima.</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Pasirinkite palaikomą vaizdo įrašo konfigūraciją ir prieš pateikdami pataisytą užklausą užpildykite jos privalomas parinktis.</td></tr><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span>422 · <code>invalid_request_error</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>Vaizdo įrašo įvestis arba pradinė tęsinio užduotis netinkama.</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Naudokite tinkamą HTTPS įvestį. Tęsiniui naudokite užbaigto pradinio vaizdo įrašo viešą ID ir tą patį API raktą.</td></tr><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span>402 · <code>billing_error</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>Turimas likutis arba limitai neleidžia rezervuoti lėšų.</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Prieš siųsdami naują užklausą patikrinkite turimą likutį ir limitus.</td></tr><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span>503 · <code>server_error</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>Vaizdo įrašo patikra, saugykla arba prieiga prie paslaugos laikinai nepasiekiama.</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Palaukite, kol paslauga taps pasiekiama. Jei jau turite vaizdo įrašo ID, tikrinkite tą pradinę užduotį, užuot pradėję kitą generavimą.</td></tr><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span>503 · <code>result_pending_check</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>Reikia patikrinti pradinį vaizdo įrašo rezultatą ir mokestį.</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Išsaugokite grąžintą vaizdo įrašo ID ir tikrinkite tą užduotį. Kol ji tikrinama, nesiųskite ją pakeičiančios generavimo užklausos.</td></tr><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span>503 · <code>owned_result_unavailable</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>Esamo vaizdo įrašo atsisiuntimas laikinai nepasiekiamas.</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Vėliau patikrinkite tą pačią vaizdo įrašo užduotį ir atsisiųskite jos esamą rezultatą. Naujas generavimas sukuria atskirą operaciją.</td></tr><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span>409 · <code>video_not_ready</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>Vaizdo įrašo turinys nepaskelbtas.</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Patikrinkite pradinės užduoties būseną. Atsisiųskite, kai ji praneša completed; jei praneša failed, vadovaukitės jos pranešimu apie mokesčio patikrą.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Pseudonimai</h3><h4>Modelių pseudonimai</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=bytedance%2Fseedance-2.0&amp;route=Ultra&amp;caller=bytedance%2Fseedance-2.0&amp;fmt=videos\"><code>bytedance/seedance-2.0</code></a></span></p><h4>Metodų kelių pseudonimai</h4><p class=\"note-s\">Naudokite aukščiau nurodytus metodų kelius.</p><h4>Susiję ID iškvietimui</h4><p class=\"note-s\"><a href=\"#m=bytedance%2Fseedance-2.0&amp;route=Ultra&amp;caller=bytedance%2Fseedance-2.0&amp;fmt=videos\"><code>bytedance/seedance-2.0</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "bytedance/seedance-2.0",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "bytedance/seedance-2.0",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|bytedance%2Fseedance-2.0",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "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.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Išsaugokite kiekvieną tikrą jums priklausantį rezultatą ir grąžintus išmatuotus jo metaduomenis.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "Prieiga prie vaizdo įrašo nepasiekiama arba šis vaizdo įrašo ID nerastas.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "Patikrinkite prieigą prie vaizdo įrašo. Jei vaizdo įrašas jau yra, naudokite jo pradinį viešą ID ir tą patį API raktą.",
                "type": "not_found_error"
              },
              {
                "condition": "API raktas neatitinka autentifikuotos paskyros.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "Prieš pateikdami patikrinkite savo API raktą ir paskyros prieigą.",
                "type": "authentication_error"
              },
              {
                "condition": "Nepavyko nuskaityti užklausos arba atsisiuntimo indeksas netinkamas.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "Pataisykite užklausos turinį. Atsisiuntimui pasirinkite išvesties indeksą, kurį grąžino pradinė užduotis.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Pasirinktos vaizdo įrašo konfigūracijos kainos nustatyti negalima.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Pasirinkite palaikomą vaizdo įrašo konfigūraciją ir prieš pateikdami pataisytą užklausą užpildykite jos privalomas parinktis.",
                "type": "price_unavailable"
              },
              {
                "condition": "Vaizdo įrašo įvestis arba pradinė tęsinio užduotis netinkama.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Naudokite tinkamą HTTPS įvestį. Tęsiniui naudokite užbaigto pradinio vaizdo įrašo viešą ID ir tą patį API raktą.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Turimas likutis arba limitai neleidžia rezervuoti lėšų.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "Prieš siųsdami naują užklausą patikrinkite turimą likutį ir limitus.",
                "type": "billing_error"
              },
              {
                "condition": "Vaizdo įrašo patikra, saugykla arba prieiga prie paslaugos laikinai nepasiekiama.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "Palaukite, kol paslauga taps pasiekiama. Jei jau turite vaizdo įrašo ID, tikrinkite tą pradinę užduotį, užuot pradėję kitą generavimą.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Reikia patikrinti pradinį vaizdo įrašo rezultatą ir mokestį.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Išsaugokite grąžintą vaizdo įrašo ID ir tikrinkite tą užduotį. Kol ji tikrinama, nesiųskite ją pakeičiančios generavimo užklausos.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "Esamo vaizdo įrašo atsisiuntimas laikinai nepasiekiamas.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Vėliau patikrinkite tą pačią vaizdo įrašo užduotį ir atsisiųskite jos esamą rezultatą. Naujas generavimas sukuria atskirą operaciją.",
                "type": "server_error"
              },
              {
                "condition": "Vaizdo įrašo turinys nepaskelbtas.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "Patikrinkite pradinės užduoties būseną. Atsisiųskite, kai ji praneša completed; jei praneša failed, vadovaukitės jos pranešimu apie mokesčio patikrą.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + pradinis id + X-Should-Retry:false; niekada nekartokite pradinės užklausos"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Pateikite tekstinę užklausą ir palaikomą trukmę sveikomis sekundėmis. Naudokite tikslų išvardytą dydį arba skiriamąją gebą ir kraštinių santykį, kurie atitinka išvardytus matmenis.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Tekstinė užklausa."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images yra objektų masyvas su type=image_url, image_url, kuriame yra url, ir frame_type. Naudokite viešą HTTPS paveikslėlio URL; first_frame ir last_frame gali būti nurodyti po vieną kartą. Naudokite išvardytą išvesties dydį arba suderinamus matmenis. Nepridėkite pavyzdinių vaizdo įrašų.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Tekstinė užklausa ir kadro paveikslėlis."
              },
              {
                "mode": "Reference to video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "input_references yra masyvas. Kiekviename objekte yra type=image_url arba type=audio_url ir atitinkamas URL objektas su url. Naudokite viešas HTTPS nuorodas. Kad pasirinktumėte pavyzdinės medžiagos režimą, praleiskite frame_images. Pavyzdinių vaizdo įrašų kainos nustatyti negalima.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "input_references"
                ],
                "required_material": "Tekstinė užklausa ir pavyzdiniai paveikslėliai arba garso įrašai."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images",
              "reference_to_video"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "Šio vaizdo įrašo pozicija rezultatų sąraše, skaičiuojama nuo nulio.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "Pasirašytas HTTPS atsisiuntimo URL šiam užbaigtam vaizdo įrašui.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "Pradinio vaizdo įrašo baitų SHA-256 santrauka; null, jei nepasiekiama.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "Pradinio vaizdo įrašo failo dydis baitais; null, jei nepasiekiamas.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "Išmatuota vaizdo įrašo trukmė milisekundėmis; null, jei nepasiekiama.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Vaizdo įrašo plotis pikseliais; null, jei nepasiekiamas.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Vaizdo įrašo aukštis pikseliais; null, jei nepasiekiamas.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "Vaizdo kodeko identifikatorius; null, jei neužregistruotas.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "Ar vaizdo įraše yra garso takelis; null, jei nenustatyta.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "Garso kodeko identifikatorius; null, kai identifikatorius neužregistruotas.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "pasirašyti jums priklausančio turinio URL",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "bytedance/seedance-2.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "bytedance/seedance-2.0"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480p",
                  "720p",
                  "1080p",
                  "4K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p",
                    "4K"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "1:1",
                  "3:4",
                  "9:16",
                  "4:3",
                  "16:9",
                  "21:9",
                  "9:21"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "9:16",
                    "4:3",
                    "16:9",
                    "21:9",
                    "9:21"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Kai skiriamoji geba yra 480p ir 720p, praleidus generate_audio taikoma kaina su garsu, o reikšmė false parenka kainą be garso. Kai skiriamoji geba yra 1080p ir 4K, abiem nustatymams taikoma skiriamosios gebos kaina. Rezultate patikrinkite has_audio, kad sužinotumėte, ar grąžintas garso takelis.",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Šie raktai taikomi kiekvienam kadro objektui. Jei užklausoje yra tik tekstas, praleiskite frame_images.",
                "content": "Kadrų objektų masyvas. Kiekviename yra type=image_url, image_url su url ir frame_type=first_frame arba last_frame. Kiekviena paskirtis nurodoma daugiausia vieną kartą. Naudokite viešus HTTPS URL.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 2,
                "max_items": 2,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "Kad naudotumėte pavyzdinės medžiagos režimą, praleiskite frame_images. Naudokite viešus HTTPS URL.",
                "content": "Pavyzdinių paveikslėlių arba garso objektų masyvas. Nustatykite type reikšmę image_url arba audio_url ir pateikite atitinkamą URL objektą su url. Pavyzdinių vaizdo įrašų kainos nustatyti vis dar negalima.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "audio_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "audio_url"
                          }
                        },
                        "required": [
                          "type",
                          "audio_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480x480",
                  "480x640",
                  "480x854",
                  "640x480",
                  "854x480",
                  "1120x480",
                  "720x720",
                  "720x960",
                  "720x1280",
                  "720x1680",
                  "960x720",
                  "1280x720",
                  "1680x720",
                  "1080x1080",
                  "1080x1440",
                  "1080x1920",
                  "1440x1080",
                  "1920x1080",
                  "2520x1080",
                  "3840x2160",
                  "2160x3840",
                  "2160x2160",
                  "2880x2160",
                  "2160x2880",
                  "5040x2160"
                ],
                "enum_known": true,
                "name": "size",
                "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                "required": false,
                "schema": {
                  "enum": [
                    "480x480",
                    "480x640",
                    "480x854",
                    "640x480",
                    "854x480",
                    "1120x480",
                    "720x720",
                    "720x960",
                    "720x1280",
                    "720x1680",
                    "960x720",
                    "1280x720",
                    "1680x720",
                    "1080x1080",
                    "1080x1440",
                    "1080x1920",
                    "1440x1080",
                    "1920x1080",
                    "2520x1080",
                    "3840x2160",
                    "2160x3840",
                    "2160x2160",
                    "2880x2160",
                    "2160x2880",
                    "5040x2160"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 9223372036854775807,
                "minimum": -9223372036854775808,
                "name": "seed",
                "required": false,
                "schema": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "9:16",
                    "4:3",
                    "16:9",
                    "21:9",
                    "9:21"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "audio_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "audio_url"
                          }
                        },
                        "required": [
                          "type",
                          "audio_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "model": {
                  "const": "bytedance/seedance-2.0"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p",
                    "4K"
                  ]
                },
                "seed": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": {
                  "enum": [
                    "480x480",
                    "480x640",
                    "480x854",
                    "640x480",
                    "854x480",
                    "1120x480",
                    "720x720",
                    "720x960",
                    "720x1280",
                    "720x1680",
                    "960x720",
                    "1280x720",
                    "1680x720",
                    "1080x1080",
                    "1080x1440",
                    "1080x1920",
                    "1440x1080",
                    "1920x1080",
                    "2520x1080",
                    "3840x2160",
                    "2160x3840",
                    "2160x2160",
                    "2880x2160",
                    "2160x2880",
                    "5040x2160"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist.",
                "Request geometry is required for the pre-generation estimate and reserve. Returned geometry and track time describe the generated output; final charge follows the actual billed configuration.",
                "Video references with *_with_video_input quantity are rejected; image/audio references only where model reference types admit them."
              ]
            },
            "unsupported": [
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image",
              "audio"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "size",
              "seed",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images",
            "reference_to_video"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.0154000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000154",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "input: with_video_input; resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.0094000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000094",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "resolution: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000008",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "įvestis: with_video_input; skiriamoji geba: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.0048000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000048",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "input: with_video_input",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.0086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000086",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_without_audio",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Šis įvertis nėra papildomas mokestis ar fiksuotas užbaigto generavimo įkainis.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Numatoma generavimo kaina",
            "units": [
              {
                "amount": "0.3024",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.3024",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nfrom pathlib import Path\nPath('request.json').write_text('{\"model\":\"bytedance/seedance-2.0\",\"prompt\":\"A serene mountain landscape at sunset\",\"duration\":4,\"resolution\":\"480p\",\"size\":\"480x480\",\"generate_audio\":false}', encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0154000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000154",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input; resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0094000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000094",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "resolution: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000008",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input; resolution: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0048000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000048",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000086",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_without_audio",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.3024",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.3024",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "bytedance/seedance-2.0",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.014000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.000014",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0154000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_1080p",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000154",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0094000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_1080p_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000094",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.008000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_4k",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.000008",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0048000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_4k_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000048",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.0086000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000086",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.014000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_without_audio",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.000014",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.3024",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.3024",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "bytedance/seedance-2.0",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "285adfd05593bd73f70dfc7766b425642107f6cfa8e6f9a08b9e2d2177987d15",
    "input_html_sha256": "4b5f4d500eee8247824b60ce773f15a32a779247e8cb161743ca348db8a60daf",
    "private_audit_sha256": "86c7da819e2a111bfe59c8792ee9ef238d43a6a5410c4c3704b72a5ee6c8e93c",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/lt/bytedance-seedance-2-0/",
    "description": "ByteDance Seedance 2.0 jungia savąjį garso ir vaizdo generavimą su vaizdų, vaizdo bei garso etalonais. Režisuokite naujas scenas, redaguokite esamą medžiagą ar pratęskite seką; standartinė versija apima dokumentuotą 1080p ir 10 bitų 4K išvestį.",
    "locale": "lt",
    "md_url": "https://ailoot.ai/models/lt/bytedance-seedance-2-0/index.md",
    "title": "ByteDance: Seedance 2.0 — Ailoot",
    "url": "https://ailoot.ai/models/lt/bytedance-seedance-2-0/"
  },
  "rawModel": {
    "about": "Seedance 2.0 yra standartinis ByteDance Seed modelis daugiarūšei garso ir vaizdo kūrybai. Bendro generavimo architektūroje jis jungia tekstą, vaizdus, vaizdo įrašus bei garsą, turėdamas atskirus kūrybinius procesus etalonais grindžiamoms scenoms, vaizdo redagavimui ir pratęsimui. Jis naudingas, kai užduočiai reikia ir nuoseklaus atlikimo, ir konkrečios vaizdinės ar garsinės informacijos iš paruoštos medžiagos.\n\n### Daugiarūšiai etalonai ir režisūrinis valdymas\n\nVaizdai gali apibrėžti subjekto išvaizdą, vizualinį stilių ir kompoziciją. Vaizdo etalonai gali nukreipti veiksmą, kameros judėjimą bei efektus. Garsas gali nukreipti balso tembrą, muziką ar dialogą. Apibrėžkite kiekvienos medžiagos vaidmenį, tada aprašykite sceną, kuri turi gautis. Gamintojas pabrėžia atlikimo, apšvietimo, šešėlių ir kameros kalbos valdymą.\n\nProdukto istorijai paruoškite produkto vaizdą, kameros judesio etaloną ir garso žymą. Užduotis galėtų būti: „Išsaugokite mėlyną stiklinę vazą iš Image 1. Naudokite lėtą šoninį kameros sekimo judesį iš Video 1. Vaza stovi saulės apšviestoje lentynoje, skambant švelniai instrumentinei muzikai pagal Audio 1.“ Numatytas rezultatas yra naujai pastatyta scena, jungianti pasirinktą etalonų informaciją.\n\nEtalonų įvestys gali jungti vaizdą ir garsą, vaizdą ir vaizdo įrašą, vaizdo įrašą ir garsą arba visus tris. Vien garso įvestis ir tekstas su garsu be vaizdo ar vaizdo įrašo nepalaikomi. Taip pat dokumentuojamas tradicinis vaizdo kūrimas iš teksto, generavimas pagal pirmąjį kadrą bei pagal pirmąjį ir paskutinįjį kadrus. Jei svarbios fiksuotos pradžios ir pabaigos kompozicijos, naudokite specialų ribinių kadrų procesą: etaloninio vaizdo įvardijimas galiniu tašku omni etalonų užklausoje yra tik netiesioginis nukreipimo būdas.\n\n### Filmuotos medžiagos redagavimas\n\nModelis gali pakeisti subjektą, pridėti ar pašalinti objektus, keisti elementus ir perpiešti ar pataisyti vaizdo įrašo dalis. Aprašykite konkretų pakeitimą ir nurodykite šaltinio medžiagą. Pridėjimui pateikite pasirodymo laiką bei vietą; šalinimui ar pakeitimui tiksliai nurodykite objektą ir įvardykite, kas turi išlikti.\n\nPavyzdžiui: „Stalinį šviestuvą Video 1 pakeiskite žalvariniu šviestuvu iš Image 1. Išsaugokite kameros judėjimą, stalo išdėstymą ir apšvietimo kryptį.“ Norimas rezultatas yra redaguota scenos versija su numatytu pakeitimu. Patikrinkite nepakeistas sritis ir naują objektą, ypač uždengimo, judėjimo bei kadrų pasikeitimo metu.\n\n### Sekos pratęsimas ir sujungimas\n\nSeedance 2.0 gali pratęsti vaizdo įrašą pirmyn arba atgal ir sujungti iki trijų pateiktų klipų sugeneruotais perėjimais. Nurodykite laiko kryptį ir naują įvykį. Jungčiai išrikiuokite klipus ir aprašykite perėjimą tarp kiekvienos poros, pavyzdžiui, kaip kamera viename kadre įeina pro duris ir atsiduria kitoje aplinkoje.\n\nPaprastas pratęsimas paprastai grąžina tęsinį, išplėtotą aplink šaltinio medžiagą; įtraukite aiškią instrukciją, jei galutinis rezultatas taip pat turi pakartoti originalų segmentą. Užbaigiant jungtį tarp dviejų ar trijų klipų dokumentuotas procesas gali apimti ir originalią medžiagą, ir naują perėjimo turinį. Tai naudinga pradžiai ar pabaigai plėtoti arba paruoštoms scenoms sujungti nepaliekant jungiančio veiksmo neapibrėžto.\n\n### Standartinės versijos išvestis ir 4K\n\nStandartinė versija dokumentuoja MP4 su 24 fps ir trukmėmis nuo 4 iki 15 sekundžių. Išvesties lygiai yra 480p, 720p ir 1080p su 8 bitų spalvos gyliu bei 4K su 10 bitų spalvos gyliu. Palaikomi santykiai yra 21:9, 16:9, 4:3, 1:1, 3:4 ir 9:16. Taip pat dokumentuojamas adaptyvus kadravimas ir automatinis trukmės pasirinkimas. Fast versija turi savą siauresnę 480p/720p išvesties specifikaciją.\n\n4K išvestis naudoja H.265/HEVC kodavimą. Dešimties bitų kodavimas išsaugo papildomas tonų gradacijas ir sklandesnius spalvų perėjimus, o tai svarbu medžiagai su subtiliais šviesos ar spalvos gradientais. Patikrinkite, ar numatyta atkūrimo ir redagavimo aplinka gali dekoduoti šį formatą; kai kurios naršyklės bei įrenginiai jo tiesiogiai neatkuria. Suderinamas konteineris savaime neužtikrina suderinamo vaizdo dekodavimo.\n\nModelis gali generuoti sinchronizuotą garsą arba tylų vaizdo įrašą ir gali grąžinti paskutinį sugeneruotą kadrą tolesnei scenai. Sugeneruotas garsas yra mono. 2.0 šeima nepalaiko atskiro dviejų etapų Draft peržiūros režimo, todėl šios peržiūros funkcijos nereikėtų numanyti iš kitos Seedance versijos.\n\n### Etalonų paruošimas ir esminiai apribojimai\n\nDokumentuota etalonų talpa yra iki devynių vaizdų, trijų vaizdo įrašų ir trijų garso klipų. Tiesioginiai etaloninių vaizdų ar vaizdo įrašų su tikrais žmonių veidais įkėlimai šiame dokumentuotame gamintojo profilyje nepriimami; portretų darbui naudojamas palaikomas portretinių išteklių procesas. Kiekvienas vaizdo ir garso klipas turi trukti 2–15 sekundžių. Visi vaizdo etalonai kartu turi tilpti į 15 sekundžių, o visi garso etalonai kartu turi savą 15 sekundžių bendrą ribą. Vaizdo failai naudoja MP4 arba MOV su 24–60 fps, iki 200 MB kiekvienas; garso failai naudoja WAV arba MP3, iki 15 MB kiekvienas. Nurodyti vaizdų formatai yra JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC ir HEIF. Kiekvienas vaizdas turi būti mažesnis nei 30 MB, o užklausos turinys neturi viršyti 64 MB. Dokumentuotame etalonų įvesties profilyje vaizdo plotis ir aukštis kiekvienas turi būti griežtai tarp 300 ir 6 000 pikselių, o pločio ir aukščio santykis – griežtai tarp 0.4 ir 2.5. Etaloniniai vaizdo įrašai leidžia 300–6 000 pikselių kiekvienam matmeniui ir santykius 0.4–2.5 imtinai, su 407 696–8 295 044 bendrų pikselių. MP4 ar MOV įrašai naudoja H.264/AVC arba H.265/HEVC vaizdą ir AAC arba MP3 garsą.\n\nFailus sąmoningai išrikiuokite ir kiekvieną nurodykite pagal jo medijos tipą bei numerį: Image 1, Video 1 ir Audio 1. Numeris atitinka tvarką tarp to tipo failų. Paaiškinkite, kuriuos bruožus perkelti ir kuris šaltinio turinys neturi apibrėžti naujos scenos. Dokumentuotos užklausų kalbos apima anglų, ispanų, indoneziečių, portugalų ir japonų. Dialoge išlaikykite nuoseklią sakytinę kalbą; vadovas pataria nemaišyti kalbų, išskyrus tikrinius vardus. Balsu grindžiamam darbui atskirkite kalbėtoją, tikslią frazę ir atlikimo instrukciją.\n\nPirmąjį ir paskutinįjį vaizdus paruoškite su suderinamu kadravimu. Įvesties vaizdo ir išvesties matmenų neatitikimas gali sukelti nukirpimą ar staigų vaizdo pokytį; suderinti matmenys ir adaptyvus kadravimas yra dokumentuoti sprendimai. Aprašą sutelkite į įvykį ir etalonų vaidmenis. Gamintojas perspėja, kad ilgos užklausos gali išsklaidyti informaciją ir lemti detalių ignoravimą. Gautą judėjimą, etalonų tęstinumą, garso atlikimą ir scenų sujungimus peržiūrėkite kaip atskiras kūrybinio rezultato dalis.\n\n### Kadrų planavimas ir teksto režisavimas\n\nSudėtingai scenai užduotį organizuokite kaip Shot 1, Shot 2 ir Shot 3, iš eilės nurodydami kamerą, subjekto veiksmą, vietą bei garsą. Vadovas rekomenduoja vieną kameros judesį vienam kadrui ir pirmenybę lėtiems, susietiems veiksmams. Tikslios atskirų kadrų laiko žymos nestabilios, todėl įvykių seka yra geresnis valdiklis nei kelių tikslių laiko langų primetimas.\n\nModelis taip pat generuoja įprastą tekstą, įskaitant šūkius, subtitrus ir kalbos burbulus. Galite nukreipti teksto spalvą, vizualinį perteikimą, vietą ir pasirodymą. Naudokite įprastus rašmenis, o ne retus rašmenis ar specialiuosius simbolius, ir patikrinkite formuluotes judant. Subjektų etalonams kiekvieną išteklių aiškiai susiekite su numatytu veikėju ar objektu. Produkto vaizdai iš skirtingų kampų gali pateikti skirtingą vaizdinę informaciją; veikėjo vaizdų iš skirtingų pusių koliažai gali supainioti veido tapatybę. Atskiras aiškus galvos portretas ir viso kūno vaizdas yra dokumentuota veikėjų etalonų rekomendacija.\n\n### Elgsena, kurią reikia patikrinti prieš montažą\n\nVadovas dokumentuoja nepageidaujamus subtitrus, logotipus, pasikartojančius veikėjus ir stiliaus nukrypimą. Švari šaltinio medžiaga, nuoseklios žymos ir aiškūs apribojimai sumažina šias rizikas, tačiau negarantuoja nepageidaujamo teksto ar dubliuotų figūrų išnykimo. Daugiau nei keturi etaloniniai žmonės įvardijami kaip stabilumo rizika, atskira nuo modelio priimamo failų skaičiaus.\n\nVaizdo pratęsimas gali sukelti šuolį ar grįžimą atgal ties sujungimu, o pakartotiniai tęsiniai gali kaupti vaizdo kokybės blogėjimą. Patikrinkite ribinius kadrus ir ribokite nuoseklius pratęsimus. Etaloninis balsas gali skirtis nuo šaltinio tembro; pasakojimas gali baigtis spragtelėjimu ar staigiu nukirtimu, kuriems dokumentuotas sprendimas yra garso išblukimas. Kelis tarimo variantus turintys, reti ar panašios formos kinų rašmenys gali būti ištarti neteisingai. Tiksliam animuotam efektui, pavyzdžiui, atgaliniam skaičiavimui, judesio etalonas informatyvesnis nei vien žodinis prašymas. Tai konkrečios priežastys atskirai tikrinti tapatybę, tekstą, judėjimą ir garsą renkantis klipą.",
    "alias_of": null,
    "aliases": [],
    "author": "ByteDance",
    "available": null,
    "canonical_model": "bytedance/seedance-2.0",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image",
        "video",
        "audio"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.3024",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.3024",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Visa konfigūracijos kainodara pateikta išsamioje informacijoje."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "cb128050bf8483dc92f31388",
        "label": "Vaizdo įrašo konfigūracijų kainų nuorodos",
        "profiles": [
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "Šiame kainodaros rakte papildoma sąlyga nenurodyta."
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.014",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "resolution: 4k"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.008",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "resolution: 1080p"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.0154",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "garsas: without_audio"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.014",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "įvestis: with_video_input"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.0086",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "įvestis: with_video_input; skiriamoji geba: 4k"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.0048",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "įvestis: with_video_input; skiriamoji geba: 1080p"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.0094",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "videos"
    ],
    "id": "bytedance/seedance-2.0",
    "input": [
      "text",
      "image",
      "audio"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "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.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Išsaugokite kiekvieną tikrą jums priklausantį rezultatą ir grąžintus išmatuotus jo metaduomenis.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "Prieiga prie vaizdo įrašo nepasiekiama arba šis vaizdo įrašo ID nerastas.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "Patikrinkite prieigą prie vaizdo įrašo. Jei vaizdo įrašas jau yra, naudokite jo pradinį viešą ID ir tą patį API raktą.",
                "type": "not_found_error"
              },
              {
                "condition": "API raktas neatitinka autentifikuotos paskyros.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "Prieš pateikdami patikrinkite savo API raktą ir paskyros prieigą.",
                "type": "authentication_error"
              },
              {
                "condition": "Nepavyko nuskaityti užklausos arba atsisiuntimo indeksas netinkamas.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "Pataisykite užklausos turinį. Atsisiuntimui pasirinkite išvesties indeksą, kurį grąžino pradinė užduotis.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Pasirinktos vaizdo įrašo konfigūracijos kainos nustatyti negalima.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Pasirinkite palaikomą vaizdo įrašo konfigūraciją ir prieš pateikdami pataisytą užklausą užpildykite jos privalomas parinktis.",
                "type": "price_unavailable"
              },
              {
                "condition": "Vaizdo įrašo įvestis arba pradinė tęsinio užduotis netinkama.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Naudokite tinkamą HTTPS įvestį. Tęsiniui naudokite užbaigto pradinio vaizdo įrašo viešą ID ir tą patį API raktą.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Turimas likutis arba limitai neleidžia rezervuoti lėšų.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "Prieš siųsdami naują užklausą patikrinkite turimą likutį ir limitus.",
                "type": "billing_error"
              },
              {
                "condition": "Vaizdo įrašo patikra, saugykla arba prieiga prie paslaugos laikinai nepasiekiama.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "Palaukite, kol paslauga taps pasiekiama. Jei jau turite vaizdo įrašo ID, tikrinkite tą pradinę užduotį, užuot pradėję kitą generavimą.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Reikia patikrinti pradinį vaizdo įrašo rezultatą ir mokestį.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Išsaugokite grąžintą vaizdo įrašo ID ir tikrinkite tą užduotį. Kol ji tikrinama, nesiųskite ją pakeičiančios generavimo užklausos.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "Esamo vaizdo įrašo atsisiuntimas laikinai nepasiekiamas.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Vėliau patikrinkite tą pačią vaizdo įrašo užduotį ir atsisiųskite jos esamą rezultatą. Naujas generavimas sukuria atskirą operaciją.",
                "type": "server_error"
              },
              {
                "condition": "Vaizdo įrašo turinys nepaskelbtas.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "Patikrinkite pradinės užduoties būseną. Atsisiųskite, kai ji praneša completed; jei praneša failed, vadovaukitės jos pranešimu apie mokesčio patikrą.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + pradinis id + X-Should-Retry:false; niekada nekartokite pradinės užklausos"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Pateikite tekstinę užklausą ir palaikomą trukmę sveikomis sekundėmis. Naudokite tikslų išvardytą dydį arba skiriamąją gebą ir kraštinių santykį, kurie atitinka išvardytus matmenis.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Tekstinė užklausa."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images yra objektų masyvas su type=image_url, image_url, kuriame yra url, ir frame_type. Naudokite viešą HTTPS paveikslėlio URL; first_frame ir last_frame gali būti nurodyti po vieną kartą. Naudokite išvardytą išvesties dydį arba suderinamus matmenis. Nepridėkite pavyzdinių vaizdo įrašų.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Tekstinė užklausa ir kadro paveikslėlis."
              },
              {
                "mode": "Reference to video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "input_references yra masyvas. Kiekviename objekte yra type=image_url arba type=audio_url ir atitinkamas URL objektas su url. Naudokite viešas HTTPS nuorodas. Kad pasirinktumėte pavyzdinės medžiagos režimą, praleiskite frame_images. Pavyzdinių vaizdo įrašų kainos nustatyti negalima.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "input_references"
                ],
                "required_material": "Tekstinė užklausa ir pavyzdiniai paveikslėliai arba garso įrašai."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images",
              "reference_to_video"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "Šio vaizdo įrašo pozicija rezultatų sąraše, skaičiuojama nuo nulio.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "Pasirašytas HTTPS atsisiuntimo URL šiam užbaigtam vaizdo įrašui.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "Pradinio vaizdo įrašo baitų SHA-256 santrauka; null, jei nepasiekiama.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "Pradinio vaizdo įrašo failo dydis baitais; null, jei nepasiekiamas.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "Išmatuota vaizdo įrašo trukmė milisekundėmis; null, jei nepasiekiama.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Vaizdo įrašo plotis pikseliais; null, jei nepasiekiamas.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Vaizdo įrašo aukštis pikseliais; null, jei nepasiekiamas.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "Vaizdo kodeko identifikatorius; null, jei neužregistruotas.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "Ar vaizdo įraše yra garso takelis; null, jei nenustatyta.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "Garso kodeko identifikatorius; null, kai identifikatorius neužregistruotas.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "pasirašyti jums priklausančio turinio URL",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "bytedance/seedance-2.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "bytedance/seedance-2.0"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480p",
                  "720p",
                  "1080p",
                  "4K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p",
                    "4K"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "1:1",
                  "3:4",
                  "9:16",
                  "4:3",
                  "16:9",
                  "21:9",
                  "9:21"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "9:16",
                    "4:3",
                    "16:9",
                    "21:9",
                    "9:21"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Kai skiriamoji geba yra 480p ir 720p, praleidus generate_audio taikoma kaina su garsu, o reikšmė false parenka kainą be garso. Kai skiriamoji geba yra 1080p ir 4K, abiem nustatymams taikoma skiriamosios gebos kaina. Rezultate patikrinkite has_audio, kad sužinotumėte, ar grąžintas garso takelis.",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Šie raktai taikomi kiekvienam kadro objektui. Jei užklausoje yra tik tekstas, praleiskite frame_images.",
                "content": "Kadrų objektų masyvas. Kiekviename yra type=image_url, image_url su url ir frame_type=first_frame arba last_frame. Kiekviena paskirtis nurodoma daugiausia vieną kartą. Naudokite viešus HTTPS URL.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 2,
                "max_items": 2,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "Kad naudotumėte pavyzdinės medžiagos režimą, praleiskite frame_images. Naudokite viešus HTTPS URL.",
                "content": "Pavyzdinių paveikslėlių arba garso objektų masyvas. Nustatykite type reikšmę image_url arba audio_url ir pateikite atitinkamą URL objektą su url. Pavyzdinių vaizdo įrašų kainos nustatyti vis dar negalima.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "audio_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "audio_url"
                          }
                        },
                        "required": [
                          "type",
                          "audio_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480x480",
                  "480x640",
                  "480x854",
                  "640x480",
                  "854x480",
                  "1120x480",
                  "720x720",
                  "720x960",
                  "720x1280",
                  "720x1680",
                  "960x720",
                  "1280x720",
                  "1680x720",
                  "1080x1080",
                  "1080x1440",
                  "1080x1920",
                  "1440x1080",
                  "1920x1080",
                  "2520x1080",
                  "3840x2160",
                  "2160x3840",
                  "2160x2160",
                  "2880x2160",
                  "2160x2880",
                  "5040x2160"
                ],
                "enum_known": true,
                "name": "size",
                "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                "required": false,
                "schema": {
                  "enum": [
                    "480x480",
                    "480x640",
                    "480x854",
                    "640x480",
                    "854x480",
                    "1120x480",
                    "720x720",
                    "720x960",
                    "720x1280",
                    "720x1680",
                    "960x720",
                    "1280x720",
                    "1680x720",
                    "1080x1080",
                    "1080x1440",
                    "1080x1920",
                    "1440x1080",
                    "1920x1080",
                    "2520x1080",
                    "3840x2160",
                    "2160x3840",
                    "2160x2160",
                    "2880x2160",
                    "2160x2880",
                    "5040x2160"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 9223372036854775807,
                "minimum": -9223372036854775808,
                "name": "seed",
                "required": false,
                "schema": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "9:16",
                    "4:3",
                    "16:9",
                    "21:9",
                    "9:21"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "audio_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "audio_url"
                          }
                        },
                        "required": [
                          "type",
                          "audio_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "model": {
                  "const": "bytedance/seedance-2.0"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p",
                    "4K"
                  ]
                },
                "seed": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": {
                  "enum": [
                    "480x480",
                    "480x640",
                    "480x854",
                    "640x480",
                    "854x480",
                    "1120x480",
                    "720x720",
                    "720x960",
                    "720x1280",
                    "720x1680",
                    "960x720",
                    "1280x720",
                    "1680x720",
                    "1080x1080",
                    "1080x1440",
                    "1080x1920",
                    "1440x1080",
                    "1920x1080",
                    "2520x1080",
                    "3840x2160",
                    "2160x3840",
                    "2160x2160",
                    "2880x2160",
                    "2160x2880",
                    "5040x2160"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist.",
                "Request geometry is required for the pre-generation estimate and reserve. Returned geometry and track time describe the generated output; final charge follows the actual billed configuration.",
                "Video references with *_with_video_input quantity are rejected; image/audio references only where model reference types admit them."
              ]
            },
            "unsupported": [
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image",
              "audio"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "size",
              "seed",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images",
            "reference_to_video"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.0154000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000154",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "input: with_video_input; resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.0094000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000094",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "resolution: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000008",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "įvestis: with_video_input; skiriamoji geba: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.0048000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000048",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Vaizdo įrašo žetonų įkainis yra pagrindinis kainos orientyras. Antraštėse pateikiami kainos už sekundę įverčiai yra atskiri orientyrai, o ne papildomas mokestis.",
            "dimensions": {
              "conditions": "input: with_video_input",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.0086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000086",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_without_audio",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Šis įvertis nėra papildomas mokestis ar fiksuotas užbaigto generavimo įkainis.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Numatoma generavimo kaina",
            "units": [
              {
                "amount": "0.3024",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.3024",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nfrom pathlib import Path\nPath('request.json').write_text('{\"model\":\"bytedance/seedance-2.0\",\"prompt\":\"A serene mountain landscape at sunset\",\"duration\":4,\"resolution\":\"480p\",\"size\":\"480x480\",\"generate_audio\":false}', encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0154000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000154",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input; resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0094000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000094",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "resolution: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000008",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input; resolution: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0048000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000048",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000086",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_without_audio",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.3024",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.3024",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "bytedance/seedance-2.0",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.014000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.000014",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0154000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_1080p",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000154",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0094000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_1080p_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000094",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.008000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_4k",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.000008",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0048000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_4k_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000048",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.0086000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000086",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.014000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_without_audio",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.000014",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.3024",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.3024",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "bytedance/seedance-2.0",
        "request_model_id": "bytedance/seedance-2.0",
        "route_label": "Ultra"
      }
    ],
    "name": "ByteDance: Seedance 2.0",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.3024,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.3024,
      "varies": false
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": false,
          "maker_model_id": "dreamina-seedance-2-0-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": false,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "480p/720p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.000014",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": false,
              "maker_model_id": "dreamina-seedance-2-0-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": false,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "480p/720p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": true,
          "maker_model_id": "dreamina-seedance-2-0-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": true,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "480p/720p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000086",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": true,
              "maker_model_id": "dreamina-seedance-2-0-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": true,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "480p/720p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": false,
          "maker_model_id": "dreamina-seedance-2-0-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": false,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "1080p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000154",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": false,
              "maker_model_id": "dreamina-seedance-2-0-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": false,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "1080p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 2,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": true,
          "maker_model_id": "dreamina-seedance-2-0-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": true,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "1080p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000094",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": true,
              "maker_model_id": "dreamina-seedance-2-0-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": true,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "1080p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 3,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": false,
          "maker_model_id": "dreamina-seedance-2-0-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": false,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "4K"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.000008",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": false,
              "maker_model_id": "dreamina-seedance-2-0-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": false,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "4K"
            },
            "key": "base",
            "label": "base",
            "profile_index": 4,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": true,
          "maker_model_id": "dreamina-seedance-2-0-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": true,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "4K"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000048",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": true,
              "maker_model_id": "dreamina-seedance-2-0-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": true,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "4K"
            },
            "key": "base",
            "label": "base",
            "profile_index": 5,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "dimensions": {},
        "label": "Ailoot Ultra · Tariff components",
        "units": [
          {
            "amount": "0.014000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "video token",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.000014",
            "key": "video_tokens",
            "label": "video token",
            "native_amount_usd_per_unit": "0.000014",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.008000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "resolution=4k",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.000008",
            "key": "video_tokens_4k",
            "label": "video token",
            "native_amount_usd_per_unit": "0.000008",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0154000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "resolution=1080p",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.0000154",
            "key": "video_tokens_1080p",
            "label": "video token",
            "native_amount_usd_per_unit": "0.0000154",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.014000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "audio=false",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.000014",
            "key": "video_tokens_without_audio",
            "label": "video token",
            "native_amount_usd_per_unit": "0.000014",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0086000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "video_reference_present Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.0000086",
            "key": "video_tokens_with_video_input",
            "label": "video token",
            "native_amount_usd_per_unit": "0.0000086",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0048000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "resolution=4k · video_reference_present Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.0000048",
            "key": "video_tokens_4k_with_video_input",
            "label": "video token",
            "native_amount_usd_per_unit": "0.0000048",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0094000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "resolution=1080p · video_reference_present Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.0000094",
            "key": "video_tokens_1080p_with_video_input",
            "label": "video token",
            "native_amount_usd_per_unit": "0.0000094",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          }
        ]
      }
    ],
    "public_id": "bytedance/seedance-2.0",
    "short": "ByteDance Seedance 2.0 jungia savąjį garso ir vaizdo generavimą su vaizdų, vaizdo bei garso etalonais. Režisuokite naujas scenas, redaguokite esamą medžiagą ar pratęskite seką; standartinė versija apima dokumentuotą 1080p ir 10 bitų 4K išvestį."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "ByteDance Seedance 2.0 jungia savąjį garso ir vaizdo generavimą su vaizdų, vaizdo bei garso etalonais. Režisuokite naujas scenas, redaguokite esamą medžiagą ar pratęskite seką; standartinė versija apima dokumentuotą 1080p ir 10 bitų 4K išvestį.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_exact_canonical_sha256": "12e4775c21db7df688cae96865044c23346e637bbf490c1a1e6d57786513657f",
    "raw_model_js_projection_sha256": "8b8d8e6597bed80d991343a2bad5472c3738cb304194e643664d7ae98da05308",
    "raw_model_json_sha256": "12e4775c21db7df688cae96865044c23346e637bbf490c1a1e6d57786513657f",
    "renderer_sha256": "57bd2f8a61f57d341aae369006eca818e3eea645ec43af488ec7b2289eeca772"
  },
  "sourceRevision": "d04ecbf8b5bf522a1e7cdd4d3e57e57c7bffb2b3699adf57f712bbb77e90a7b2"
}
