{
  "aboutHtml": "<p>Seedance 2.0 Fast yra į greitį orientuota ByteDance Seed Seedance 2.0 šeimos versija. Ji palaiko bendrą vaizdo ir garso generavimą bei daugiarūšę užduotį, sudarytą iš teksto, vaizdų, vaizdo ir garso. Kūrybinės galimybės apima naujas etalonais grindžiamas scenas, esamos medžiagos taisymus ir scenos pratęsimus, o dokumentuoti išvesties lygiai yra 480p ir 720p.</p><h4>Daugiarūšiai etalonai: medžiagos vaidmenų paskyrimas</h4><p>Vaizdas gali pateikti veikėją, produktą, kompoziciją ar vizualinį perteikimą. Etaloninis vaizdo įrašas gali pateikti veiksmą, kameros judėjimą ar efektą. Etaloninis garsas gali pateikti balso tembrą, muzikinę melodiją ar dialogo turinį. Paaiškinkite, kurią kiekvieno šaltinio dalį norite perkelti į naują sceną; etalonas naudingesnis, kai turi konkretų kūrybinį vaidmenį.</p><p>Pavyzdžiui: „Kaip produktą naudokite keraminį šviestuvą iš Image 1. Sekite lėtą kameros judėjimą ratu iš Video 1, tačiau šviestuvą pastatykite ramiame skaitymo kampelyje. Muzikinei nuotaikai naudokite Audio 1.“ Numatytas rezultatas yra nauja scena, jungianti pasirinktą išvaizdą, judėjimą ir garsinę kryptį, o ne neapibrėžtas visų etalonų detalių mėgdžiojimas.</p><p>Dokumentuoti deriniai apima vaizdus su garsu, vaizdus su vaizdo įrašu, vaizdo įrašą su garsu ir visus tris kartu. Tekstas vien su garsu ir vien garso įvestis nepalaikomi. Modelis taip pat palaiko vaizdo kūrimą iš teksto ir vaizdu grindžiamą generavimą iš pirmojo kadro arba pirmojo ir paskutiniojo kadrų poros. Kai tikslus galinis taškas yra esminis užduočiai, naudokite specialų ribinių kadrų procesą; etaloninio vaizdo aprašymas kaip galinio taško omni etalonų užklausoje yra netiesioginis valdymas.</p><h4>Esamo vaizdo įrašo redagavimas</h4><p>Modelis gali pridėti, pašalinti ar pakeisti elementus, pakeisti subjektą ir perpiešti ar pataisyti scenos dalis. Nurodykite šaltinio vaizdo įrašą, keičiamą objektą ir elementus, kurie turi likti. Pridėjimui aprašykite, kur ir kada jis pasirodo. Šalinimui visame klipe nuosekliai įvardykite objektą.</p><p>Praktinė redagavimo užduotis galėtų paprastą butelį demonstracijoje pakeisti buteliu iš Image 1, prašant išsaugoti Video 1 rankos judesį, foną ir kameros kelią. Patikrinkite ir pakeitimą, ir stabilias išlikti turėjusias sritis. Aiškios išsaugojimo instrukcijos leidžia lengviau įvertinti numatytą taisymą nei bendras prašymas „pagerinti“ medžiagą.</p><h4>Klipų pratęsimas ir sujungimas</h4><p>Seedance 2.0 Fast palaiko pratęsimą pirmyn arba atgal ir dviejų ar trijų klipų sujungimą sugeneruotais perėjimais. Pratęsimui nurodykite, ar naujas veiksmas vyksta prieš pateiktą vaizdo įrašą, ar po jo, ir tą veiksmą aprašykite. Sujungimui pateikite klipus numatyta tvarka ir paaiškinkite juos jungiantį vizualinį įvykį.</p><p>Paprastas pratęsimas paprastai grąžina naujai išplėtotą tęsinį aplink originalią medžiagą, o ne daro prielaidą, kad visas šaltinio klipas kartojamas. Jei išvestis turi apimti originalų segmentą, nurodykite tai užduotyje. Užpildant perėjimą tarp dviejų ar trijų vaizdo įrašų dokumentuotas procesas gali sujungti originalų ir naujai sugeneruotą turinį. Tai naudinga bendram produkto vaizdui susieti su detaliu kadru per tikslingą kameros judesį.</p><h4>Išvestis ir versijų skirtumai</h4><p>Dokumentuota Fast išvestis yra MP4 su 24 fps, 480p arba 720p, 8 bitų spalvos gyliu ir 4–15 sekundžių klipais. Palaikomi santykiai yra 21:9, 16:9, 4:3, 1:1, 3:4 ir 9:16. Standartinė Seedance 2.0 versija atskirai nurodo 1080p ir 4K išvestį; šie lygiai nėra Fast specifikacijos dalis. 2.0 šeima palaiko paskutinio sugeneruoto kadro grąžinimą, tačiau nepalaiko atskiro Draft peržiūros režimo.</p><p>Garsą galima generuoti kartu su medžiaga arba jo atsisakyti tyliam klipui. Sugeneruotas garsas yra mono. Dokumentuotos užklausų kalbos apima anglų, ispanų, indoneziečių, portugalų ir japonų. Viename dialoge išlaikykite nuoseklią sakytinę kalbą; vadovas pataria nemaišyti kalbų, išskyrus tikrinius vardus. Kalbamai scenai įvardykite kalbėtoją ir frazę rašykite kabutėse, tada nurodykite atlikimą bei susijusius garso efektus. Reikalaujamą atlikimą pritaikykite pasirinkto klipo trukmei.</p><h4>Etalonų paruošimas ir įvesties ribų laikymasis</h4><p>Dokumentuotos etalonų ribos 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 ar garso klipas turi trukti 2–15 sekundžių; bendra vaizdo trukmė yra daugiausia 15 sekundžių, o bendra garso trukmė atskirai yra daugiausia 15 sekundžių. Vaizdo etalonai naudoja MP4 arba MOV su 24–60 fps ir neturi viršyti 200 MB kiekvienas. Garso etalonai naudoja WAV arba MP3 ir neturi viršyti 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; bendra užklausos turinio riba – 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>Išteklius išrikiuokite ir nuosekliai vadinkite Image 1, Video 1 ar Audio 1. Kartu su ištekliaus numeriu naudokite matomo subjekto vardą ar skiriamąjį bruožą. Ribinių vaizdų kadravimą derinkite su numatytu vaizdo įrašo santykiu, nes neatitikimas gali nukirpti vaizdą ar sukelti staigų kadravimo pokytį. Užduotį sutelkite į perkeliamas savybes, generuojamą įvykį ir tai, kas turi išlikti nepakitę; ilga užklausa gali išsklaidyti instrukcijas ir palikti antraeiles detales neišspręstas.</p><h4>Kadrų planavimas, tekstas ir žinoma elgsena</h4><p>Sudėtingą užduotį organizuokite kaip Shot 1, Shot 2 ir Shot 3, kiekvienam aiškiai nurodydami subjektą, veiksmą, vietą bei garsą. Vadovas rekomenduoja vieną kameros judesį vienam kadrui ir nurodo, kad tikslios atskirų kadrų laiko žymos nestabilios. Kiekvienam veikėjui suteikite stabilią žymą ir kelis skiriamuosius bruožus; kai svarbi veido tapatybė, vietoj bendro veikėjo vaizdų iš skirtingų pusių lapo naudokite atskirą aiškų galvos portretą ir viso kūno etaloną.</p><p>Modelis gali generuoti įprastą tekstą, įskaitant šūkius, subtitrus ir kalbos burbulus, su spalvos, stiliaus, vietos bei pasirodymo instrukcijomis. Įprasti rašmenys pageidautini labiau nei reti rašmenys ar specialieji simboliai. Patikrinkite raides judant. Nepageidaujami subtitrai, logotipai ir pasikartojantys veikėjai yra dokumentuota elgsena; aiškūs apribojimai ir švarūs etalonai gali ją sumažinti, bet negarantuoja nebuvimo. Daugiau nei keturi etaloniniai žmonės įvardijami kaip stabilumo rizika, o ne griežta failų skaičiaus riba.</p><p>Pakartotiniai pratęsimai gali kaupti vaizdo kokybės nuostolius, o pratęsimo sujungimas gali šoktelėti ar grįžti atgal. Ribokite nuoseklius pratęsimus ir montaže patikrinkite sujungimą. Etaloninio balso tembras gali nukrypti, pasakojimas gali baigtis spragtelėjimu, o kelis tarimo variantus turintys ar reti kinų rašmenys gali būti ištarti neteisingai. Patikrinkite sakytinę frazę ir pabaigos garsą; trumpas garso išblukimas gali padėti staigaus nukirtimo atveju. Šie patikrinimai priklauso kūrybinio rezultato paruošimui, ypač kai istoriją perteikia kalba ar veikėjų tęstinumas.</p>",
  "aboutText": "Seedance 2.0 Fast yra į greitį orientuota ByteDance Seed Seedance 2.0 šeimos versija. Ji palaiko bendrą vaizdo ir garso generavimą bei daugiarūšę užduotį, sudarytą iš teksto, vaizdų, vaizdo ir garso. Kūrybinės galimybės apima naujas etalonais grindžiamas scenas, esamos medžiagos taisymus ir scenos pratęsimus, o dokumentuoti išvesties lygiai yra 480p ir 720p.\n\n### Daugiarūšiai etalonai: medžiagos vaidmenų paskyrimas\n\nVaizdas gali pateikti veikėją, produktą, kompoziciją ar vizualinį perteikimą. Etaloninis vaizdo įrašas gali pateikti veiksmą, kameros judėjimą ar efektą. Etaloninis garsas gali pateikti balso tembrą, muzikinę melodiją ar dialogo turinį. Paaiškinkite, kurią kiekvieno šaltinio dalį norite perkelti į naują sceną; etalonas naudingesnis, kai turi konkretų kūrybinį vaidmenį.\n\nPavyzdžiui: „Kaip produktą naudokite keraminį šviestuvą iš Image 1. Sekite lėtą kameros judėjimą ratu iš Video 1, tačiau šviestuvą pastatykite ramiame skaitymo kampelyje. Muzikinei nuotaikai naudokite Audio 1.“ Numatytas rezultatas yra nauja scena, jungianti pasirinktą išvaizdą, judėjimą ir garsinę kryptį, o ne neapibrėžtas visų etalonų detalių mėgdžiojimas.\n\nDokumentuoti deriniai apima vaizdus su garsu, vaizdus su vaizdo įrašu, vaizdo įrašą su garsu ir visus tris kartu. Tekstas vien su garsu ir vien garso įvestis nepalaikomi. Modelis taip pat palaiko vaizdo kūrimą iš teksto ir vaizdu grindžiamą generavimą iš pirmojo kadro arba pirmojo ir paskutiniojo kadrų poros. Kai tikslus galinis taškas yra esminis užduočiai, naudokite specialų ribinių kadrų procesą; etaloninio vaizdo aprašymas kaip galinio taško omni etalonų užklausoje yra netiesioginis valdymas.\n\n### Esamo vaizdo įrašo redagavimas\n\nModelis gali pridėti, pašalinti ar pakeisti elementus, pakeisti subjektą ir perpiešti ar pataisyti scenos dalis. Nurodykite šaltinio vaizdo įrašą, keičiamą objektą ir elementus, kurie turi likti. Pridėjimui aprašykite, kur ir kada jis pasirodo. Šalinimui visame klipe nuosekliai įvardykite objektą.\n\nPraktinė redagavimo užduotis galėtų paprastą butelį demonstracijoje pakeisti buteliu iš Image 1, prašant išsaugoti Video 1 rankos judesį, foną ir kameros kelią. Patikrinkite ir pakeitimą, ir stabilias išlikti turėjusias sritis. Aiškios išsaugojimo instrukcijos leidžia lengviau įvertinti numatytą taisymą nei bendras prašymas „pagerinti“ medžiagą.\n\n### Klipų pratęsimas ir sujungimas\n\nSeedance 2.0 Fast palaiko pratęsimą pirmyn arba atgal ir dviejų ar trijų klipų sujungimą sugeneruotais perėjimais. Pratęsimui nurodykite, ar naujas veiksmas vyksta prieš pateiktą vaizdo įrašą, ar po jo, ir tą veiksmą aprašykite. Sujungimui pateikite klipus numatyta tvarka ir paaiškinkite juos jungiantį vizualinį įvykį.\n\nPaprastas pratęsimas paprastai grąžina naujai išplėtotą tęsinį aplink originalią medžiagą, o ne daro prielaidą, kad visas šaltinio klipas kartojamas. Jei išvestis turi apimti originalų segmentą, nurodykite tai užduotyje. Užpildant perėjimą tarp dviejų ar trijų vaizdo įrašų dokumentuotas procesas gali sujungti originalų ir naujai sugeneruotą turinį. Tai naudinga bendram produkto vaizdui susieti su detaliu kadru per tikslingą kameros judesį.\n\n### Išvestis ir versijų skirtumai\n\nDokumentuota Fast išvestis yra MP4 su 24 fps, 480p arba 720p, 8 bitų spalvos gyliu ir 4–15 sekundžių klipais. Palaikomi santykiai yra 21:9, 16:9, 4:3, 1:1, 3:4 ir 9:16. Standartinė Seedance 2.0 versija atskirai nurodo 1080p ir 4K išvestį; šie lygiai nėra Fast specifikacijos dalis. 2.0 šeima palaiko paskutinio sugeneruoto kadro grąžinimą, tačiau nepalaiko atskiro Draft peržiūros režimo.\n\nGarsą galima generuoti kartu su medžiaga arba jo atsisakyti tyliam klipui. Sugeneruotas garsas yra mono. Dokumentuotos užklausų kalbos apima anglų, ispanų, indoneziečių, portugalų ir japonų. Viename dialoge išlaikykite nuoseklią sakytinę kalbą; vadovas pataria nemaišyti kalbų, išskyrus tikrinius vardus. Kalbamai scenai įvardykite kalbėtoją ir frazę rašykite kabutėse, tada nurodykite atlikimą bei susijusius garso efektus. Reikalaujamą atlikimą pritaikykite pasirinkto klipo trukmei.\n\n### Etalonų paruošimas ir įvesties ribų laikymasis\n\nDokumentuotos etalonų ribos 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 ar garso klipas turi trukti 2–15 sekundžių; bendra vaizdo trukmė yra daugiausia 15 sekundžių, o bendra garso trukmė atskirai yra daugiausia 15 sekundžių. Vaizdo etalonai naudoja MP4 arba MOV su 24–60 fps ir neturi viršyti 200 MB kiekvienas. Garso etalonai naudoja WAV arba MP3 ir neturi viršyti 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; bendra užklausos turinio riba – 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\nIšteklius išrikiuokite ir nuosekliai vadinkite Image 1, Video 1 ar Audio 1. Kartu su ištekliaus numeriu naudokite matomo subjekto vardą ar skiriamąjį bruožą. Ribinių vaizdų kadravimą derinkite su numatytu vaizdo įrašo santykiu, nes neatitikimas gali nukirpti vaizdą ar sukelti staigų kadravimo pokytį. Užduotį sutelkite į perkeliamas savybes, generuojamą įvykį ir tai, kas turi išlikti nepakitę; ilga užklausa gali išsklaidyti instrukcijas ir palikti antraeiles detales neišspręstas.\n\n### Kadrų planavimas, tekstas ir žinoma elgsena\n\nSudėtingą užduotį organizuokite kaip Shot 1, Shot 2 ir Shot 3, kiekvienam aiškiai nurodydami subjektą, veiksmą, vietą bei garsą. Vadovas rekomenduoja vieną kameros judesį vienam kadrui ir nurodo, kad tikslios atskirų kadrų laiko žymos nestabilios. Kiekvienam veikėjui suteikite stabilią žymą ir kelis skiriamuosius bruožus; kai svarbi veido tapatybė, vietoj bendro veikėjo vaizdų iš skirtingų pusių lapo naudokite atskirą aiškų galvos portretą ir viso kūno etaloną.\n\nModelis gali generuoti įprastą tekstą, įskaitant šūkius, subtitrus ir kalbos burbulus, su spalvos, stiliaus, vietos bei pasirodymo instrukcijomis. Įprasti rašmenys pageidautini labiau nei reti rašmenys ar specialieji simboliai. Patikrinkite raides judant. Nepageidaujami subtitrai, logotipai ir pasikartojantys veikėjai yra dokumentuota elgsena; aiškūs apribojimai ir švarūs etalonai gali ją sumažinti, bet negarantuoja nebuvimo. Daugiau nei keturi etaloniniai žmonės įvardijami kaip stabilumo rizika, o ne griežta failų skaičiaus riba.\n\nPakartotiniai pratęsimai gali kaupti vaizdo kokybės nuostolius, o pratęsimo sujungimas gali šoktelėti ar grįžti atgal. Ribokite nuoseklius pratęsimus ir montaže patikrinkite sujungimą. Etaloninio balso tembras gali nukrypti, pasakojimas gali baigtis spragtelėjimu, o kelis tarimo variantus turintys ar reti kinų rašmenys gali būti ištarti neteisingai. Patikrinkite sakytinę frazę ir pabaigos garsą; trumpas garso išblukimas gali padėti staigaus nukirtimo atveju. Šie patikrinimai priklauso kūrybinio rezultato paruošimui, ypač kai istoriją perteikia kalba ar veikėjų tęstinumas.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "a37e9160c024a40a06c6b348d425448b6b088d979f69f874d97a7c0bd3acb0c6",
    "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 Fast</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-fast</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-fast\">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 Fast kuria garso ir vaizdo scenas iš teksto, vaizdų, vaizdo bei garso etalonų. Į greitį orientuota versija palaiko judesio ir stiliaus perkėlimą, vaizdo taisymus bei pratęsimą pirmyn arba atgal su dokumentuota 480p ir 720p išvestimi.</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 Fast yra į greitį orientuota ByteDance Seed Seedance 2.0 šeimos versija. Ji palaiko bendrą vaizdo ir garso generavimą bei daugiarūšę užduotį, sudarytą iš teksto, vaizdų, vaizdo ir garso. Kūrybinės galimybės apima naujas etalonais grindžiamas scenas, esamos medžiagos taisymus ir scenos pratęsimus, o dokumentuoti išvesties lygiai yra 480p ir 720p.</p><h4>Daugiarūšiai etalonai: medžiagos vaidmenų paskyrimas</h4><p>Vaizdas gali pateikti veikėją, produktą, kompoziciją ar vizualinį perteikimą. Etaloninis vaizdo įrašas gali pateikti veiksmą, kameros judėjimą ar efektą. Etaloninis garsas gali pateikti balso tembrą, muzikinę melodiją ar dialogo turinį. Paaiškinkite, kurią kiekvieno šaltinio dalį norite perkelti į naują sceną; etalonas naudingesnis, kai turi konkretų kūrybinį vaidmenį.</p><p>Pavyzdžiui: „Kaip produktą naudokite keraminį šviestuvą iš Image 1. Sekite lėtą kameros judėjimą ratu iš Video 1, tačiau šviestuvą pastatykite ramiame skaitymo kampelyje. Muzikinei nuotaikai naudokite Audio 1.“ Numatytas rezultatas yra nauja scena, jungianti pasirinktą išvaizdą, judėjimą ir garsinę kryptį, o ne neapibrėžtas visų etalonų detalių mėgdžiojimas.</p><p>Dokumentuoti deriniai apima vaizdus su garsu, vaizdus su vaizdo įrašu, vaizdo įrašą su garsu ir visus tris kartu. Tekstas vien su garsu ir vien garso įvestis nepalaikomi. Modelis taip pat palaiko vaizdo kūrimą iš teksto ir vaizdu grindžiamą generavimą iš pirmojo kadro arba pirmojo ir paskutiniojo kadrų poros. Kai tikslus galinis taškas yra esminis užduočiai, naudokite specialų ribinių kadrų procesą; etaloninio vaizdo aprašymas kaip galinio taško omni etalonų užklausoje yra netiesioginis valdymas.</p><h4>Esamo vaizdo įrašo redagavimas</h4><p>Modelis gali pridėti, pašalinti ar pakeisti elementus, pakeisti subjektą ir perpiešti ar pataisyti scenos dalis. Nurodykite šaltinio vaizdo įrašą, keičiamą objektą ir elementus, kurie turi likti. Pridėjimui aprašykite, kur ir kada jis pasirodo. Šalinimui visame klipe nuosekliai įvardykite objektą.</p><p>Praktinė redagavimo užduotis galėtų paprastą butelį demonstracijoje pakeisti buteliu iš Image 1, prašant išsaugoti Video 1 rankos judesį, foną ir kameros kelią. Patikrinkite ir pakeitimą, ir stabilias išlikti turėjusias sritis. Aiškios išsaugojimo instrukcijos leidžia lengviau įvertinti numatytą taisymą nei bendras prašymas „pagerinti“ medžiagą.</p><h4>Klipų pratęsimas ir sujungimas</h4><p>Seedance 2.0 Fast palaiko pratęsimą pirmyn arba atgal ir dviejų ar trijų klipų sujungimą sugeneruotais perėjimais. Pratęsimui nurodykite, ar naujas veiksmas vyksta prieš pateiktą vaizdo įrašą, ar po jo, ir tą veiksmą aprašykite. Sujungimui pateikite klipus numatyta tvarka ir paaiškinkite juos jungiantį vizualinį įvykį.</p><p>Paprastas pratęsimas paprastai grąžina naujai išplėtotą tęsinį aplink originalią medžiagą, o ne daro prielaidą, kad visas šaltinio klipas kartojamas. Jei išvestis turi apimti originalų segmentą, nurodykite tai užduotyje. Užpildant perėjimą tarp dviejų ar trijų vaizdo įrašų dokumentuotas procesas gali sujungti originalų ir naujai sugeneruotą turinį. Tai naudinga bendram produkto vaizdui susieti su detaliu kadru per tikslingą kameros judesį.</p><h4>Išvestis ir versijų skirtumai</h4><p>Dokumentuota Fast išvestis yra MP4 su 24 fps, 480p arba 720p, 8 bitų spalvos gyliu ir 4–15 sekundžių klipais. Palaikomi santykiai yra 21:9, 16:9, 4:3, 1:1, 3:4 ir 9:16. Standartinė Seedance 2.0 versija atskirai nurodo 1080p ir 4K išvestį; šie lygiai nėra Fast specifikacijos dalis. 2.0 šeima palaiko paskutinio sugeneruoto kadro grąžinimą, tačiau nepalaiko atskiro Draft peržiūros režimo.</p><p>Garsą galima generuoti kartu su medžiaga arba jo atsisakyti tyliam klipui. Sugeneruotas garsas yra mono. Dokumentuotos užklausų kalbos apima anglų, ispanų, indoneziečių, portugalų ir japonų. Viename dialoge išlaikykite nuoseklią sakytinę kalbą; vadovas pataria nemaišyti kalbų, išskyrus tikrinius vardus. Kalbamai scenai įvardykite kalbėtoją ir frazę rašykite kabutėse, tada nurodykite atlikimą bei susijusius garso efektus. Reikalaujamą atlikimą pritaikykite pasirinkto klipo trukmei.</p><h4>Etalonų paruošimas ir įvesties ribų laikymasis</h4><p>Dokumentuotos etalonų ribos 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 ar garso klipas turi trukti 2–15 sekundžių; bendra vaizdo trukmė yra daugiausia 15 sekundžių, o bendra garso trukmė atskirai yra daugiausia 15 sekundžių. Vaizdo etalonai naudoja MP4 arba MOV su 24–60 fps ir neturi viršyti 200 MB kiekvienas. Garso etalonai naudoja WAV arba MP3 ir neturi viršyti 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; bendra užklausos turinio riba – 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>Išteklius išrikiuokite ir nuosekliai vadinkite Image 1, Video 1 ar Audio 1. Kartu su ištekliaus numeriu naudokite matomo subjekto vardą ar skiriamąjį bruožą. Ribinių vaizdų kadravimą derinkite su numatytu vaizdo įrašo santykiu, nes neatitikimas gali nukirpti vaizdą ar sukelti staigų kadravimo pokytį. Užduotį sutelkite į perkeliamas savybes, generuojamą įvykį ir tai, kas turi išlikti nepakitę; ilga užklausa gali išsklaidyti instrukcijas ir palikti antraeiles detales neišspręstas.</p><h4>Kadrų planavimas, tekstas ir žinoma elgsena</h4><p>Sudėtingą užduotį organizuokite kaip Shot 1, Shot 2 ir Shot 3, kiekvienam aiškiai nurodydami subjektą, veiksmą, vietą bei garsą. Vadovas rekomenduoja vieną kameros judesį vienam kadrui ir nurodo, kad tikslios atskirų kadrų laiko žymos nestabilios. Kiekvienam veikėjui suteikite stabilią žymą ir kelis skiriamuosius bruožus; kai svarbi veido tapatybė, vietoj bendro veikėjo vaizdų iš skirtingų pusių lapo naudokite atskirą aiškų galvos portretą ir viso kūno etaloną.</p><p>Modelis gali generuoti įprastą tekstą, įskaitant šūkius, subtitrus ir kalbos burbulus, su spalvos, stiliaus, vietos bei pasirodymo instrukcijomis. Įprasti rašmenys pageidautini labiau nei reti rašmenys ar specialieji simboliai. Patikrinkite raides judant. Nepageidaujami subtitrai, logotipai ir pasikartojantys veikėjai yra dokumentuota elgsena; aiškūs apribojimai ir švarūs etalonai gali ją sumažinti, bet negarantuoja nebuvimo. Daugiau nei keturi etaloniniai žmonės įvardijami kaip stabilumo rizika, o ne griežta failų skaičiaus riba.</p><p>Pakartotiniai pratęsimai gali kaupti vaizdo kokybės nuostolius, o pratęsimo sujungimas gali šoktelėti ar grįžti atgal. Ribokite nuoseklius pratęsimus ir montaže patikrinkite sujungimą. Etaloninio balso tembras gali nukrypti, pasakojimas gali baigtis spragtelėjimu, o kelis tarimo variantus turintys ar reti kinų rašmenys gali būti ištarti neteisingai. Patikrinkite sakytinę frazę ir pabaigos garsą; trumpas garso išblukimas gali padėti staigaus nukirtimo atveju. Šie patikrinimai priklauso kūrybinio rezultato paruošimui, ypač kai istoriją perteikia kalba ar veikėjų tęstinumas.</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-fast</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</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: Praleidus generate_audio taikoma kaina su garsu; false parenka kainą be garso. 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</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-fast</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-fast</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-fast</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.0084</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.00495</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.0084</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.18144</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.0084</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.0084</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.00495</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-1134-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1134-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-1134-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1134-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-fast&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-1135-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1135-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-1135-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1135-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-1136-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1136-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-1136-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1136-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-fast&amp;route=Ultra&amp;caller=bytedance%2Fseedance-2.0-fast&amp;fmt=videos\"><code>bytedance/seedance-2.0-fast</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-fast&amp;route=Ultra&amp;caller=bytedance%2Fseedance-2.0-fast&amp;fmt=videos\"><code>bytedance/seedance-2.0-fast</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "bytedance/seedance-2.0-fast",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "bytedance/seedance-2.0-fast",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|bytedance%2Fseedance-2.0-fast",
      "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-fast"
                  ],
                  "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-fast"
                  ],
                  "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-fast"
                  ],
                  "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-fast"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "bytedance/seedance-2.0-fast"
                },
                "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"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p"
                  ]
                },
                "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": "Praleidus generate_audio taikoma kaina su garsu; false parenka kainą be garso. 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"
                ],
                "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"
                  ],
                  "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-fast"
                },
                "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"
                  ]
                },
                "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"
                  ],
                  "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.0084000",
                "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.0000084",
                "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",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.00495000",
                "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.00000495",
                "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.0084000",
                "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.0000084",
                "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.18144",
                "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.18144",
                "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-fast\",\"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.0084000",
                "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.0000084",
                "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",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.00495000",
                "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.00000495",
                "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.0084000",
                "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.0000084",
                "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.18144",
                "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.18144",
                "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-fast",
        "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.0084000",
            "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.0000084",
            "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.00495000",
            "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.00000495",
            "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.0084000",
            "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.0000084",
            "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.18144",
            "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.18144",
            "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-fast",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "fdd8e004eb7772d3ae4d156e22ba4831228b98aa69da6b53ccf723611e110c05",
    "input_html_sha256": "26ac98b7d0ed8ed55a455e755863df583651988d5e905affc10a048e86fb3a1d",
    "private_audit_sha256": "0eda1484d66aa967ad3c177825dfa64e757e7728d3b58edc8fa6d4aecaf0980e",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/lt/bytedance-seedance-2-0-fast/",
    "description": "ByteDance Seedance 2.0 Fast kuria garso ir vaizdo scenas iš teksto, vaizdų, vaizdo bei garso etalonų. Į greitį orientuota versija palaiko judesio ir stiliaus perkėlimą, vaizdo taisymus bei pratęsimą pirmyn arba atgal su dokumentuota 480p ir 720p išvestimi.",
    "locale": "lt",
    "md_url": "https://ailoot.ai/models/lt/bytedance-seedance-2-0-fast/index.md",
    "title": "ByteDance: Seedance 2.0 Fast — Ailoot",
    "url": "https://ailoot.ai/models/lt/bytedance-seedance-2-0-fast/"
  },
  "rawModel": {
    "about": "Seedance 2.0 Fast yra į greitį orientuota ByteDance Seed Seedance 2.0 šeimos versija. Ji palaiko bendrą vaizdo ir garso generavimą bei daugiarūšę užduotį, sudarytą iš teksto, vaizdų, vaizdo ir garso. Kūrybinės galimybės apima naujas etalonais grindžiamas scenas, esamos medžiagos taisymus ir scenos pratęsimus, o dokumentuoti išvesties lygiai yra 480p ir 720p.\n\n### Daugiarūšiai etalonai: medžiagos vaidmenų paskyrimas\n\nVaizdas gali pateikti veikėją, produktą, kompoziciją ar vizualinį perteikimą. Etaloninis vaizdo įrašas gali pateikti veiksmą, kameros judėjimą ar efektą. Etaloninis garsas gali pateikti balso tembrą, muzikinę melodiją ar dialogo turinį. Paaiškinkite, kurią kiekvieno šaltinio dalį norite perkelti į naują sceną; etalonas naudingesnis, kai turi konkretų kūrybinį vaidmenį.\n\nPavyzdžiui: „Kaip produktą naudokite keraminį šviestuvą iš Image 1. Sekite lėtą kameros judėjimą ratu iš Video 1, tačiau šviestuvą pastatykite ramiame skaitymo kampelyje. Muzikinei nuotaikai naudokite Audio 1.“ Numatytas rezultatas yra nauja scena, jungianti pasirinktą išvaizdą, judėjimą ir garsinę kryptį, o ne neapibrėžtas visų etalonų detalių mėgdžiojimas.\n\nDokumentuoti deriniai apima vaizdus su garsu, vaizdus su vaizdo įrašu, vaizdo įrašą su garsu ir visus tris kartu. Tekstas vien su garsu ir vien garso įvestis nepalaikomi. Modelis taip pat palaiko vaizdo kūrimą iš teksto ir vaizdu grindžiamą generavimą iš pirmojo kadro arba pirmojo ir paskutiniojo kadrų poros. Kai tikslus galinis taškas yra esminis užduočiai, naudokite specialų ribinių kadrų procesą; etaloninio vaizdo aprašymas kaip galinio taško omni etalonų užklausoje yra netiesioginis valdymas.\n\n### Esamo vaizdo įrašo redagavimas\n\nModelis gali pridėti, pašalinti ar pakeisti elementus, pakeisti subjektą ir perpiešti ar pataisyti scenos dalis. Nurodykite šaltinio vaizdo įrašą, keičiamą objektą ir elementus, kurie turi likti. Pridėjimui aprašykite, kur ir kada jis pasirodo. Šalinimui visame klipe nuosekliai įvardykite objektą.\n\nPraktinė redagavimo užduotis galėtų paprastą butelį demonstracijoje pakeisti buteliu iš Image 1, prašant išsaugoti Video 1 rankos judesį, foną ir kameros kelią. Patikrinkite ir pakeitimą, ir stabilias išlikti turėjusias sritis. Aiškios išsaugojimo instrukcijos leidžia lengviau įvertinti numatytą taisymą nei bendras prašymas „pagerinti“ medžiagą.\n\n### Klipų pratęsimas ir sujungimas\n\nSeedance 2.0 Fast palaiko pratęsimą pirmyn arba atgal ir dviejų ar trijų klipų sujungimą sugeneruotais perėjimais. Pratęsimui nurodykite, ar naujas veiksmas vyksta prieš pateiktą vaizdo įrašą, ar po jo, ir tą veiksmą aprašykite. Sujungimui pateikite klipus numatyta tvarka ir paaiškinkite juos jungiantį vizualinį įvykį.\n\nPaprastas pratęsimas paprastai grąžina naujai išplėtotą tęsinį aplink originalią medžiagą, o ne daro prielaidą, kad visas šaltinio klipas kartojamas. Jei išvestis turi apimti originalų segmentą, nurodykite tai užduotyje. Užpildant perėjimą tarp dviejų ar trijų vaizdo įrašų dokumentuotas procesas gali sujungti originalų ir naujai sugeneruotą turinį. Tai naudinga bendram produkto vaizdui susieti su detaliu kadru per tikslingą kameros judesį.\n\n### Išvestis ir versijų skirtumai\n\nDokumentuota Fast išvestis yra MP4 su 24 fps, 480p arba 720p, 8 bitų spalvos gyliu ir 4–15 sekundžių klipais. Palaikomi santykiai yra 21:9, 16:9, 4:3, 1:1, 3:4 ir 9:16. Standartinė Seedance 2.0 versija atskirai nurodo 1080p ir 4K išvestį; šie lygiai nėra Fast specifikacijos dalis. 2.0 šeima palaiko paskutinio sugeneruoto kadro grąžinimą, tačiau nepalaiko atskiro Draft peržiūros režimo.\n\nGarsą galima generuoti kartu su medžiaga arba jo atsisakyti tyliam klipui. Sugeneruotas garsas yra mono. Dokumentuotos užklausų kalbos apima anglų, ispanų, indoneziečių, portugalų ir japonų. Viename dialoge išlaikykite nuoseklią sakytinę kalbą; vadovas pataria nemaišyti kalbų, išskyrus tikrinius vardus. Kalbamai scenai įvardykite kalbėtoją ir frazę rašykite kabutėse, tada nurodykite atlikimą bei susijusius garso efektus. Reikalaujamą atlikimą pritaikykite pasirinkto klipo trukmei.\n\n### Etalonų paruošimas ir įvesties ribų laikymasis\n\nDokumentuotos etalonų ribos 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 ar garso klipas turi trukti 2–15 sekundžių; bendra vaizdo trukmė yra daugiausia 15 sekundžių, o bendra garso trukmė atskirai yra daugiausia 15 sekundžių. Vaizdo etalonai naudoja MP4 arba MOV su 24–60 fps ir neturi viršyti 200 MB kiekvienas. Garso etalonai naudoja WAV arba MP3 ir neturi viršyti 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; bendra užklausos turinio riba – 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\nIšteklius išrikiuokite ir nuosekliai vadinkite Image 1, Video 1 ar Audio 1. Kartu su ištekliaus numeriu naudokite matomo subjekto vardą ar skiriamąjį bruožą. Ribinių vaizdų kadravimą derinkite su numatytu vaizdo įrašo santykiu, nes neatitikimas gali nukirpti vaizdą ar sukelti staigų kadravimo pokytį. Užduotį sutelkite į perkeliamas savybes, generuojamą įvykį ir tai, kas turi išlikti nepakitę; ilga užklausa gali išsklaidyti instrukcijas ir palikti antraeiles detales neišspręstas.\n\n### Kadrų planavimas, tekstas ir žinoma elgsena\n\nSudėtingą užduotį organizuokite kaip Shot 1, Shot 2 ir Shot 3, kiekvienam aiškiai nurodydami subjektą, veiksmą, vietą bei garsą. Vadovas rekomenduoja vieną kameros judesį vienam kadrui ir nurodo, kad tikslios atskirų kadrų laiko žymos nestabilios. Kiekvienam veikėjui suteikite stabilią žymą ir kelis skiriamuosius bruožus; kai svarbi veido tapatybė, vietoj bendro veikėjo vaizdų iš skirtingų pusių lapo naudokite atskirą aiškų galvos portretą ir viso kūno etaloną.\n\nModelis gali generuoti įprastą tekstą, įskaitant šūkius, subtitrus ir kalbos burbulus, su spalvos, stiliaus, vietos bei pasirodymo instrukcijomis. Įprasti rašmenys pageidautini labiau nei reti rašmenys ar specialieji simboliai. Patikrinkite raides judant. Nepageidaujami subtitrai, logotipai ir pasikartojantys veikėjai yra dokumentuota elgsena; aiškūs apribojimai ir švarūs etalonai gali ją sumažinti, bet negarantuoja nebuvimo. Daugiau nei keturi etaloniniai žmonės įvardijami kaip stabilumo rizika, o ne griežta failų skaičiaus riba.\n\nPakartotiniai pratęsimai gali kaupti vaizdo kokybės nuostolius, o pratęsimo sujungimas gali šoktelėti ar grįžti atgal. Ribokite nuoseklius pratęsimus ir montaže patikrinkite sujungimą. Etaloninio balso tembras gali nukrypti, pasakojimas gali baigtis spragtelėjimu, o kelis tarimo variantus turintys ar reti kinų rašmenys gali būti ištarti neteisingai. Patikrinkite sakytinę frazę ir pabaigos garsą; trumpas garso išblukimas gali padėti staigaus nukirtimo atveju. Šie patikrinimai priklauso kūrybinio rezultato paruošimui, ypač kai istoriją perteikia kalba ar veikėjų tęstinumas.",
    "alias_of": null,
    "aliases": [],
    "author": "ByteDance",
    "available": null,
    "canonical_model": "bytedance/seedance-2.0-fast",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image",
        "video",
        "audio"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.18144",
            "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.18144",
            "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": "24999f354c53561f1fcfc3f1",
        "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.0084",
                "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.0084",
                "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.00495",
                "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-fast",
    "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-fast"
                  ],
                  "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-fast"
                  ],
                  "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-fast"
                  ],
                  "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-fast"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "bytedance/seedance-2.0-fast"
                },
                "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"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p"
                  ]
                },
                "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": "Praleidus generate_audio taikoma kaina su garsu; false parenka kainą be garso. 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"
                ],
                "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"
                  ],
                  "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-fast"
                },
                "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"
                  ]
                },
                "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"
                  ],
                  "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.0084000",
                "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.0000084",
                "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",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Vaizdo įrašo žetono kaina",
            "units": [
              {
                "amount": "0.00495000",
                "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.00000495",
                "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.0084000",
                "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.0000084",
                "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.18144",
                "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.18144",
                "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-fast\",\"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.0084000",
                "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.0000084",
                "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",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.00495000",
                "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.00000495",
                "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.0084000",
                "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.0000084",
                "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.18144",
                "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.18144",
                "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-fast",
        "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.0084000",
            "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.0000084",
            "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.00495000",
            "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.00000495",
            "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.0084000",
            "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.0000084",
            "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.18144",
            "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.18144",
            "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-fast",
        "request_model_id": "bytedance/seedance-2.0-fast",
        "route_label": "Ultra"
      }
    ],
    "name": "ByteDance: Seedance 2.0 Fast",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.18144,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.18144,
      "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-fast-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.0000112",
            "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-fast-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-fast-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.0000066",
            "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-fast-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,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "dimensions": {},
        "label": "Ailoot Ultra · Tariff components",
        "units": [
          {
            "amount": "0.0084000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "video token",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.0000084",
            "key": "video_tokens",
            "label": "video token",
            "native_amount_usd_per_unit": "0.0000084",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0084000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "audio=false",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.0000084",
            "key": "video_tokens_without_audio",
            "label": "video token",
            "native_amount_usd_per_unit": "0.0000084",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.004950000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "video_reference_present Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.000004950",
            "key": "video_tokens_with_video_input",
            "label": "video token",
            "native_amount_usd_per_unit": "0.000004950",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          }
        ]
      }
    ],
    "public_id": "bytedance/seedance-2.0-fast",
    "short": "ByteDance Seedance 2.0 Fast kuria garso ir vaizdo scenas iš teksto, vaizdų, vaizdo bei garso etalonų. Į greitį orientuota versija palaiko judesio ir stiliaus perkėlimą, vaizdo taisymus bei pratęsimą pirmyn arba atgal su dokumentuota 480p ir 720p išvestimi."
  },
  "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 Fast kuria garso ir vaizdo scenas iš teksto, vaizdų, vaizdo bei garso etalonų. Į greitį orientuota versija palaiko judesio ir stiliaus perkėlimą, vaizdo taisymus bei pratęsimą pirmyn arba atgal su dokumentuota 480p ir 720p išvestimi.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_exact_canonical_sha256": "bd81cd815639eebdf1e3fa91242fc9c5b3bbae72408e5f7a1220d10c5450f28c",
    "raw_model_js_projection_sha256": "af4b0b2bb2dacd3e4c1dac21af0c54058dbdd17290b5f78ee366b3592ab36bf1",
    "raw_model_json_sha256": "bd81cd815639eebdf1e3fa91242fc9c5b3bbae72408e5f7a1220d10c5450f28c",
    "renderer_sha256": "57bd2f8a61f57d341aae369006eca818e3eea645ec43af488ec7b2289eeca772"
  },
  "sourceRevision": "7e8a84fbc4f66e97f8e46609867e941ca723dcead5ba97d3de7ee96880f77ea4"
}
