{
  "aboutHtml": "<p>Grok Imagine Video 1.5 yra pilna Grok Imagine vaizdo modelių šeimos generavimo versija. Gamintojas pabrėžia judesį, fizinį vientisumą ir kartu su vaizdu generuojamus garso efektus, aplinkos garsus bei kalbą. Generavimas iš teksto ir vaizdo vyksta pradine 1080p raiška, o orientyrais valdomas generavimas leidžia tiksliau nurodyti, kas pasirodo scenoje. Naudingas rezultatas – trumpas vaizdo įrašas su garsu, pavyzdžiui, produkto pristatymas, personažų pokalbis arba tiksliai surežisuotas perėjimas tarp vaizdinių atramos taškų.</p><p>Kurdami iš teksto, aprašykite plano objektą, aplinką, veiksmą, kameros judėjimą, apšvietimą ir garsą. Gamintojas aiškina, kad 1.5 viduje sugeneruoja pradinį vaizdą, tada jį animuoja; tarpinė nuotrauka negrąžinama. Kuriant iš vaizdo, pateiktas vaizdas tampa pirmuoju kadru, o užklausa aprašo tolesnius įvykius. Paruoškite jį su norimu kadravimu ir jau matomomis detalėmis. Iš vaizdo sukurtas klipas išlaiko pradinio vaizdo kraštinių santykį, todėl vertikaliam rezultatui reikia tinkamo pradinio iškirpimo.</p><p>Kuriant iš orientyrų, vaizdų vaidmuo kitoks: jie nukreipia žmonių, daiktų, drabužių ar vietų vaizdavimą, tačiau automatiškai nefiksuoja pirmojo kadro. Dokumentuota riba – iki 14 orientyrinių vaizdų ir iki 15 sekundžių trukmės 720p rezultatas. Kiekvienam vaizdui priskirkite aiškų vaidmenį scenoje ir nurodykite jį pagal vietą orientyrų sąraše. Gamintojo užklausos sintaksėje pirmasis orientyras yra &lt;IMAGE_0&gt;, paskui eina &lt;IMAGE_1&gt; ir taip toliau. Jei dar fiksuojamas pradinis vaizdas, jam tenka pirmasis indeksas, o atskiri orientyrai prasideda kitu. Ši tvarka svarbi, kai užduotyje atskiriamas žmogus, produktas ir aplinka.</p><p>Originalioje orientyrinėje užduotyje galima pastatyti personažą prie viename vaizde pateiktos kėdės, kitame vaizde pateiktame kambaryje ir paprašyti lėtai artėti prie kėdės medžiagos detalės. Orientyruose personažas ir svarbiausias produktas turi būti lengvai atskiriami. Gamintojas pataria kiekvienam orientyrui suteikti vieną vaidmenį ir fiksuotą vietą, naudoti nedaug personažų ir, kai įvesčių daug, išlaikyti rekvizitą nejudantį. Patikrinkite, ar į sceną perkeliama norimo daikto forma bei žymėjimas ir ar kamera atskleidžia užduotyje prašytą detalę.</p><p>Kuriant iš orientyrų taip pat galima priskirti iki trijų iš anksto nustatytų balsų. Užklausoje atskirai įvardykite numatytą kalbėtoją ir jo balsą, naudodami dokumentuotus pozicinius balso orientyrus, ir pateikite tikslų dialogą, kurį jis turi pasakyti. Modelis palaiko su lūpų judesiais sinchronizuotą kalbą. Trumpam pokalbiui parašykite replikas, paliekančias laiko atsakymui, ir gautame klipe patikrinkite kalbėtojų priskyrimą bei burnos judesius. Balso orientyras parenka kalbantį balsą; kameros ir scenos nurodymuose vis tiek reikia aprašyti, kaip personažai rodomi.</p><p>Pirmojo ir paskutinio kadrų valdikliai įtvirtina plano pradžią bei pabaigą, o iki keturių pagrindinių kadrų leidžia fiksuoti vaizdus tarpiniu laiku. Gamintojo pagrindinių kadrų vadovas tuos laikus išdėsto tik klipo viduje, vienos trečiosios sekundės tinklelyje; du atramos taškai, patenkantys į tą patį laiko intervalą, atmetami. Paruoškite tai pačiai scenai priklausančius atramos vaizdus ir aprašykite judėjimą tarp jų. Produkto atskleidimo plane pradžioje galima rodyti uždarą ekspoziciją, o pabaigoje – atskleistą daiktą. Kuriant ciklą, tas pats vaizdas gali būti naudojamas kaip pirmasis ir paskutinis kadras. Perėjimą žiūrėkite ir klausykite visą, užuot vertinę tik fiksuotus vaizdus.</p><p>Įprastas generavimas iš teksto ir vaizdo palaiko 1–15 sekundžių klipus bei 480p, 720p arba pradinę 1080p raišką. Kuriant iš orientyrų, riba yra 720p. Tekstu nustatomo kadravimo variantai apima 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 ir 5:2. Trukmę ir formą rinkitės pagal veiksmą ir paskirties vietą. Gamintojas pagal numatytuosius nustatymus generuoja garsą ir dokumentuoja tylaus vaizdo parinktį. Užduotyje galima nurodyti sakomą repliką, artimus efektus ir tolimus aplinkos garsus, kad garsas prisidėtų prie tos pačios scenos, užuot tapęs neapibrėžtu fonu.</p><p>Dokumentuota generavimo eiga yra asinchroninė: grąžinamas užklausos identifikatorius, o vėliau – užbaigtas rezultatas su klipo vieta ir trukme. Rezultato pavyzdyje nurodomas MP4 vaizdo įrašas, o jo talpinimo vieta yra laikina. Ruošdami montažą, išsaugokite užbaigtą klipą ir pradinę užduotį. Patikrinkite vientisumą, objektų išlikimą, judesį, kadravimą ir garsą pagal numatytą planą. Tarpinis apdorojimo įrašas padeda sekti darbą, o paleidžiamas vaizdo įrašas yra vertintinas rezultatas.</p><p>Versijų skirtumai veikia planavimą. Lite skirta nesudėtingam generavimui iš teksto arba vieno vaizdo animacijai, o jos 1080p parinktis padidinama iš 720p. Pilna 1.5 versija prideda orientyrinius vaizdus, iš anksto nustatytus balsus ir fiksuotus kadrus. Klasikinė Grok Imagine Video versija leidžia redaguoti bei pratęsti esamus vaizdo įrašus. Leidimo atskiri Video 1.5 Fast greičio skaičiai taikomi būtent taip pavadintam variantui, todėl nenustato fiksuoto šio modelio užbaigimo laiko. Ilgesnei sekai režisuokite vientisus trumpus planus ir, dėliodami klipus kartu, peržiūrėkite personažų, produktų bei garso tęstinumą.</p>",
  "aboutText": "Grok Imagine Video 1.5 yra pilna Grok Imagine vaizdo modelių šeimos generavimo versija. Gamintojas pabrėžia judesį, fizinį vientisumą ir kartu su vaizdu generuojamus garso efektus, aplinkos garsus bei kalbą. Generavimas iš teksto ir vaizdo vyksta pradine 1080p raiška, o orientyrais valdomas generavimas leidžia tiksliau nurodyti, kas pasirodo scenoje. Naudingas rezultatas – trumpas vaizdo įrašas su garsu, pavyzdžiui, produkto pristatymas, personažų pokalbis arba tiksliai surežisuotas perėjimas tarp vaizdinių atramos taškų.\n\nKurdami iš teksto, aprašykite plano objektą, aplinką, veiksmą, kameros judėjimą, apšvietimą ir garsą. Gamintojas aiškina, kad 1.5 viduje sugeneruoja pradinį vaizdą, tada jį animuoja; tarpinė nuotrauka negrąžinama. Kuriant iš vaizdo, pateiktas vaizdas tampa pirmuoju kadru, o užklausa aprašo tolesnius įvykius. Paruoškite jį su norimu kadravimu ir jau matomomis detalėmis. Iš vaizdo sukurtas klipas išlaiko pradinio vaizdo kraštinių santykį, todėl vertikaliam rezultatui reikia tinkamo pradinio iškirpimo.\n\nKuriant iš orientyrų, vaizdų vaidmuo kitoks: jie nukreipia žmonių, daiktų, drabužių ar vietų vaizdavimą, tačiau automatiškai nefiksuoja pirmojo kadro. Dokumentuota riba – iki 14 orientyrinių vaizdų ir iki 15 sekundžių trukmės 720p rezultatas. Kiekvienam vaizdui priskirkite aiškų vaidmenį scenoje ir nurodykite jį pagal vietą orientyrų sąraše. Gamintojo užklausos sintaksėje pirmasis orientyras yra <IMAGE_0>, paskui eina <IMAGE_1> ir taip toliau. Jei dar fiksuojamas pradinis vaizdas, jam tenka pirmasis indeksas, o atskiri orientyrai prasideda kitu. Ši tvarka svarbi, kai užduotyje atskiriamas žmogus, produktas ir aplinka.\n\nOriginalioje orientyrinėje užduotyje galima pastatyti personažą prie viename vaizde pateiktos kėdės, kitame vaizde pateiktame kambaryje ir paprašyti lėtai artėti prie kėdės medžiagos detalės. Orientyruose personažas ir svarbiausias produktas turi būti lengvai atskiriami. Gamintojas pataria kiekvienam orientyrui suteikti vieną vaidmenį ir fiksuotą vietą, naudoti nedaug personažų ir, kai įvesčių daug, išlaikyti rekvizitą nejudantį. Patikrinkite, ar į sceną perkeliama norimo daikto forma bei žymėjimas ir ar kamera atskleidžia užduotyje prašytą detalę.\n\nKuriant iš orientyrų taip pat galima priskirti iki trijų iš anksto nustatytų balsų. Užklausoje atskirai įvardykite numatytą kalbėtoją ir jo balsą, naudodami dokumentuotus pozicinius balso orientyrus, ir pateikite tikslų dialogą, kurį jis turi pasakyti. Modelis palaiko su lūpų judesiais sinchronizuotą kalbą. Trumpam pokalbiui parašykite replikas, paliekančias laiko atsakymui, ir gautame klipe patikrinkite kalbėtojų priskyrimą bei burnos judesius. Balso orientyras parenka kalbantį balsą; kameros ir scenos nurodymuose vis tiek reikia aprašyti, kaip personažai rodomi.\n\nPirmojo ir paskutinio kadrų valdikliai įtvirtina plano pradžią bei pabaigą, o iki keturių pagrindinių kadrų leidžia fiksuoti vaizdus tarpiniu laiku. Gamintojo pagrindinių kadrų vadovas tuos laikus išdėsto tik klipo viduje, vienos trečiosios sekundės tinklelyje; du atramos taškai, patenkantys į tą patį laiko intervalą, atmetami. Paruoškite tai pačiai scenai priklausančius atramos vaizdus ir aprašykite judėjimą tarp jų. Produkto atskleidimo plane pradžioje galima rodyti uždarą ekspoziciją, o pabaigoje – atskleistą daiktą. Kuriant ciklą, tas pats vaizdas gali būti naudojamas kaip pirmasis ir paskutinis kadras. Perėjimą žiūrėkite ir klausykite visą, užuot vertinę tik fiksuotus vaizdus.\n\nĮprastas generavimas iš teksto ir vaizdo palaiko 1–15 sekundžių klipus bei 480p, 720p arba pradinę 1080p raišką. Kuriant iš orientyrų, riba yra 720p. Tekstu nustatomo kadravimo variantai apima 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 ir 5:2. Trukmę ir formą rinkitės pagal veiksmą ir paskirties vietą. Gamintojas pagal numatytuosius nustatymus generuoja garsą ir dokumentuoja tylaus vaizdo parinktį. Užduotyje galima nurodyti sakomą repliką, artimus efektus ir tolimus aplinkos garsus, kad garsas prisidėtų prie tos pačios scenos, užuot tapęs neapibrėžtu fonu.\n\nDokumentuota generavimo eiga yra asinchroninė: grąžinamas užklausos identifikatorius, o vėliau – užbaigtas rezultatas su klipo vieta ir trukme. Rezultato pavyzdyje nurodomas MP4 vaizdo įrašas, o jo talpinimo vieta yra laikina. Ruošdami montažą, išsaugokite užbaigtą klipą ir pradinę užduotį. Patikrinkite vientisumą, objektų išlikimą, judesį, kadravimą ir garsą pagal numatytą planą. Tarpinis apdorojimo įrašas padeda sekti darbą, o paleidžiamas vaizdo įrašas yra vertintinas rezultatas.\n\nVersijų skirtumai veikia planavimą. Lite skirta nesudėtingam generavimui iš teksto arba vieno vaizdo animacijai, o jos 1080p parinktis padidinama iš 720p. Pilna 1.5 versija prideda orientyrinius vaizdus, iš anksto nustatytus balsus ir fiksuotus kadrus. Klasikinė Grok Imagine Video versija leidžia redaguoti bei pratęsti esamus vaizdo įrašus. Leidimo atskiri Video 1.5 Fast greičio skaičiai taikomi būtent taip pavadintam variantui, todėl nenustato fiksuoto šio modelio užbaigimo laiko. Ilgesnei sekai režisuokite vientisus trumpus planus ir, dėliodami klipus kartu, peržiūrėkite personažų, produktų bei garso tęstinumą.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "335cedee87de14133c9a3873255be0981b854b267ef09cd34cba8a7bf590a457",
    "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\">SpaceXAI: Grok Imagine Video 1.5</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Uždaryti\">×</button></div><div class=\"idline\"><span>SpaceXAI /</span><code>x-ai/grok-imagine-video-1.5</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|x-ai%2Fgrok-imagine-video-1.5\">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\">Grok Imagine Video 1.5 iš teksto, pradinio vaizdo arba vaizdinių orientyrų kuria trumpus vaizdo įrašus su sinchronizuotu garsu. Jis siūlo pradinės 1080p raiškos generavimą iš teksto ar vaizdo, iki 14 orientyrinių vaizdų ir tris iš anksto nustatytus balsus, taip pat pirmojo, paskutinio ir tarpinių kadrų valdymą personažų bei produktų scenoms nukreipti.</p><dl class=\"card-io\" data-card-io><div><dt>Leidžiamos įvestys</dt><dd>Tekstas · Vaizdai</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>Grok Imagine Video 1.5 yra pilna Grok Imagine vaizdo modelių šeimos generavimo versija. Gamintojas pabrėžia judesį, fizinį vientisumą ir kartu su vaizdu generuojamus garso efektus, aplinkos garsus bei kalbą. Generavimas iš teksto ir vaizdo vyksta pradine 1080p raiška, o orientyrais valdomas generavimas leidžia tiksliau nurodyti, kas pasirodo scenoje. Naudingas rezultatas – trumpas vaizdo įrašas su garsu, pavyzdžiui, produkto pristatymas, personažų pokalbis arba tiksliai surežisuotas perėjimas tarp vaizdinių atramos taškų.</p><p>Kurdami iš teksto, aprašykite plano objektą, aplinką, veiksmą, kameros judėjimą, apšvietimą ir garsą. Gamintojas aiškina, kad 1.5 viduje sugeneruoja pradinį vaizdą, tada jį animuoja; tarpinė nuotrauka negrąžinama. Kuriant iš vaizdo, pateiktas vaizdas tampa pirmuoju kadru, o užklausa aprašo tolesnius įvykius. Paruoškite jį su norimu kadravimu ir jau matomomis detalėmis. Iš vaizdo sukurtas klipas išlaiko pradinio vaizdo kraštinių santykį, todėl vertikaliam rezultatui reikia tinkamo pradinio iškirpimo.</p><p>Kuriant iš orientyrų, vaizdų vaidmuo kitoks: jie nukreipia žmonių, daiktų, drabužių ar vietų vaizdavimą, tačiau automatiškai nefiksuoja pirmojo kadro. Dokumentuota riba – iki 14 orientyrinių vaizdų ir iki 15 sekundžių trukmės 720p rezultatas. Kiekvienam vaizdui priskirkite aiškų vaidmenį scenoje ir nurodykite jį pagal vietą orientyrų sąraše. Gamintojo užklausos sintaksėje pirmasis orientyras yra &lt;IMAGE_0&gt;, paskui eina &lt;IMAGE_1&gt; ir taip toliau. Jei dar fiksuojamas pradinis vaizdas, jam tenka pirmasis indeksas, o atskiri orientyrai prasideda kitu. Ši tvarka svarbi, kai užduotyje atskiriamas žmogus, produktas ir aplinka.</p><p>Originalioje orientyrinėje užduotyje galima pastatyti personažą prie viename vaizde pateiktos kėdės, kitame vaizde pateiktame kambaryje ir paprašyti lėtai artėti prie kėdės medžiagos detalės. Orientyruose personažas ir svarbiausias produktas turi būti lengvai atskiriami. Gamintojas pataria kiekvienam orientyrui suteikti vieną vaidmenį ir fiksuotą vietą, naudoti nedaug personažų ir, kai įvesčių daug, išlaikyti rekvizitą nejudantį. Patikrinkite, ar į sceną perkeliama norimo daikto forma bei žymėjimas ir ar kamera atskleidžia užduotyje prašytą detalę.</p><p>Kuriant iš orientyrų taip pat galima priskirti iki trijų iš anksto nustatytų balsų. Užklausoje atskirai įvardykite numatytą kalbėtoją ir jo balsą, naudodami dokumentuotus pozicinius balso orientyrus, ir pateikite tikslų dialogą, kurį jis turi pasakyti. Modelis palaiko su lūpų judesiais sinchronizuotą kalbą. Trumpam pokalbiui parašykite replikas, paliekančias laiko atsakymui, ir gautame klipe patikrinkite kalbėtojų priskyrimą bei burnos judesius. Balso orientyras parenka kalbantį balsą; kameros ir scenos nurodymuose vis tiek reikia aprašyti, kaip personažai rodomi.</p><p>Pirmojo ir paskutinio kadrų valdikliai įtvirtina plano pradžią bei pabaigą, o iki keturių pagrindinių kadrų leidžia fiksuoti vaizdus tarpiniu laiku. Gamintojo pagrindinių kadrų vadovas tuos laikus išdėsto tik klipo viduje, vienos trečiosios sekundės tinklelyje; du atramos taškai, patenkantys į tą patį laiko intervalą, atmetami. Paruoškite tai pačiai scenai priklausančius atramos vaizdus ir aprašykite judėjimą tarp jų. Produkto atskleidimo plane pradžioje galima rodyti uždarą ekspoziciją, o pabaigoje – atskleistą daiktą. Kuriant ciklą, tas pats vaizdas gali būti naudojamas kaip pirmasis ir paskutinis kadras. Perėjimą žiūrėkite ir klausykite visą, užuot vertinę tik fiksuotus vaizdus.</p><p>Įprastas generavimas iš teksto ir vaizdo palaiko 1–15 sekundžių klipus bei 480p, 720p arba pradinę 1080p raišką. Kuriant iš orientyrų, riba yra 720p. Tekstu nustatomo kadravimo variantai apima 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 ir 5:2. Trukmę ir formą rinkitės pagal veiksmą ir paskirties vietą. Gamintojas pagal numatytuosius nustatymus generuoja garsą ir dokumentuoja tylaus vaizdo parinktį. Užduotyje galima nurodyti sakomą repliką, artimus efektus ir tolimus aplinkos garsus, kad garsas prisidėtų prie tos pačios scenos, užuot tapęs neapibrėžtu fonu.</p><p>Dokumentuota generavimo eiga yra asinchroninė: grąžinamas užklausos identifikatorius, o vėliau – užbaigtas rezultatas su klipo vieta ir trukme. Rezultato pavyzdyje nurodomas MP4 vaizdo įrašas, o jo talpinimo vieta yra laikina. Ruošdami montažą, išsaugokite užbaigtą klipą ir pradinę užduotį. Patikrinkite vientisumą, objektų išlikimą, judesį, kadravimą ir garsą pagal numatytą planą. Tarpinis apdorojimo įrašas padeda sekti darbą, o paleidžiamas vaizdo įrašas yra vertintinas rezultatas.</p><p>Versijų skirtumai veikia planavimą. Lite skirta nesudėtingam generavimui iš teksto arba vieno vaizdo animacijai, o jos 1080p parinktis padidinama iš 720p. Pilna 1.5 versija prideda orientyrinius vaizdus, iš anksto nustatytus balsus ir fiksuotus kadrus. Klasikinė Grok Imagine Video versija leidžia redaguoti bei pratęsti esamus vaizdo įrašus. Leidimo atskiri Video 1.5 Fast greičio skaičiai taikomi būtent taip pavadintam variantui, todėl nenustato fiksuoto šio modelio užbaigimo laiko. Ilgesnei sekai režisuokite vientisus trumpus planus ir, dėliodami klipus kartu, peržiūrėkite personažų, produktų bei garso tęstinumą.</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></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>x-ai/grok-imagine-video-1.5</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>1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15</div><div>Mažiausia reikšmė: 1</div><div>Didžiausia reikšmė: 600</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>480p, 720p, 1080p</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>16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3</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</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: 1</div><div>Įvesties turinys: Kadrų objektų masyvas. Kiekviename objekte yra type=image_url, image_url su url ir frame_type. Naudokite HTTPS paveikslėlio URL ir nustatykite frame_type reikšmę first_frame. Kiekviena kadro paskirtis nurodoma daugiausia vieną kartą.</div><div>Tikslūs raktai: type, image_url, frame_type</div><div>Sąlygos: Šie raktai apibūdina kiekvieną kadro objektą; image_url turi tik url. 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></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 prompt kaip tekstą ir duration sveikomis sekundėmis. Pasirinkite palaikomą skiriamąją gebą ir, jei reikia, kraštinių santykį.</code></p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Tipas: string · x-ai/grok-imagine-video-1.5</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 pirmojo kadro paveikslėlis. · Privaloma: model, prompt, duration, frame_images</p><p class=\"note-s\"><code>frame_images yra masyvas. Kiekviename kadro objekte yra type, image_url ir frame_type; image_url turi url lauką. Nustatykite type reikšmę image_url. Naudokite first_frame. Kiekviena kadro paskirtis gali būti nurodyta daugiausia vieną kartą. Kiekvienam kadrui pateikite viešą HTTPS paveikslėlio URL. Pasirinkite palaikomą skiriamąją gebą ir, jei reikia, kraštinių santykį.</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 · x-ai/grok-imagine-video-1.5</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</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, 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>Įvesties paveikslėlis</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ž vaizdą</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>Įvestis · Įvesties vaizdas · Įvertis tik palyginimui</span> <b>$0.02</b> <span class=\"price-unit\">už vaizdą</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo 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ž vaizdo įrašo sekundę</td><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>resolution: 1080p</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo kaina · Įvertis tik palyginimui</span> <b>$0.5</b> <span class=\"price-unit\">už vaizdo įrašo sekundę</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo 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ž vaizdo įrašo sekundę</td><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>resolution: 480p</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo kaina · Įvertis tik palyginimui</span> <b>$0.16</b> <span class=\"price-unit\">už vaizdo įrašo sekundę</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo 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ž vaizdo įrašo sekundę</td><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>resolution: 720p</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo kaina · Įvertis tik palyginimui</span> <b>$0.28</b> <span class=\"price-unit\">už vaizdo įrašo sekundę</span></div></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.16</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>Įvesties paveikslėlis</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>Įvestis · Įvesties vaizdas</span> <b>$0.02</b> <span class=\"price-unit\">už vaizdą</span></div><p class=\"note-s\">Paskelbta orientacinė rodomos konfigūracijos kaina. Galutiniai mokesčiai nustatomi pagal faktiškai apmokestintą konfigūraciją.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo kaina</th><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>resolution: 480p</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo kaina</span> <b>$0.16</b> <span class=\"price-unit\">už vaizdo įrašo sekundę</span></div><p class=\"note-s\">Paskelbta orientacinė rodomos konfigūracijos kaina. Galutiniai mokesčiai nustatomi pagal faktiškai apmokestintą konfigūraciją.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo kaina</th><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>resolution: 720p</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo kaina</span> <b>$0.28</b> <span class=\"price-unit\">už vaizdo įrašo sekundę</span></div><p class=\"note-s\">Paskelbta orientacinė rodomos konfigūracijos kaina. Galutiniai mokesčiai nustatomi pagal faktiškai apmokestintą konfigūraciją.</p></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Vaizdo įrašo kaina</th><td data-cell-label=\"Apmokestinimo sąlygos\"><span class=\"card-cell-label\">Apmokestinimo sąlygos</span>resolution: 1080p</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Išvestis · Vaizdo įrašo kaina</span> <b>$0.5</b> <span class=\"price-unit\">už vaizdo įrašo sekundę</span></div><p class=\"note-s\">Paskelbta orientacinė rodomos konfigūracijos kaina. Galutiniai mokesčiai nustatomi pagal faktiškai apmokestintą konfigūraciją.</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-2723-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2723-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-2723-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2723-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;aspect_ratio&quot;:&quot;16:9&quot;,&quot;duration&quot;:8,&quot;model&quot;:&quot;x-ai/grok-imagine-video-1.5&quot;,&quot;prompt&quot;:&quot;A serene mountain landscape at sunset&quot;,&quot;resolution&quot;:&quot;720p&quot;}&#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-2724-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2724-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-2724-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2724-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-2725-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2725-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-2725-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2725-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=x-ai%2Fgrok-imagine-video-1.5&amp;route=Ultra&amp;caller=x-ai%2Fgrok-imagine-video-1.5&amp;fmt=videos\"><code>x-ai/grok-imagine-video-1.5</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=x-ai%2Fgrok-imagine-video-1.5&amp;route=Ultra&amp;caller=x-ai%2Fgrok-imagine-video-1.5&amp;fmt=videos\"><code>x-ai/grok-imagine-video-1.5</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "x-ai/grok-imagine-video-1.5",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "x-ai/grok-imagine-video-1.5",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|x-ai%2Fgrok-imagine-video-1.5",
      "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": [
                    "x-ai/grok-imagine-video-1.5"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Pateikite prompt kaip tekstą ir duration sveikomis sekundėmis. Pasirinkite palaikomą skiriamąją gebą ir, jei reikia, kraštinių santykį.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Tekstinė užklausa."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "x-ai/grok-imagine-video-1.5"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images yra masyvas. Kiekviename kadro objekte yra type, image_url ir frame_type; image_url turi url lauką. Nustatykite type reikšmę image_url. Naudokite first_frame. Kiekviena kadro paskirtis gali būti nurodyta daugiausia vieną kartą. Kiekvienam kadrui pateikite viešą HTTPS paveikslėlio URL. Pasirinkite palaikomą skiriamąją gebą ir, jei reikia, kraštinių santykį.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Tekstinė užklausa ir pirmojo kadro paveikslėlis."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images"
            ],
            "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": [
                  "x-ai/grok-imagine-video-1.5"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "x-ai/grok-imagine-video-1.5"
                },
                "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": [
                  1,
                  2,
                  3,
                  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": [
                    1,
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480p",
                  "720p",
                  "1080p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16",
                  "1:1",
                  "4:3",
                  "3:4",
                  "3:2",
                  "2:3"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1",
                    "4:3",
                    "3:4",
                    "3:2",
                    "2:3"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false
                  ],
                  "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 apibūdina kiekvieną kadro objektą; image_url turi tik url. Jei užklausoje yra tik tekstas, praleiskite frame_images.",
                "content": "Kadrų objektų masyvas. Kiekviename objekte yra type=image_url, image_url su url ir frame_type. Naudokite HTTPS paveikslėlio URL ir nustatykite frame_type reikšmę first_frame. Kiekviena kadro paskirtis nurodoma daugiausia vieną kartą.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 1,
                "max_items": 1,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_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": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxItems": 0,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "type": "array"
              },
              {
                "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": [
                    "16:9",
                    "9:16",
                    "1:1",
                    "4:3",
                    "3:4",
                    "3:2",
                    "2:3"
                  ]
                },
                "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": [
                    1,
                    2,
                    3,
                    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"
                        ]
                      },
                      "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": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "model": {
                  "const": "x-ai/grok-imagine-video-1.5"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p"
                  ]
                },
                "seed": false,
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": false,
                "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.",
                "Frame images plus image references are rejected because mixed additive input count is unproved; pure frame or pure reference mode remains separately priced."
              ]
            },
            "unsupported": [
              "size",
              "seed",
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "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"
          ],
          "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"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per image"
            },
            "label": "Input image",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_image",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_image_input",
                "label": "Input image",
                "native_amount_usd_per_unit": "0.02",
                "native_quantity": 1,
                "public_unit_label": "per image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Vaizdo įrašo kaina",
            "units": [
              {
                "amount": "0.5",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.5",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 480p",
              "quoted_unit": "per video second"
            },
            "label": "Vaizdo įrašo kaina",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_480p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.28",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "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.16",
                "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.16",
                "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('{\"aspect_ratio\":\"16:9\",\"duration\":8,\"model\":\"x-ai/grok-imagine-video-1.5\",\"prompt\":\"A serene mountain landscape at sunset\",\"resolution\":\"720p\"}', 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"
        ],
        "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"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per image"
            },
            "label": "Input image",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_image",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_image_input",
                "label": "Input image",
                "native_amount_usd_per_unit": "0.02",
                "native_quantity": 1,
                "public_unit_label": "per image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.5",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.5",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 480p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_480p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.28",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "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.16",
                "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.16",
                "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": "x-ai/grok-imagine-video-1.5",
        "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.02",
            "amount_unit": "usd_per_image",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_image_input",
            "label": "Input image",
            "native_amount_usd_per_unit": "0.02",
            "native_quantity": 1,
            "public_unit_label": "per image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image"
          },
          {
            "amount": "0.5",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_video_output_second_1080p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.5",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.16",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_video_output_second_480p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.28",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_video_output_second_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.28",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.16",
            "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.16",
            "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": "x-ai/grok-imagine-video-1.5",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "b1456158bacbc08f17fbc0351a7cc2704c741aed43030f2dfbdc9647e8f9c7d8",
    "input_html_sha256": "18332be35bbd175d8e6b2be3e1b833947733485eb4dd547914765621cbbcd3be",
    "private_audit_sha256": "540fb83cab6abdd93c976b2d310abe11ade8eee838ed1b3701c82961a9212308",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/lt/x-ai-grok-imagine-video-1-5/",
    "description": "Grok Imagine Video 1.5 iš teksto, pradinio vaizdo arba vaizdinių orientyrų kuria trumpus vaizdo įrašus su sinchronizuotu garsu. Jis siūlo pradinės 1080p raiškos generavimą iš teksto ar vaizdo, iki 14 orientyrinių vaizdų ir tris iš anksto nustatytus balsus, taip pat pirmojo, paskutinio ir tarpinių kadrų valdymą personažų bei produktų scenoms nukreipti.",
    "locale": "lt",
    "md_url": "https://ailoot.ai/models/lt/x-ai-grok-imagine-video-1-5/index.md",
    "title": "SpaceXAI: Grok Imagine Video 1.5 — Ailoot",
    "url": "https://ailoot.ai/models/lt/x-ai-grok-imagine-video-1-5/"
  },
  "rawModel": {
    "about": "Grok Imagine Video 1.5 yra pilna Grok Imagine vaizdo modelių šeimos generavimo versija. Gamintojas pabrėžia judesį, fizinį vientisumą ir kartu su vaizdu generuojamus garso efektus, aplinkos garsus bei kalbą. Generavimas iš teksto ir vaizdo vyksta pradine 1080p raiška, o orientyrais valdomas generavimas leidžia tiksliau nurodyti, kas pasirodo scenoje. Naudingas rezultatas – trumpas vaizdo įrašas su garsu, pavyzdžiui, produkto pristatymas, personažų pokalbis arba tiksliai surežisuotas perėjimas tarp vaizdinių atramos taškų.\n\nKurdami iš teksto, aprašykite plano objektą, aplinką, veiksmą, kameros judėjimą, apšvietimą ir garsą. Gamintojas aiškina, kad 1.5 viduje sugeneruoja pradinį vaizdą, tada jį animuoja; tarpinė nuotrauka negrąžinama. Kuriant iš vaizdo, pateiktas vaizdas tampa pirmuoju kadru, o užklausa aprašo tolesnius įvykius. Paruoškite jį su norimu kadravimu ir jau matomomis detalėmis. Iš vaizdo sukurtas klipas išlaiko pradinio vaizdo kraštinių santykį, todėl vertikaliam rezultatui reikia tinkamo pradinio iškirpimo.\n\nKuriant iš orientyrų, vaizdų vaidmuo kitoks: jie nukreipia žmonių, daiktų, drabužių ar vietų vaizdavimą, tačiau automatiškai nefiksuoja pirmojo kadro. Dokumentuota riba – iki 14 orientyrinių vaizdų ir iki 15 sekundžių trukmės 720p rezultatas. Kiekvienam vaizdui priskirkite aiškų vaidmenį scenoje ir nurodykite jį pagal vietą orientyrų sąraše. Gamintojo užklausos sintaksėje pirmasis orientyras yra <IMAGE_0>, paskui eina <IMAGE_1> ir taip toliau. Jei dar fiksuojamas pradinis vaizdas, jam tenka pirmasis indeksas, o atskiri orientyrai prasideda kitu. Ši tvarka svarbi, kai užduotyje atskiriamas žmogus, produktas ir aplinka.\n\nOriginalioje orientyrinėje užduotyje galima pastatyti personažą prie viename vaizde pateiktos kėdės, kitame vaizde pateiktame kambaryje ir paprašyti lėtai artėti prie kėdės medžiagos detalės. Orientyruose personažas ir svarbiausias produktas turi būti lengvai atskiriami. Gamintojas pataria kiekvienam orientyrui suteikti vieną vaidmenį ir fiksuotą vietą, naudoti nedaug personažų ir, kai įvesčių daug, išlaikyti rekvizitą nejudantį. Patikrinkite, ar į sceną perkeliama norimo daikto forma bei žymėjimas ir ar kamera atskleidžia užduotyje prašytą detalę.\n\nKuriant iš orientyrų taip pat galima priskirti iki trijų iš anksto nustatytų balsų. Užklausoje atskirai įvardykite numatytą kalbėtoją ir jo balsą, naudodami dokumentuotus pozicinius balso orientyrus, ir pateikite tikslų dialogą, kurį jis turi pasakyti. Modelis palaiko su lūpų judesiais sinchronizuotą kalbą. Trumpam pokalbiui parašykite replikas, paliekančias laiko atsakymui, ir gautame klipe patikrinkite kalbėtojų priskyrimą bei burnos judesius. Balso orientyras parenka kalbantį balsą; kameros ir scenos nurodymuose vis tiek reikia aprašyti, kaip personažai rodomi.\n\nPirmojo ir paskutinio kadrų valdikliai įtvirtina plano pradžią bei pabaigą, o iki keturių pagrindinių kadrų leidžia fiksuoti vaizdus tarpiniu laiku. Gamintojo pagrindinių kadrų vadovas tuos laikus išdėsto tik klipo viduje, vienos trečiosios sekundės tinklelyje; du atramos taškai, patenkantys į tą patį laiko intervalą, atmetami. Paruoškite tai pačiai scenai priklausančius atramos vaizdus ir aprašykite judėjimą tarp jų. Produkto atskleidimo plane pradžioje galima rodyti uždarą ekspoziciją, o pabaigoje – atskleistą daiktą. Kuriant ciklą, tas pats vaizdas gali būti naudojamas kaip pirmasis ir paskutinis kadras. Perėjimą žiūrėkite ir klausykite visą, užuot vertinę tik fiksuotus vaizdus.\n\nĮprastas generavimas iš teksto ir vaizdo palaiko 1–15 sekundžių klipus bei 480p, 720p arba pradinę 1080p raišką. Kuriant iš orientyrų, riba yra 720p. Tekstu nustatomo kadravimo variantai apima 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 ir 5:2. Trukmę ir formą rinkitės pagal veiksmą ir paskirties vietą. Gamintojas pagal numatytuosius nustatymus generuoja garsą ir dokumentuoja tylaus vaizdo parinktį. Užduotyje galima nurodyti sakomą repliką, artimus efektus ir tolimus aplinkos garsus, kad garsas prisidėtų prie tos pačios scenos, užuot tapęs neapibrėžtu fonu.\n\nDokumentuota generavimo eiga yra asinchroninė: grąžinamas užklausos identifikatorius, o vėliau – užbaigtas rezultatas su klipo vieta ir trukme. Rezultato pavyzdyje nurodomas MP4 vaizdo įrašas, o jo talpinimo vieta yra laikina. Ruošdami montažą, išsaugokite užbaigtą klipą ir pradinę užduotį. Patikrinkite vientisumą, objektų išlikimą, judesį, kadravimą ir garsą pagal numatytą planą. Tarpinis apdorojimo įrašas padeda sekti darbą, o paleidžiamas vaizdo įrašas yra vertintinas rezultatas.\n\nVersijų skirtumai veikia planavimą. Lite skirta nesudėtingam generavimui iš teksto arba vieno vaizdo animacijai, o jos 1080p parinktis padidinama iš 720p. Pilna 1.5 versija prideda orientyrinius vaizdus, iš anksto nustatytus balsus ir fiksuotus kadrus. Klasikinė Grok Imagine Video versija leidžia redaguoti bei pratęsti esamus vaizdo įrašus. Leidimo atskiri Video 1.5 Fast greičio skaičiai taikomi būtent taip pavadintam variantui, todėl nenustato fiksuoto šio modelio užbaigimo laiko. Ilgesnei sekai režisuokite vientisus trumpus planus ir, dėliodami klipus kartu, peržiūrėkite personažų, produktų bei garso tęstinumą.",
    "alias_of": null,
    "aliases": [],
    "author": "SpaceXAI",
    "available": null,
    "canonical_model": "x-ai/grok-imagine-video-1.5",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.16",
            "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.16",
            "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": "f73fc9aa0b2d5602f5f6a5a9",
        "label": "Vaizdo įrašo konfigūracijų kainų nuorodos",
        "profiles": [
          {
            "basis": "Paskelbta orientacinė rodomos konfigūracijos kaina. Galutiniai mokesčiai nustatomi pagal faktiškai apmokestintą konfigūraciją.",
            "dimensions": {
              "conditions": "Šiame kainodaros rakte papildoma sąlyga nenurodyta."
            },
            "label": "Įvesties paveikslėlis",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_image",
                "billing_input": false,
                "key": "input_image",
                "label": "Input image",
                "public_unit_label": "per image",
                "quantity": 1,
                "rate_role": "typed_video_image_reference",
                "side": "in",
                "unit": "image"
              }
            ]
          },
          {
            "basis": "Paskelbta orientacinė rodomos konfigūracijos kaina. Galutiniai mokesčiai nustatomi pagal faktiškai apmokestintą konfigūraciją.",
            "dimensions": {
              "conditions": "resolution: 480p"
            },
            "label": "Vaizdo įrašo kaina",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Paskelbta orientacinė rodomos konfigūracijos kaina. Galutiniai mokesčiai nustatomi pagal faktiškai apmokestintą konfigūraciją.",
            "dimensions": {
              "conditions": "resolution: 720p"
            },
            "label": "Vaizdo įrašo kaina",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Paskelbta orientacinė rodomos konfigūracijos kaina. Galutiniai mokesčiai nustatomi pagal faktiškai apmokestintą konfigūraciją.",
            "dimensions": {
              "conditions": "resolution: 1080p"
            },
            "label": "Vaizdo įrašo kaina",
            "units": [
              {
                "amount": "0.5",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "videos"
    ],
    "id": "x-ai/grok-imagine-video-1.5",
    "input": [
      "text",
      "image"
    ],
    "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": [
                    "x-ai/grok-imagine-video-1.5"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Pateikite prompt kaip tekstą ir duration sveikomis sekundėmis. Pasirinkite palaikomą skiriamąją gebą ir, jei reikia, kraštinių santykį.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Tekstinė užklausa."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "x-ai/grok-imagine-video-1.5"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images yra masyvas. Kiekviename kadro objekte yra type, image_url ir frame_type; image_url turi url lauką. Nustatykite type reikšmę image_url. Naudokite first_frame. Kiekviena kadro paskirtis gali būti nurodyta daugiausia vieną kartą. Kiekvienam kadrui pateikite viešą HTTPS paveikslėlio URL. Pasirinkite palaikomą skiriamąją gebą ir, jei reikia, kraštinių santykį.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Tekstinė užklausa ir pirmojo kadro paveikslėlis."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images"
            ],
            "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": [
                  "x-ai/grok-imagine-video-1.5"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "x-ai/grok-imagine-video-1.5"
                },
                "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": [
                  1,
                  2,
                  3,
                  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": [
                    1,
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480p",
                  "720p",
                  "1080p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16",
                  "1:1",
                  "4:3",
                  "3:4",
                  "3:2",
                  "2:3"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1",
                    "4:3",
                    "3:4",
                    "3:2",
                    "2:3"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false
                  ],
                  "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 apibūdina kiekvieną kadro objektą; image_url turi tik url. Jei užklausoje yra tik tekstas, praleiskite frame_images.",
                "content": "Kadrų objektų masyvas. Kiekviename objekte yra type=image_url, image_url su url ir frame_type. Naudokite HTTPS paveikslėlio URL ir nustatykite frame_type reikšmę first_frame. Kiekviena kadro paskirtis nurodoma daugiausia vieną kartą.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 1,
                "max_items": 1,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_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": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxItems": 0,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "type": "array"
              },
              {
                "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": [
                    "16:9",
                    "9:16",
                    "1:1",
                    "4:3",
                    "3:4",
                    "3:2",
                    "2:3"
                  ]
                },
                "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": [
                    1,
                    2,
                    3,
                    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"
                        ]
                      },
                      "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": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "model": {
                  "const": "x-ai/grok-imagine-video-1.5"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p"
                  ]
                },
                "seed": false,
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": false,
                "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.",
                "Frame images plus image references are rejected because mixed additive input count is unproved; pure frame or pure reference mode remains separately priced."
              ]
            },
            "unsupported": [
              "size",
              "seed",
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "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"
          ],
          "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"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per image"
            },
            "label": "Input image",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_image",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_image_input",
                "label": "Input image",
                "native_amount_usd_per_unit": "0.02",
                "native_quantity": 1,
                "public_unit_label": "per image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Vaizdo įrašo kaina",
            "units": [
              {
                "amount": "0.5",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.5",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 480p",
              "quoted_unit": "per video second"
            },
            "label": "Vaizdo įrašo kaina",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_480p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.28",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "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.16",
                "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.16",
                "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('{\"aspect_ratio\":\"16:9\",\"duration\":8,\"model\":\"x-ai/grok-imagine-video-1.5\",\"prompt\":\"A serene mountain landscape at sunset\",\"resolution\":\"720p\"}', 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"
        ],
        "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"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per image"
            },
            "label": "Input image",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_image",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_image_input",
                "label": "Input image",
                "native_amount_usd_per_unit": "0.02",
                "native_quantity": 1,
                "public_unit_label": "per image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.5",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.5",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 480p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_480p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.28",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "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.16",
                "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.16",
                "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": "x-ai/grok-imagine-video-1.5",
        "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.02",
            "amount_unit": "usd_per_image",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_image_input",
            "label": "Input image",
            "native_amount_usd_per_unit": "0.02",
            "native_quantity": 1,
            "public_unit_label": "per image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image"
          },
          {
            "amount": "0.5",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_video_output_second_1080p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.5",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.16",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_video_output_second_480p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.28",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_video_output_second_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.28",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.16",
            "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.16",
            "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": "x-ai/grok-imagine-video-1.5",
        "request_model_id": "x-ai/grok-imagine-video-1.5",
        "route_label": "Ultra"
      }
    ],
    "name": "SpaceXAI: Grok Imagine Video 1.5",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.16,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.16,
      "varies": false
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "input_assets_additive": true,
          "resolution": "480p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.16",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "input_assets_additive": true,
              "resolution": "480p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "input_assets_additive": true,
          "resolution": "720p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.28",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "input_assets_additive": true,
              "resolution": "720p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "input_assets_additive": true,
          "resolution": "1080p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.50",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "input_assets_additive": true,
              "resolution": "1080p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 2,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "adds_to_output": true,
          "start_frame_or_reference_image_charged": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.02",
            "amount_unit": "usd_per_input_image",
            "conditions": {
              "adds_to_output": true,
              "start_frame_or_reference_image_charged": true
            },
            "key": "input_image",
            "label": "input image",
            "profile_index": 3,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_image"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "dimensions": {},
        "label": "Ailoot Ultra · Tariff components",
        "units": [
          {
            "amount": "0.02",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "image input",
            "billing_original_currency": "USD_cent",
            "billing_original_rate": "2",
            "key": "cents_per_image_input",
            "label": "image input",
            "native_amount_usd_per_unit": "0.02",
            "native_quantity": 1,
            "quantity": 1,
            "side": "in",
            "unit": "image_input"
          },
          {
            "amount": "0.16",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=480p",
            "billing_original_currency": "USD_cent",
            "billing_original_rate": "16",
            "key": "cents_per_video_output_second_480p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.28",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=720p",
            "billing_original_currency": "USD_cent",
            "billing_original_rate": "28",
            "key": "cents_per_video_output_second_720p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.28",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.50",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=1080p",
            "billing_original_currency": "USD_cent",
            "billing_original_rate": "50",
            "key": "cents_per_video_output_second_1080p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.50",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          }
        ]
      }
    ],
    "public_id": "x-ai/grok-imagine-video-1.5",
    "short": "Grok Imagine Video 1.5 iš teksto, pradinio vaizdo arba vaizdinių orientyrų kuria trumpus vaizdo įrašus su sinchronizuotu garsu. Jis siūlo pradinės 1080p raiškos generavimą iš teksto ar vaizdo, iki 14 orientyrinių vaizdų ir tris iš anksto nustatytus balsus, taip pat pirmojo, paskutinio ir tarpinių kadrų valdymą personažų bei produktų scenoms nukreipti."
  },
  "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": "Grok Imagine Video 1.5 iš teksto, pradinio vaizdo arba vaizdinių orientyrų kuria trumpus vaizdo įrašus su sinchronizuotu garsu. Jis siūlo pradinės 1080p raiškos generavimą iš teksto ar vaizdo, iki 14 orientyrinių vaizdų ir tris iš anksto nustatytus balsus, taip pat pirmojo, paskutinio ir tarpinių kadrų valdymą personažų bei produktų scenoms nukreipti.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "8117626c72eeab8b37e41ea4b36b2d74e36307667794e8bed7bddeda551f31c0",
    "renderer_sha256": "57bd2f8a61f57d341aae369006eca818e3eea645ec43af488ec7b2289eeca772"
  },
  "sourceRevision": "23f5e20ceea314b64dffdb7d9aaf6ddbe89f79d329aa2195fa47eaadddccb62e"
}
