{
  "aboutHtml": "<p>Veo 3.1 je model Google na generovanie videa pre tvorbu krátkej audiovizuálnej scény z textu alebo zadania vedeného obrázkom. Jeho produkčný profil podporuje text-to-video, image-to-video a vedenú tvorbu z prvej/poslednej snímky s generovaným zvukom, referenčnými podkladmi a samostatným postupom pokračovania. Použite ho na rozvíjanie filmového konceptu, krátkeho produktového príbehu alebo vizuálneho segmentu s definovanou scénou, akciou a posluchovým zážitkom.</p><p>Najprv opíšte subjekt a viditeľnú udalosť. Určte okolie, denný čas a svetlo a potom definujte uhol či pohyb kamery a zamýšľaný vizuálny štýl. Pôvodné zadanie scény môže zobrazovať sklenenú nádobu na tmavom štúdiovom povrchu s pomalým bočným pohybom odhaľujúcim odraz, zatiaľ čo odhalenie sprevádza jemný zvuk prostredia. Každý pokyn dáva viditeľnú alebo počuteľnú vlastnosť, ktorú možno posúdiť v dokončenom výsledku.</p><p>Rámec zadávania Google chápe subjekt, akciu, scénu, kameru a estetiku ako samostatné časti zadania. Použite časti slúžiace záberu namiesto pridávania všetkých možných opisných prvkov. Pre dokumentovaný profil zadania píšte pokyny v angličtine. Ak scéna obsahuje viacero akcií, určte ich vzťah a udržte ich primerané krátkemu klipu, aby odhalenie alebo reakcia zostali čitateľné.</p><p>Úvodný obrázok určuje počiatočný vzhľad a kompozíciu. Použite ho, keď postava, produkt či prostredie už existuje ako vizuálny podklad, a opíšte pohyb, ktorý sa má z neho rozvinúť. Posledná snímka pridáva cieľovú kompozíciu pre koniec. Pripravte hraničné snímky komunikujúce vierohodný prechod a zachovávajúce detaily identifikujúce hlavný subjekt a po generovaní skontrolujte pohyb medzi nimi.</p><p>Referenčné podklady slúžia inému účelu: usmerňujú vzhľad postavy či predmetu v novo generovanej scéne, zatiaľ čo hraničné snímky definujú konkrétne okamihy tejto scény. Vyberajte referencie ukazujúce dôležité vizuálne črty a úlohu každého podkladu jasne určte v zadaní. Špecifikácia reference-image-to-video produkčného modelu používa pre tento referenčný postup osemsekundový výstup, oddelený od bežného výberu dĺžky pri textovom zadaní.</p><p>Bežný produkčný profil výrobcu generuje klipy s dĺžkou štyri, šesť alebo osem sekúnd pri 24 snímkach za sekundu. Uvádza rámovanie 16:9 na šírku a 9:16 na výšku, až štyri videovýstupy na zadanie a výstupné rozlíšenia 720p, 1080p a 4K. Formát výstupného videa je MP4. Jeho špecifikácia vedená obrázkom prijíma JPEG alebo PNG, uvádza maximum vstupného obrázka 20 MB a podporuje vstupné konfigurácie 720p/1080p. Výstupný profil vyberte pre zamýšľané umiestnenie a kompozíciu snímok udržte pri tejto veľkosti čitateľnú.</p><p>Natívny zvuk môže sprevádzať viditeľnú scénu. Hovorené repliky, atmosféru a zvukové efekty určte ako časti rovnakého zadania a pomenujte subjekt alebo udalosť, ktorá každý z nich vytvára. Pokyn na dialóg a pokyn na kameru odpovedajú na rôzne otázky: jeden určuje výkon, druhý spôsob, akým ho divák vidí. Slová udržte v rámci využiteľného času reči v klipe a zvuk kontrolujte z hľadiska zrozumiteľnosti aj vzťahu k akcii.</p><p>Pre pokračovanie výrobca poskytuje samostatný postup predĺženia videa. Začnite vhodným generovaným zdrojovým klipom a opíšte ďalšiu viditeľnú udalosť alebo zmenu scény. Uchovajte pôvodný aj pokračujúci segment, aby sa ich spoj dal skontrolovať z hľadiska vzhľadu, pohybu a zvuku. Bežné voľby dĺžky a rozlíšenia nového generovania nemožno chápať ako univerzálny kontrakt pre každú operáciu predĺženia.</p><p>Negatívny opis môže sústrediť vylúčenia na vizuálne požiadavky úlohy. Pri sérii produktových variácií zachovajte stabilný subjekt a kompozíciu a meňte jediný tvorivý smer, napríklad osvetlenie alebo vzdialenosť kamery. Zadanie, referencie a vybrané nastavenia zaznamenajte spolu s výsledkom. Vďaka tomu možno porovnávať užitočný tvorivý rozdiel namiesto zbierky nesúvisiacich generovaní.</p><p>Bežný produkčný profil Veo 3.1 a Veo 3.1 Fast majú odlišné profily výstupného rozlíšenia. Fast uvádza 720p a 1080p; bežný 3.1 aj 4K. Zvolenú edíciu uchovajte pri výsledku bez tichého nahradenia identifikátora produkčného modelu starším profilom Preview alebo inou generáciou Veo. Vzhľad subjektu aj podporovaná operácia závisia od vybraného postupu.</p><p>Generovanie je operácia, ktorej dokončený výsledok poskytuje videovýstupy na prehrávanie a neskorší strih. Vrátené súbory uchovajte so zdrojovými snímkami, referenčnými podkladmi a zadaním a zachovajte dodané informácie o pôvode obsahu. Každý skutočný výstup skontrolujte z hľadiska vzhľadu subjektu, akcie, rámovania, zvuku a konečnej kompozície. Vybraný klip použite ako produkčný stavebný prvok s titulkami, prechodmi či ďalšími dokončovacími úpravami pridanými v okolnom strihu.</p>",
  "aboutText": "Veo 3.1 je model Google na generovanie videa pre tvorbu krátkej audiovizuálnej scény z textu alebo zadania vedeného obrázkom. Jeho produkčný profil podporuje text-to-video, image-to-video a vedenú tvorbu z prvej/poslednej snímky s generovaným zvukom, referenčnými podkladmi a samostatným postupom pokračovania. Použite ho na rozvíjanie filmového konceptu, krátkeho produktového príbehu alebo vizuálneho segmentu s definovanou scénou, akciou a posluchovým zážitkom.\n\nNajprv opíšte subjekt a viditeľnú udalosť. Určte okolie, denný čas a svetlo a potom definujte uhol či pohyb kamery a zamýšľaný vizuálny štýl. Pôvodné zadanie scény môže zobrazovať sklenenú nádobu na tmavom štúdiovom povrchu s pomalým bočným pohybom odhaľujúcim odraz, zatiaľ čo odhalenie sprevádza jemný zvuk prostredia. Každý pokyn dáva viditeľnú alebo počuteľnú vlastnosť, ktorú možno posúdiť v dokončenom výsledku.\n\nRámec zadávania Google chápe subjekt, akciu, scénu, kameru a estetiku ako samostatné časti zadania. Použite časti slúžiace záberu namiesto pridávania všetkých možných opisných prvkov. Pre dokumentovaný profil zadania píšte pokyny v angličtine. Ak scéna obsahuje viacero akcií, určte ich vzťah a udržte ich primerané krátkemu klipu, aby odhalenie alebo reakcia zostali čitateľné.\n\nÚvodný obrázok určuje počiatočný vzhľad a kompozíciu. Použite ho, keď postava, produkt či prostredie už existuje ako vizuálny podklad, a opíšte pohyb, ktorý sa má z neho rozvinúť. Posledná snímka pridáva cieľovú kompozíciu pre koniec. Pripravte hraničné snímky komunikujúce vierohodný prechod a zachovávajúce detaily identifikujúce hlavný subjekt a po generovaní skontrolujte pohyb medzi nimi.\n\nReferenčné podklady slúžia inému účelu: usmerňujú vzhľad postavy či predmetu v novo generovanej scéne, zatiaľ čo hraničné snímky definujú konkrétne okamihy tejto scény. Vyberajte referencie ukazujúce dôležité vizuálne črty a úlohu každého podkladu jasne určte v zadaní. Špecifikácia reference-image-to-video produkčného modelu používa pre tento referenčný postup osemsekundový výstup, oddelený od bežného výberu dĺžky pri textovom zadaní.\n\nBežný produkčný profil výrobcu generuje klipy s dĺžkou štyri, šesť alebo osem sekúnd pri 24 snímkach za sekundu. Uvádza rámovanie 16:9 na šírku a 9:16 na výšku, až štyri videovýstupy na zadanie a výstupné rozlíšenia 720p, 1080p a 4K. Formát výstupného videa je MP4. Jeho špecifikácia vedená obrázkom prijíma JPEG alebo PNG, uvádza maximum vstupného obrázka 20 MB a podporuje vstupné konfigurácie 720p/1080p. Výstupný profil vyberte pre zamýšľané umiestnenie a kompozíciu snímok udržte pri tejto veľkosti čitateľnú.\n\nNatívny zvuk môže sprevádzať viditeľnú scénu. Hovorené repliky, atmosféru a zvukové efekty určte ako časti rovnakého zadania a pomenujte subjekt alebo udalosť, ktorá každý z nich vytvára. Pokyn na dialóg a pokyn na kameru odpovedajú na rôzne otázky: jeden určuje výkon, druhý spôsob, akým ho divák vidí. Slová udržte v rámci využiteľného času reči v klipe a zvuk kontrolujte z hľadiska zrozumiteľnosti aj vzťahu k akcii.\n\nPre pokračovanie výrobca poskytuje samostatný postup predĺženia videa. Začnite vhodným generovaným zdrojovým klipom a opíšte ďalšiu viditeľnú udalosť alebo zmenu scény. Uchovajte pôvodný aj pokračujúci segment, aby sa ich spoj dal skontrolovať z hľadiska vzhľadu, pohybu a zvuku. Bežné voľby dĺžky a rozlíšenia nového generovania nemožno chápať ako univerzálny kontrakt pre každú operáciu predĺženia.\n\nNegatívny opis môže sústrediť vylúčenia na vizuálne požiadavky úlohy. Pri sérii produktových variácií zachovajte stabilný subjekt a kompozíciu a meňte jediný tvorivý smer, napríklad osvetlenie alebo vzdialenosť kamery. Zadanie, referencie a vybrané nastavenia zaznamenajte spolu s výsledkom. Vďaka tomu možno porovnávať užitočný tvorivý rozdiel namiesto zbierky nesúvisiacich generovaní.\n\nBežný produkčný profil Veo 3.1 a Veo 3.1 Fast majú odlišné profily výstupného rozlíšenia. Fast uvádza 720p a 1080p; bežný 3.1 aj 4K. Zvolenú edíciu uchovajte pri výsledku bez tichého nahradenia identifikátora produkčného modelu starším profilom Preview alebo inou generáciou Veo. Vzhľad subjektu aj podporovaná operácia závisia od vybraného postupu.\n\nGenerovanie je operácia, ktorej dokončený výsledok poskytuje videovýstupy na prehrávanie a neskorší strih. Vrátené súbory uchovajte so zdrojovými snímkami, referenčnými podkladmi a zadaním a zachovajte dodané informácie o pôvode obsahu. Každý skutočný výstup skontrolujte z hľadiska vzhľadu subjektu, akcie, rámovania, zvuku a konečnej kompozície. Vybraný klip použite ako produkčný stavebný prvok s titulkami, prechodmi či ďalšími dokončovacími úpravami pridanými v okolnom strihu.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "b9cb554f9f0c8181d5e803064549e7f6876932a255ba2d64bbbd74adba271f8f",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "sk",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">G</span><h2 id=\"sheet-title\">Google: Veo 3.1</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zavrieť\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/veo-3.1</code><button type=\"button\" id=\"copy-id\">Skopírovať ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sekcie karty modelu\"><button type=\"button\" data-card-jump=\"overview\">Úvod</button><button type=\"button\" data-card-jump=\"methods\">Vstupy a metódy</button><button type=\"button\" data-card-jump=\"pricing\">Cenník</button><button type=\"button\" data-card-jump=\"examples\">Príklady</button><button type=\"button\" data-card-jump=\"results\">Výsledky</button><button type=\"button\" data-card-jump=\"aliases\">Aliasy</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metódy API\"><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|google%2Fveo-3.1\">Video</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\">Úvod</h3><p class=\"mdesc-full\">Veo 3.1 je videomodel Google pre scény vedené textom a obrázkami s generovaným zvukom, vedenými hraničnými snímkami a referenčnými podkladmi. Jeho produkčný profil poskytuje štvor-, šesť- alebo osemsekundové klipy pri 24 snímkach za sekundu s možnosťami výstupu vrátane 720p, 1080p a 4K.</p><dl class=\"card-io\" data-card-io><div><dt>Povolené vstupy</dt><dd>Text</dd></div><div><dt>Výsledky</dt><dd>Video</dd></div></dl><details class=\"card-about\"><summary>O modeli</summary><p class=\"note-s\" data-model-method-boundary>Tento opis pokrýva možnosti modelu. Dostupné vstupy, výstupy a voľby v Ailoot sú uvedené nižšie pre vybranú metódu.</p><div class=\"mabout\" id=\"m-about\"><p>Veo 3.1 je model Google na generovanie videa pre tvorbu krátkej audiovizuálnej scény z textu alebo zadania vedeného obrázkom. Jeho produkčný profil podporuje text-to-video, image-to-video a vedenú tvorbu z prvej/poslednej snímky s generovaným zvukom, referenčnými podkladmi a samostatným postupom pokračovania. Použite ho na rozvíjanie filmového konceptu, krátkeho produktového príbehu alebo vizuálneho segmentu s definovanou scénou, akciou a posluchovým zážitkom.</p><p>Najprv opíšte subjekt a viditeľnú udalosť. Určte okolie, denný čas a svetlo a potom definujte uhol či pohyb kamery a zamýšľaný vizuálny štýl. Pôvodné zadanie scény môže zobrazovať sklenenú nádobu na tmavom štúdiovom povrchu s pomalým bočným pohybom odhaľujúcim odraz, zatiaľ čo odhalenie sprevádza jemný zvuk prostredia. Každý pokyn dáva viditeľnú alebo počuteľnú vlastnosť, ktorú možno posúdiť v dokončenom výsledku.</p><p>Rámec zadávania Google chápe subjekt, akciu, scénu, kameru a estetiku ako samostatné časti zadania. Použite časti slúžiace záberu namiesto pridávania všetkých možných opisných prvkov. Pre dokumentovaný profil zadania píšte pokyny v angličtine. Ak scéna obsahuje viacero akcií, určte ich vzťah a udržte ich primerané krátkemu klipu, aby odhalenie alebo reakcia zostali čitateľné.</p><p>Úvodný obrázok určuje počiatočný vzhľad a kompozíciu. Použite ho, keď postava, produkt či prostredie už existuje ako vizuálny podklad, a opíšte pohyb, ktorý sa má z neho rozvinúť. Posledná snímka pridáva cieľovú kompozíciu pre koniec. Pripravte hraničné snímky komunikujúce vierohodný prechod a zachovávajúce detaily identifikujúce hlavný subjekt a po generovaní skontrolujte pohyb medzi nimi.</p><p>Referenčné podklady slúžia inému účelu: usmerňujú vzhľad postavy či predmetu v novo generovanej scéne, zatiaľ čo hraničné snímky definujú konkrétne okamihy tejto scény. Vyberajte referencie ukazujúce dôležité vizuálne črty a úlohu každého podkladu jasne určte v zadaní. Špecifikácia reference-image-to-video produkčného modelu používa pre tento referenčný postup osemsekundový výstup, oddelený od bežného výberu dĺžky pri textovom zadaní.</p><p>Bežný produkčný profil výrobcu generuje klipy s dĺžkou štyri, šesť alebo osem sekúnd pri 24 snímkach za sekundu. Uvádza rámovanie 16:9 na šírku a 9:16 na výšku, až štyri videovýstupy na zadanie a výstupné rozlíšenia 720p, 1080p a 4K. Formát výstupného videa je MP4. Jeho špecifikácia vedená obrázkom prijíma JPEG alebo PNG, uvádza maximum vstupného obrázka 20 MB a podporuje vstupné konfigurácie 720p/1080p. Výstupný profil vyberte pre zamýšľané umiestnenie a kompozíciu snímok udržte pri tejto veľkosti čitateľnú.</p><p>Natívny zvuk môže sprevádzať viditeľnú scénu. Hovorené repliky, atmosféru a zvukové efekty určte ako časti rovnakého zadania a pomenujte subjekt alebo udalosť, ktorá každý z nich vytvára. Pokyn na dialóg a pokyn na kameru odpovedajú na rôzne otázky: jeden určuje výkon, druhý spôsob, akým ho divák vidí. Slová udržte v rámci využiteľného času reči v klipe a zvuk kontrolujte z hľadiska zrozumiteľnosti aj vzťahu k akcii.</p><p>Pre pokračovanie výrobca poskytuje samostatný postup predĺženia videa. Začnite vhodným generovaným zdrojovým klipom a opíšte ďalšiu viditeľnú udalosť alebo zmenu scény. Uchovajte pôvodný aj pokračujúci segment, aby sa ich spoj dal skontrolovať z hľadiska vzhľadu, pohybu a zvuku. Bežné voľby dĺžky a rozlíšenia nového generovania nemožno chápať ako univerzálny kontrakt pre každú operáciu predĺženia.</p><p>Negatívny opis môže sústrediť vylúčenia na vizuálne požiadavky úlohy. Pri sérii produktových variácií zachovajte stabilný subjekt a kompozíciu a meňte jediný tvorivý smer, napríklad osvetlenie alebo vzdialenosť kamery. Zadanie, referencie a vybrané nastavenia zaznamenajte spolu s výsledkom. Vďaka tomu možno porovnávať užitočný tvorivý rozdiel namiesto zbierky nesúvisiacich generovaní.</p><p>Bežný produkčný profil Veo 3.1 a Veo 3.1 Fast majú odlišné profily výstupného rozlíšenia. Fast uvádza 720p a 1080p; bežný 3.1 aj 4K. Zvolenú edíciu uchovajte pri výsledku bez tichého nahradenia identifikátora produkčného modelu starším profilom Preview alebo inou generáciou Veo. Vzhľad subjektu aj podporovaná operácia závisia od vybraného postupu.</p><p>Generovanie je operácia, ktorej dokončený výsledok poskytuje videovýstupy na prehrávanie a neskorší strih. Vrátené súbory uchovajte so zdrojovými snímkami, referenčnými podkladmi a zadaním a zachovajte dodané informácie o pôvode obsahu. Každý skutočný výstup skontrolujte z hľadiska vzhľadu subjektu, akcie, rámovania, zvuku a konečnej kompozície. Vybraný klip použite ako produkčný stavebný prvok s titulkami, prechodmi či ďalšími dokončovacími úpravami pridanými v okolnom strihu.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Dostupné v Ailoot · vstupy a metódy</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Video</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>Vstup</dt><dd><code>text</code></dd></div><div><dt>Výstup</dt><dd><code>video</code></dd></div><div><dt>Výstupný formát</dt><dd>mp4</dd></div><div><dt>Počet výstupov</dt><dd>Do 4 výstups</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Pole</th><th>Typ</th><th>Požiadavka</th><th>Hodnoty a limity</th><th>Predvolené</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>google/veo-3.1</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Maximálny počet bajtov UTF-8: 10 000</div><div>Vyžaduje sa aspoň jeden znak, ktorý nie je bielym znakom: Áno</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>integer</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>4, 6, 8</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>720p</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>16:9, 9:16</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">generate_audio</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>boolean</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>false, true</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kombinácie vstupných podkladov</summary><p class=\"note-s\"><b>Z textu na video</b> · Povinné: prompt</p></details><details class=\"note-s\" data-method-contract><summary>Parametre a životný cyklus metódy</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Špecifikácia</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</span>model, prompt, duration, resolution, aspect_ratio, generate_audio</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>additional_properties</code></th><td data-cell-label=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</span>false</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>parameters</code></th><td data-cell-label=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</span>{&quot;name&quot;:&quot;model&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;enum&quot;:[&quot;google/veo-3.1&quot;]}, {&quot;name&quot;:&quot;prompt&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;non_whitespace&quot;:true,&quot;max_utf8_bytes&quot;:10000}, {&quot;name&quot;:&quot;duration&quot;,&quot;type&quot;:&quot;integer&quot;,&quot;required&quot;:true,&quot;enum&quot;:[4,6,8]}, {&quot;name&quot;:&quot;resolution&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;enum&quot;:[&quot;720p&quot;]}, {&quot;name&quot;:&quot;aspect_ratio&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;enum&quot;:[&quot;16:9&quot;,&quot;9:16&quot;]}, {&quot;name&quot;:&quot;generate_audio&quot;,&quot;type&quot;:&quot;boolean&quot;,&quot;required&quot;:true,&quot;enum&quot;:[false,true]}</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</span>text</td></tr></tbody></table></div><p>Aliasy metódy: <code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><p>Životný cyklus: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}/content</code></p><p class=\"note-s\">Zachovajte celú odpoveď a pôvodné vrátené ID.</p><p class=\"note-s\">Vytvorenie s neznámym výsledkom nikdy znova neodosielajte.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Cenník</h3><div class=\"card-result-process\" data-billing-basis><h5>Ako sa vypočíta konečný poplatok</h5><p class=\"note-s\">Zobrazené sadzby slúžia na odhad nákladov pred generovaním. Konečný poplatok sa vypočíta z nákladov zaznamenaných pri pôvodnom generovaní. Namerané trvanie výstupu a predpokladané množstvá nepredstavujú konečné účtované množstvo.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.</p><dl data-price-conditions><dt>Rýchly režim</dt><dd>Neuvedené <span class=\"note-s\">Keď je zvolený rýchly režim</span></dd><dt>Režim Flex</dt><dd>Neuvedené <span class=\"note-s\">Keď je zvolený režim flex</span></dd><dt>Maximálna úroveň uvažovania</dt><dd>Neuvedené <span class=\"note-s\">Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Odhadované sadzby na porovnanie</h4><h4>Ceny podľa konfigurácie</h4><p class=\"note-s\">Každý poplatok priraďte k zobrazeným podmienkam. Pre každú skupinu alternatívnych konfigurácií použite jednu sadzbu.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurácia</th><th>Sadzobník</th><th>Odhadované množstvo</th><th>Generovať audio</th><th>Rozlíšenie</th><th>Účtovacia jednotka</th><th>Podmienky účtovania</th><th>Poplatok</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>Základné sadzby za tokeny</th><td data-cell-label=\"Sadzobník\"><span class=\"card-cell-label\">Sadzobník</span>Základná sadzba</td><td data-cell-label=\"Odhadované množstvo\"><span class=\"card-cell-label\">Odhadované množstvo</span>—</td><td data-cell-label=\"Generovať audio\"><span class=\"card-cell-label\">Generovať audio</span>—</td><td data-cell-label=\"Rozlíšenie\"><span class=\"card-cell-label\">Rozlíšenie</span>—</td><td data-cell-label=\"Účtovacia jednotka\"><span class=\"card-cell-label\">Účtovacia jednotka</span>—</td><td data-cell-label=\"Podmienky účtovania\"><span class=\"card-cell-label\">Podmienky účtovania</span>—</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Vstup · Vstupné tokeny · Odhad iba na porovnanie</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenov</span></div><div><span>Výstup · Výstupné tokeny · Odhad iba na porovnanie</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenov</span></div><div><span>Vstup · Čítanie cache · Odhad iba na porovnanie</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenov</span></div><div><span>Vstup · Zápis do cache · Odhad iba na porovnanie</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenov</span></div><div><span>Vstup · Zápis do cache, 1 hod · Odhad iba na porovnanie</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenov</span></div></td></tr><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>Ultra</th><td data-cell-label=\"Sadzobník\"><span class=\"card-cell-label\">Sadzobník</span>—</td><td data-cell-label=\"Odhadované množstvo\"><span class=\"card-cell-label\">Odhadované množstvo</span>Požadované nastavenie; iba odhad.</td><td data-cell-label=\"Generovať audio\"><span class=\"card-cell-label\">Generovať audio</span>S audiom</td><td data-cell-label=\"Rozlíšenie\"><span class=\"card-cell-label\">Rozlíšenie</span>720p</td><td data-cell-label=\"Účtovacia jednotka\"><span class=\"card-cell-label\">Účtovacia jednotka</span>za sekundu výstupného videa</td><td data-cell-label=\"Podmienky účtovania\"><span class=\"card-cell-label\">Podmienky účtovania</span>—</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Výstup · Odhadovaná sekunda výstupného videa · Odhad iba na porovnanie</span> <b>$0.8</b> <span class=\"price-unit\">za sekundu výstupného videa</span></div><p class=\"note-s\">Zobrazená sadzba odhaduje náklady pred generovaním. Konečný poplatok sa vypočíta z nákladov zaznamenaných pri pôvodnom generovaní. Fyzická dĺžka videa nie je účtovaným množstvom.</p></td></tr><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>Cena videa</th><td data-cell-label=\"Sadzobník\"><span class=\"card-cell-label\">Sadzobník</span>—</td><td data-cell-label=\"Odhadované množstvo\"><span class=\"card-cell-label\">Odhadované množstvo</span>—</td><td data-cell-label=\"Generovať audio\"><span class=\"card-cell-label\">Generovať audio</span>—</td><td data-cell-label=\"Rozlíšenie\"><span class=\"card-cell-label\">Rozlíšenie</span>—</td><td data-cell-label=\"Účtovacia jednotka\"><span class=\"card-cell-label\">Účtovacia jednotka</span>za sekundu videa</td><td data-cell-label=\"Podmienky účtovania\"><span class=\"card-cell-label\">Podmienky účtovania</span>zvuk: with_audio; rozlíšenie: 4k</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Výstup · Cena videa · Odhad iba na porovnanie</span> <b>$1.2</b> <span class=\"price-unit\">za sekundu videa</span></div></td></tr><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>Ultra</th><td data-cell-label=\"Sadzobník\"><span class=\"card-cell-label\">Sadzobník</span>—</td><td data-cell-label=\"Odhadované množstvo\"><span class=\"card-cell-label\">Odhadované množstvo</span>Požadované nastavenie; iba odhad.</td><td data-cell-label=\"Generovať audio\"><span class=\"card-cell-label\">Generovať audio</span>Bez audia</td><td data-cell-label=\"Rozlíšenie\"><span class=\"card-cell-label\">Rozlíšenie</span>720p</td><td data-cell-label=\"Účtovacia jednotka\"><span class=\"card-cell-label\">Účtovacia jednotka</span>za sekundu výstupného videa</td><td data-cell-label=\"Podmienky účtovania\"><span class=\"card-cell-label\">Podmienky účtovania</span>—</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Výstup · Odhadovaná sekunda výstupného videa · Odhad iba na porovnanie</span> <b>$0.4</b> <span class=\"price-unit\">za sekundu výstupného videa</span></div><p class=\"note-s\">Zobrazená sadzba odhaduje náklady pred generovaním. Konečný poplatok sa vypočíta z nákladov zaznamenaných pri pôvodnom generovaní. Fyzická dĺžka videa nie je účtovaným množstvom.</p></td></tr><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>Cena videa</th><td data-cell-label=\"Sadzobník\"><span class=\"card-cell-label\">Sadzobník</span>—</td><td data-cell-label=\"Odhadované množstvo\"><span class=\"card-cell-label\">Odhadované množstvo</span>—</td><td data-cell-label=\"Generovať audio\"><span class=\"card-cell-label\">Generovať audio</span>—</td><td data-cell-label=\"Rozlíšenie\"><span class=\"card-cell-label\">Rozlíšenie</span>—</td><td data-cell-label=\"Účtovacia jednotka\"><span class=\"card-cell-label\">Účtovacia jednotka</span>za sekundu videa</td><td data-cell-label=\"Podmienky účtovania\"><span class=\"card-cell-label\">Podmienky účtovania</span>zvuk: without_audio; rozlíšenie: 4k</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Výstup · Cena videa · Odhad iba na porovnanie</span> <b>$0.8</b> <span class=\"price-unit\">za sekundu videa</span></div></td></tr><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>Odhadované náklady na generovanie</th><td data-cell-label=\"Sadzobník\"><span class=\"card-cell-label\">Sadzobník</span>—</td><td data-cell-label=\"Odhadované množstvo\"><span class=\"card-cell-label\">Odhadované množstvo</span>odhad pre jedno generovanie</td><td data-cell-label=\"Generovať audio\"><span class=\"card-cell-label\">Generovať audio</span>—</td><td data-cell-label=\"Rozlíšenie\"><span class=\"card-cell-label\">Rozlíšenie</span>—</td><td data-cell-label=\"Účtovacia jednotka\"><span class=\"card-cell-label\">Účtovacia jednotka</span>—</td><td data-cell-label=\"Podmienky účtovania\"><span class=\"card-cell-label\">Podmienky účtovania</span>—</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Výstup · Odhadované náklady na generovanie · Odhad iba na porovnanie</span> <b>$1.6</b> <span class=\"price-unit\">odhad pred generovaním</span></div><p class=\"note-s\">Tento odhad nepredstavuje dodatočný poplatok ani pevnú sadzbu za dokončené generovanie.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. <a href=\"/docs/sk/billing/reserve/\">Ako funguje rezervácia a vyúčtovanie →</a></p><div data-declared-reference-pricing><h4>Podrobnosti referenčnej tarify</h4><p class=\"note-s\">Referenčné sadzobníky modelu nemenia výber metódy, cenové odhady ani poplatky. Aktívne poplatky používajú sadzby vybranej metódy Ailoot.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Cenové referencie konfigurácií videa</summary><h4>Ceny podľa konfigurácie</h4><p class=\"note-s\">Každý poplatok priraďte k zobrazeným podmienkam. Pre každú skupinu alternatívnych konfigurácií použite jednu sadzbu.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurácia</th><th>Podmienky účtovania</th><th>Poplatok</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>Cena videa</th><td data-cell-label=\"Podmienky účtovania\"><span class=\"card-cell-label\">Podmienky účtovania</span>zvuk: with_audio</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Výstup · Cena videa</span> <b>$0.8</b> <span class=\"price-unit\">za sekundu videa</span></div><p class=\"note-s\">Zverejnený cenový údaj pre zobrazenú konfiguráciu. Konečné poplatky sa riadia skutočne účtovanou konfiguráciou.</p></td></tr><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>Cena videa</th><td data-cell-label=\"Podmienky účtovania\"><span class=\"card-cell-label\">Podmienky účtovania</span>zvuk: with_audio; rozlíšenie: 4k</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Výstup · Cena videa</span> <b>$1.2</b> <span class=\"price-unit\">za sekundu videa</span></div><p class=\"note-s\">Zverejnený cenový údaj pre zobrazenú konfiguráciu. Konečné poplatky sa riadia skutočne účtovanou konfiguráciou.</p></td></tr><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>Cena videa</th><td data-cell-label=\"Podmienky účtovania\"><span class=\"card-cell-label\">Podmienky účtovania</span>zvuk: without_audio</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Výstup · Cena videa</span> <b>$0.4</b> <span class=\"price-unit\">za sekundu videa</span></div><p class=\"note-s\">Zverejnený cenový údaj pre zobrazenú konfiguráciu. Konečné poplatky sa riadia skutočne účtovanou konfiguráciou.</p></td></tr><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>Cena videa</th><td data-cell-label=\"Podmienky účtovania\"><span class=\"card-cell-label\">Podmienky účtovania</span>zvuk: without_audio; rozlíšenie: 4k</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Výstup · Cena videa</span> <b>$0.8</b> <span class=\"price-unit\">za sekundu videa</span></div><p class=\"note-s\">Zverejnený cenový údaj pre zobrazenú konfiguráciu. Konečné poplatky sa riadia skutočne účtovanou konfiguráciou.</p></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Príklady požiadaviek</h3><h4>Ailoot Ultra · Video</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Varianty kódu\"><button class=\"cg-tab\" id=\"model-code-1505-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1505-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · presne podľa nastaveného profilu</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Skopírovať kód\"><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-1505-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1505-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;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;google/veo-3.1&quot;, &quot;prompt&quot;: &quot;a calm greenhouse&quot;, &quot;duration&quot;: 6, &quot;resolution&quot;: &quot;720p&quot;, &quot;aspect_ratio&quot;: &quot;16:9&quot;, &quot;generate_audio&quot;: true}&#39;)\nPath(&#39;request.json&#39;).write_text(json.dumps(p,ensure_ascii=False))\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\">Prijať a uložiť výsledky</h3><h4>Ailoot Ultra · Video</h4><p class=\"note-s\">mp4</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/generations/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li><li><code>GET /v1/videos/generations/{request_id}/content</code></li></ul><h5>Skontrolovať stav úlohy</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Varianty kódu\"><button class=\"cg-tab\" id=\"model-code-1506-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1506-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET stav pôvodnej operácie</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Skopírovať kód\"><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-1506-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1506-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>Čítanie ďalšieho obsahu</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Varianty kódu\"><button class=\"cg-tab\" id=\"model-code-1507-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1507-panel-0\" aria-selected=\"true\" tabindex=\"0\">Uložiť každý dokončený výstup, ktorý vám patrí</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Skopírovať kód\"><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-1507-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1507-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>Uchovať všetky dokončené výsledky</h5><p class=\"note-s\">Uložte každé dokončené video alebo vrátený súbor; načítajte obsah každej skutočne vrátenej URL podkladu.</p><p class=\"note-s\">Zachovajte každú podpísanú URL vo vašom vlastníctve v dokončenom data[] a všetky metadáta stavu. Uložte každý výstup vrátane jeho vygenerovaného zvuku. Platná zvuková stopa AAC môže byť prítomná aj pri generate_audio=false; zachovajte celý pôvodný MP4 vrátane tohto zvuku.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Ak treba overiť pôvodnú odpoveď</h5><p class=\"note-s\">Načítajte existujúcu pôvodnú úlohu; odoslanie s neznámym výsledkom nikdy neopakujte.</p></div><p class=\"note-s\">Maximálny počet výstupov: 4.</p><details class=\"card-about\" data-output-fields><summary>Polia odpovede</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Pole</th><th>Typ</th><th>Význam</th></tr></thead><tbody><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>signed content URL</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">charge_pending_check</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>boolean</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">error.code</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">error.message</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">operation_id</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Pôvodná odpoveď stavu alebo obsahu HTTP503 result_pending_check: rovnaké pôvodné verejné ID videa ako id.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">error.type</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>server_error pri HTTP503 result_pending_check.</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Chyby a ďalšie kroky</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Odpoveď</th><th>Podmienka</th><th>Ďalší krok</th></tr></thead><tbody><tr><th data-cell-label=\"Odpoveď\" scope=\"row\"><span class=\"card-cell-label\">Odpoveď</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Podmienka\"><span class=\"card-cell-label\">Podmienka</span>Načítanie nespracovaného tela požiadavky zlyhá pred parsovaním profilu videa</td><td data-cell-label=\"Ďalší krok\"><span class=\"card-cell-label\">Ďalší krok</span>Zachovajte vrátenú odpoveď a opravte nečitateľné telo požiadavky.</td></tr><tr><th data-cell-label=\"Odpoveď\" scope=\"row\"><span class=\"card-cell-label\">Odpoveď</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Podmienka\"><span class=\"card-cell-label\">Podmienka</span>Parsovanie presného profilu videa zlyhá alebo úplný parsovaný profil nemá pripravenú presnú cenovú kartu</td><td data-cell-label=\"Ďalší krok\"><span class=\"card-cell-label\">Ďalší krok</span>Zachovajte odpoveď; použite úplný presný povolený profil a jeho zverejnenú kartu. Táto vetva sa vykonáva pred odoslaním poskytovateľovi.</td></tr><tr><th data-cell-label=\"Odpoveď\" scope=\"row\"><span class=\"card-cell-label\">Odpoveď</span>409 · <code>video_not_ready</code></th><td data-cell-label=\"Podmienka\"><span class=\"card-cell-label\">Podmienka</span>Pôvodný obsah výsledku zatiaľ nie je dostupný</td><td data-cell-label=\"Ďalší krok\"><span class=\"card-cell-label\">Ďalší krok</span>Priebežne zisťujte stav pomocou pôvodne vráteného ID a rešpektujte Retry-After.</td></tr><tr><th data-cell-label=\"Odpoveď\" scope=\"row\"><span class=\"card-cell-label\">Odpoveď</span><code>server_error</code></th><td data-cell-label=\"Podmienka\"><span class=\"card-cell-label\">Podmienka</span>Vrátená odpoveď uvádza, že operáciu alebo výsledok je potrebné skontrolovať</td><td data-cell-label=\"Ďalší krok\"><span class=\"card-cell-label\">Ďalší krok</span>Uchovajte pôvodné vrátené ID operácie/úlohy, hlavičky požiadavky a odpoveď; naďalej čítajte údaje o tejto pôvodnej operácii podporovaným spôsobom. Požiadavku na vytvorenie znova neodosielajte.</td></tr><tr><th data-cell-label=\"Odpoveď\" scope=\"row\"><span class=\"card-cell-label\">Odpoveď</span>503 · <code>result_pending_check</code></th><td data-cell-label=\"Podmienka\"><span class=\"card-cell-label\">Podmienka</span>GET pôvodného stavu alebo obsahu: úloha nie je zverejnená, pôvodná úloha nemá stav failed/cancelled/expired a miestny stav je unknown alebo je stav pôvodnej úlohy completed.</td><td data-cell-label=\"Ďalší krok\"><span class=\"card-cell-label\">Ďalší krok</span>Zachovajte pôvodné id a operation_id (rovnaké verejné ID videa), odpoveď a hlavičky; načítavajte iba pôvodný stav alebo obsah. Nikdy neodosielajte novú požiadavku na generovanie.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasy</h3><h4>Aliasy modelov</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=google%2Fveo-3.1&amp;route=Ultra&amp;caller=google%2Fveo-3.1&amp;fmt=videos\"><code>google/veo-3.1</code></a></span></p><h4>Aliasy ciest metód</h4><p class=\"note-s\"><code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><h4>Súvisiace ID na volanie</h4><p class=\"note-s\"><a href=\"#m=google%2Fveo-3.1&amp;route=Ultra&amp;caller=google%2Fveo-3.1&amp;fmt=videos\"><code>google/veo-3.1</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/veo-3.1",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "google/veo-3.1",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|google%2Fveo-3.1",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Zobrazené sadzby slúžia na odhad nákladov pred generovaním. Konečný poplatok sa vypočíta z nákladov zaznamenaných pri pôvodnom generovaní. Namerané trvanie výstupu a predpokladané množstvá nepredstavujú konečné účtované množstvo.",
          "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": "Keep every completed data[] signed owned URL and the full status metadata. Save every output, including its generated audio.",
            "errors": [
              {
                "code": null,
                "condition": "Načítanie nespracovaného tela požiadavky zlyhá pred parsovaním profilu videa",
                "http_status": 400,
                "recovery": "Zachovajte vrátenú odpoveď a opravte nečitateľné telo požiadavky.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Parsovanie presného profilu videa zlyhá alebo úplný parsovaný profil nemá pripravenú presnú cenovú kartu",
                "http_status": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "Zachovajte odpoveď; použite úplný presný povolený profil a jeho zverejnenú kartu. Táto vetva sa vykonáva pred odoslaním poskytovateľovi.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Pôvodný obsah výsledku zatiaľ nie je dostupný",
                "http_status": 409,
                "recovery": "Priebežne zisťujte stav pomocou pôvodne vráteného ID a rešpektujte Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "Vrátená odpoveď uvádza, že operáciu alebo výsledok je potrebné skontrolovať",
                "http_status": null,
                "recovery": "Uchovajte pôvodné vrátené ID operácie/úlohy, hlavičky požiadavky a odpoveď; naďalej čítajte údaje o tejto pôvodnej operácii podporovaným spôsobom. Požiadavku na vytvorenie znova neodosielajte.",
                "type": "server_error"
              },
              {
                "absent_fields": [
                  "status",
                  "object",
                  "model",
                  "data"
                ],
                "code": "result_pending_check",
                "condition": "GET pôvodného stavu alebo obsahu: úloha nie je zverejnená, pôvodná úloha nemá stav failed/cancelled/expired a miestny stav je unknown alebo je stav pôvodnej úlohy completed.",
                "friendly_fields": "error.reason=result_pending_check,error.param=null; error.operation_id and error.request_id when the existing context supplies them. error.message is rewritten/localized.",
                "headers": {
                  "Retry-After": null,
                  "X-Should-Retry": "false"
                },
                "http_status": 503,
                "recovery": "Zachovajte pôvodné id a operation_id (rovnaké verejné ID videa), odpoveď a hlavičky; načítavajte iba pôvodný stav alebo obsah. Nikdy neodosielajte novú požiadavku na generovanie.",
                "response_fields": {
                  "charge_pending_check": true,
                  "error.code": "result_pending_check",
                  "error.type": "server_error",
                  "id": "original public video ID",
                  "operation_id": "same as id"
                },
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default0"
                  }
                },
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET. On HTTP503 result_pending_check from original status/content GET, operation_id equals id: use that same original public video ID for polling. Do not substitute unrelated operation IDs from other responses.",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "Načítajte existujúcu pôvodnú úlohu; odoslanie s neznámym výsledkom nikdy neopakujte.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "Use actual returned task_id or original public video id from response/media library. On HTTP503 result_pending_check from original video status/content GET, operation_id equals that original public video id. Do not assume unrelated operation IDs name media tasks.",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_video"
            ],
            "outputs": {
              "all_results": "Zachovajte každú podpísanú URL vo vašom vlastníctve v dokončenom data[] a všetky metadáta stavu. Uložte každý výstup vrátane jeho vygenerovaného zvuku. Platná zvuková stopa AAC môže byť prítomná aj pri generate_audio=false; zachovajte celý pôvodný MP4 vrátane tohto zvuku.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed content URL"
                },
                {
                  "description": null,
                  "name": "charge_pending_check",
                  "type": "boolean"
                },
                {
                  "description": null,
                  "name": "error.code",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "error.message",
                  "type": "string"
                },
                {
                  "description": "Pôvodná odpoveď stavu alebo obsahu HTTP503 result_pending_check: rovnaké pôvodné verejné ID videa ako id.",
                  "name": "operation_id",
                  "type": "string"
                },
                {
                  "description": "server_error pri HTTP503 result_pending_check.",
                  "name": "error.type",
                  "type": "string"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 4,
              "status_enum": [
                "in_progress",
                "completed",
                "failed"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/veo-3.1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "max_utf8_bytes": 10000,
                "name": "prompt",
                "non_whitespace": true,
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  6,
                  8
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "720p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "all fields outside the exact required six-key profile",
              "image or reference inputs",
              "1080p or 4K"
            ]
          },
          "hints": [
            "Zachovajte celú odpoveď a pôvodné vrátené ID.",
            "Vytvorenie s neznámym výsledkom nikdy znova neodosielajte."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "parameters": [
              {
                "enum": [
                  "google/veo-3.1"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "max_utf8_bytes": 10000,
                "name": "prompt",
                "non_whitespace": true,
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  4,
                  6,
                  8
                ],
                "name": "duration",
                "required": true,
                "type": "integer"
              },
              {
                "enum": [
                  "720p"
                ],
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "16:9",
                  "9:16"
                ],
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  false,
                  true
                ],
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              }
            ],
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution",
              "aspect_ratio",
              "generate_audio"
            ]
          },
          "lifecycle": {
            "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
            "content": [
              {
                "http": "GET",
                "parameters": [
                  {
                    "availability": "source_interface",
                    "conditions": "Must be less than the actual returned output count.",
                    "default": 0,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": null,
                    "maximum_known": false,
                    "minimum": 0,
                    "name": "index",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "parameters": [
                  {
                    "availability": "source_interface",
                    "conditions": "Must be less than the actual returned output count.",
                    "default": 0,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": null,
                    "maximum_known": false,
                    "minimum": 0,
                    "name": "index",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET. On HTTP503 result_pending_check from original status/content GET, operation_id equals id: use that same original public video ID for polling. Do not substitute unrelated operation IDs from other responses.",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video"
          ],
          "output": {
            "family": "video",
            "format": "mp4",
            "max_outputs": 4,
            "priced_duration": "Video-file duration is not the billing quantity; final charge follows the actual billed configuration."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": true,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.8",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.8",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "1.2",
                "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": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": false,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.4",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.4",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.8",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.8",
                "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": "Tento odhad nepredstavuje dodatočný poplatok ani pevnú sadzbu za dokončené generovanie.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Odhadované náklady na generovanie",
            "units": [
              {
                "amount": "1.6",
                "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": "1.6",
                "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'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/veo-3.1\", \"prompt\": \"a calm greenhouse\", \"duration\": 6, \"resolution\": \"720p\", \"aspect_ratio\": \"16:9\", \"generate_audio\": true}')\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False))\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 · exact configured profile",
            "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": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations",
          "/videos",
          "/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": true,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.8",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.8",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "1.2",
                "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": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": false,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.4",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.4",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.8",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.8",
                "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": "1.6",
                "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": "1.6",
                "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": "google/veo-3.1",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_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.8",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio",
            "label": "Estimated output video second",
            "native_amount_usd_per_unit": "0.8",
            "native_quantity": 1,
            "public_unit_label": "per output video second",
            "quantity": "1",
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_video_second"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio_4k",
            "label": "Video price",
            "native_amount_usd_per_unit": "1.2",
            "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.4",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio",
            "label": "Estimated output video second",
            "native_amount_usd_per_unit": "0.4",
            "native_quantity": 1,
            "public_unit_label": "per output video second",
            "quantity": "1",
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_video_second"
          },
          {
            "amount": "0.8",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio_4k",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.8",
            "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": "1.6",
            "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": "1.6",
            "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": "google/veo-3.1",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "db47cdfc1d0e89f6741945e2e08b2c4fc8a956101acc4c5ee72efea44b17c41d",
    "input_html_sha256": "c996cc4a1c5c379fb7fce4d20c7ea60b02ab908ce3ef9805d0558a309bfff84f",
    "private_audit_sha256": "1192811e5da2e0147f201b3329b35dba7bd7873a9e4535958cbed2b7c2e7fd66",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/sk/google-veo-3-1/",
    "description": "Veo 3.1 je videomodel Google pre scény vedené textom a obrázkami s generovaným zvukom, vedenými hraničnými snímkami a referenčnými podkladmi. Jeho produkčný profil poskytuje štvor-, šesť- alebo osemsekundové klipy pri 24 snímkach za sekundu s možnosťami výstupu vrátane 720p, 1080p a 4K.",
    "locale": "sk",
    "md_url": "https://ailoot.ai/models/sk/google-veo-3-1/index.md",
    "title": "Google: Veo 3.1 — Ailoot",
    "url": "https://ailoot.ai/models/sk/google-veo-3-1/"
  },
  "rawModel": {
    "about": "Veo 3.1 je model Google na generovanie videa pre tvorbu krátkej audiovizuálnej scény z textu alebo zadania vedeného obrázkom. Jeho produkčný profil podporuje text-to-video, image-to-video a vedenú tvorbu z prvej/poslednej snímky s generovaným zvukom, referenčnými podkladmi a samostatným postupom pokračovania. Použite ho na rozvíjanie filmového konceptu, krátkeho produktového príbehu alebo vizuálneho segmentu s definovanou scénou, akciou a posluchovým zážitkom.\n\nNajprv opíšte subjekt a viditeľnú udalosť. Určte okolie, denný čas a svetlo a potom definujte uhol či pohyb kamery a zamýšľaný vizuálny štýl. Pôvodné zadanie scény môže zobrazovať sklenenú nádobu na tmavom štúdiovom povrchu s pomalým bočným pohybom odhaľujúcim odraz, zatiaľ čo odhalenie sprevádza jemný zvuk prostredia. Každý pokyn dáva viditeľnú alebo počuteľnú vlastnosť, ktorú možno posúdiť v dokončenom výsledku.\n\nRámec zadávania Google chápe subjekt, akciu, scénu, kameru a estetiku ako samostatné časti zadania. Použite časti slúžiace záberu namiesto pridávania všetkých možných opisných prvkov. Pre dokumentovaný profil zadania píšte pokyny v angličtine. Ak scéna obsahuje viacero akcií, určte ich vzťah a udržte ich primerané krátkemu klipu, aby odhalenie alebo reakcia zostali čitateľné.\n\nÚvodný obrázok určuje počiatočný vzhľad a kompozíciu. Použite ho, keď postava, produkt či prostredie už existuje ako vizuálny podklad, a opíšte pohyb, ktorý sa má z neho rozvinúť. Posledná snímka pridáva cieľovú kompozíciu pre koniec. Pripravte hraničné snímky komunikujúce vierohodný prechod a zachovávajúce detaily identifikujúce hlavný subjekt a po generovaní skontrolujte pohyb medzi nimi.\n\nReferenčné podklady slúžia inému účelu: usmerňujú vzhľad postavy či predmetu v novo generovanej scéne, zatiaľ čo hraničné snímky definujú konkrétne okamihy tejto scény. Vyberajte referencie ukazujúce dôležité vizuálne črty a úlohu každého podkladu jasne určte v zadaní. Špecifikácia reference-image-to-video produkčného modelu používa pre tento referenčný postup osemsekundový výstup, oddelený od bežného výberu dĺžky pri textovom zadaní.\n\nBežný produkčný profil výrobcu generuje klipy s dĺžkou štyri, šesť alebo osem sekúnd pri 24 snímkach za sekundu. Uvádza rámovanie 16:9 na šírku a 9:16 na výšku, až štyri videovýstupy na zadanie a výstupné rozlíšenia 720p, 1080p a 4K. Formát výstupného videa je MP4. Jeho špecifikácia vedená obrázkom prijíma JPEG alebo PNG, uvádza maximum vstupného obrázka 20 MB a podporuje vstupné konfigurácie 720p/1080p. Výstupný profil vyberte pre zamýšľané umiestnenie a kompozíciu snímok udržte pri tejto veľkosti čitateľnú.\n\nNatívny zvuk môže sprevádzať viditeľnú scénu. Hovorené repliky, atmosféru a zvukové efekty určte ako časti rovnakého zadania a pomenujte subjekt alebo udalosť, ktorá každý z nich vytvára. Pokyn na dialóg a pokyn na kameru odpovedajú na rôzne otázky: jeden určuje výkon, druhý spôsob, akým ho divák vidí. Slová udržte v rámci využiteľného času reči v klipe a zvuk kontrolujte z hľadiska zrozumiteľnosti aj vzťahu k akcii.\n\nPre pokračovanie výrobca poskytuje samostatný postup predĺženia videa. Začnite vhodným generovaným zdrojovým klipom a opíšte ďalšiu viditeľnú udalosť alebo zmenu scény. Uchovajte pôvodný aj pokračujúci segment, aby sa ich spoj dal skontrolovať z hľadiska vzhľadu, pohybu a zvuku. Bežné voľby dĺžky a rozlíšenia nového generovania nemožno chápať ako univerzálny kontrakt pre každú operáciu predĺženia.\n\nNegatívny opis môže sústrediť vylúčenia na vizuálne požiadavky úlohy. Pri sérii produktových variácií zachovajte stabilný subjekt a kompozíciu a meňte jediný tvorivý smer, napríklad osvetlenie alebo vzdialenosť kamery. Zadanie, referencie a vybrané nastavenia zaznamenajte spolu s výsledkom. Vďaka tomu možno porovnávať užitočný tvorivý rozdiel namiesto zbierky nesúvisiacich generovaní.\n\nBežný produkčný profil Veo 3.1 a Veo 3.1 Fast majú odlišné profily výstupného rozlíšenia. Fast uvádza 720p a 1080p; bežný 3.1 aj 4K. Zvolenú edíciu uchovajte pri výsledku bez tichého nahradenia identifikátora produkčného modelu starším profilom Preview alebo inou generáciou Veo. Vzhľad subjektu aj podporovaná operácia závisia od vybraného postupu.\n\nGenerovanie je operácia, ktorej dokončený výsledok poskytuje videovýstupy na prehrávanie a neskorší strih. Vrátené súbory uchovajte so zdrojovými snímkami, referenčnými podkladmi a zadaním a zachovajte dodané informácie o pôvode obsahu. Každý skutočný výstup skontrolujte z hľadiska vzhľadu subjektu, akcie, rámovania, zvuku a konečnej kompozície. Vybraný klip použite ako produkčný stavebný prvok s titulkami, prechodmi či ďalšími dokončovacími úpravami pridanými v okolnom strihu.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "available": null,
    "canonical_model": "google/veo-3.1",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "1.6",
            "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": "1.6",
            "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": "Úplný cenník konfigurácie nájdete v podrobnostiach."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "5c12291f0ed9f66144eb670a",
        "label": "Cenové referencie konfigurácií videa",
        "profiles": [
          {
            "basis": "Zverejnený cenový údaj pre zobrazenú konfiguráciu. Konečné poplatky sa riadia skutočne účtovanou konfiguráciou.",
            "dimensions": {
              "conditions": "zvuk: with_audio"
            },
            "label": "Cena videa",
            "units": [
              {
                "amount": "0.8",
                "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": "Zverejnený cenový údaj pre zobrazenú konfiguráciu. Konečné poplatky sa riadia skutočne účtovanou konfiguráciou.",
            "dimensions": {
              "conditions": "zvuk: with_audio; rozlíšenie: 4k"
            },
            "label": "Cena videa",
            "units": [
              {
                "amount": "1.2",
                "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": "Zverejnený cenový údaj pre zobrazenú konfiguráciu. Konečné poplatky sa riadia skutočne účtovanou konfiguráciou.",
            "dimensions": {
              "conditions": "zvuk: without_audio"
            },
            "label": "Cena videa",
            "units": [
              {
                "amount": "0.4",
                "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": "Zverejnený cenový údaj pre zobrazenú konfiguráciu. Konečné poplatky sa riadia skutočne účtovanou konfiguráciou.",
            "dimensions": {
              "conditions": "zvuk: without_audio; rozlíšenie: 4k"
            },
            "label": "Cena videa",
            "units": [
              {
                "amount": "0.8",
                "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": "google/veo-3.1",
    "input": [
      "text"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Zobrazené sadzby slúžia na odhad nákladov pred generovaním. Konečný poplatok sa vypočíta z nákladov zaznamenaných pri pôvodnom generovaní. Namerané trvanie výstupu a predpokladané množstvá nepredstavujú konečné účtované množstvo.",
          "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": "Keep every completed data[] signed owned URL and the full status metadata. Save every output, including its generated audio.",
            "errors": [
              {
                "code": null,
                "condition": "Načítanie nespracovaného tela požiadavky zlyhá pred parsovaním profilu videa",
                "http_status": 400,
                "recovery": "Zachovajte vrátenú odpoveď a opravte nečitateľné telo požiadavky.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Parsovanie presného profilu videa zlyhá alebo úplný parsovaný profil nemá pripravenú presnú cenovú kartu",
                "http_status": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "Zachovajte odpoveď; použite úplný presný povolený profil a jeho zverejnenú kartu. Táto vetva sa vykonáva pred odoslaním poskytovateľovi.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Pôvodný obsah výsledku zatiaľ nie je dostupný",
                "http_status": 409,
                "recovery": "Priebežne zisťujte stav pomocou pôvodne vráteného ID a rešpektujte Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "Vrátená odpoveď uvádza, že operáciu alebo výsledok je potrebné skontrolovať",
                "http_status": null,
                "recovery": "Uchovajte pôvodné vrátené ID operácie/úlohy, hlavičky požiadavky a odpoveď; naďalej čítajte údaje o tejto pôvodnej operácii podporovaným spôsobom. Požiadavku na vytvorenie znova neodosielajte.",
                "type": "server_error"
              },
              {
                "absent_fields": [
                  "status",
                  "object",
                  "model",
                  "data"
                ],
                "code": "result_pending_check",
                "condition": "GET pôvodného stavu alebo obsahu: úloha nie je zverejnená, pôvodná úloha nemá stav failed/cancelled/expired a miestny stav je unknown alebo je stav pôvodnej úlohy completed.",
                "friendly_fields": "error.reason=result_pending_check,error.param=null; error.operation_id and error.request_id when the existing context supplies them. error.message is rewritten/localized.",
                "headers": {
                  "Retry-After": null,
                  "X-Should-Retry": "false"
                },
                "http_status": 503,
                "recovery": "Zachovajte pôvodné id a operation_id (rovnaké verejné ID videa), odpoveď a hlavičky; načítavajte iba pôvodný stav alebo obsah. Nikdy neodosielajte novú požiadavku na generovanie.",
                "response_fields": {
                  "charge_pending_check": true,
                  "error.code": "result_pending_check",
                  "error.type": "server_error",
                  "id": "original public video ID",
                  "operation_id": "same as id"
                },
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default0"
                  }
                },
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET. On HTTP503 result_pending_check from original status/content GET, operation_id equals id: use that same original public video ID for polling. Do not substitute unrelated operation IDs from other responses.",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "Načítajte existujúcu pôvodnú úlohu; odoslanie s neznámym výsledkom nikdy neopakujte.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "Use actual returned task_id or original public video id from response/media library. On HTTP503 result_pending_check from original video status/content GET, operation_id equals that original public video id. Do not assume unrelated operation IDs name media tasks.",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_video"
            ],
            "outputs": {
              "all_results": "Zachovajte každú podpísanú URL vo vašom vlastníctve v dokončenom data[] a všetky metadáta stavu. Uložte každý výstup vrátane jeho vygenerovaného zvuku. Platná zvuková stopa AAC môže byť prítomná aj pri generate_audio=false; zachovajte celý pôvodný MP4 vrátane tohto zvuku.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed content URL"
                },
                {
                  "description": null,
                  "name": "charge_pending_check",
                  "type": "boolean"
                },
                {
                  "description": null,
                  "name": "error.code",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "error.message",
                  "type": "string"
                },
                {
                  "description": "Pôvodná odpoveď stavu alebo obsahu HTTP503 result_pending_check: rovnaké pôvodné verejné ID videa ako id.",
                  "name": "operation_id",
                  "type": "string"
                },
                {
                  "description": "server_error pri HTTP503 result_pending_check.",
                  "name": "error.type",
                  "type": "string"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 4,
              "status_enum": [
                "in_progress",
                "completed",
                "failed"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/veo-3.1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "max_utf8_bytes": 10000,
                "name": "prompt",
                "non_whitespace": true,
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  6,
                  8
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "720p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "all fields outside the exact required six-key profile",
              "image or reference inputs",
              "1080p or 4K"
            ]
          },
          "hints": [
            "Zachovajte celú odpoveď a pôvodné vrátené ID.",
            "Vytvorenie s neznámym výsledkom nikdy znova neodosielajte."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "parameters": [
              {
                "enum": [
                  "google/veo-3.1"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "max_utf8_bytes": 10000,
                "name": "prompt",
                "non_whitespace": true,
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  4,
                  6,
                  8
                ],
                "name": "duration",
                "required": true,
                "type": "integer"
              },
              {
                "enum": [
                  "720p"
                ],
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "16:9",
                  "9:16"
                ],
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  false,
                  true
                ],
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              }
            ],
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution",
              "aspect_ratio",
              "generate_audio"
            ]
          },
          "lifecycle": {
            "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
            "content": [
              {
                "http": "GET",
                "parameters": [
                  {
                    "availability": "source_interface",
                    "conditions": "Must be less than the actual returned output count.",
                    "default": 0,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": null,
                    "maximum_known": false,
                    "minimum": 0,
                    "name": "index",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "parameters": [
                  {
                    "availability": "source_interface",
                    "conditions": "Must be less than the actual returned output count.",
                    "default": 0,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": null,
                    "maximum_known": false,
                    "minimum": 0,
                    "name": "index",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET. On HTTP503 result_pending_check from original status/content GET, operation_id equals id: use that same original public video ID for polling. Do not substitute unrelated operation IDs from other responses.",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video"
          ],
          "output": {
            "family": "video",
            "format": "mp4",
            "max_outputs": 4,
            "priced_duration": "Video-file duration is not the billing quantity; final charge follows the actual billed configuration."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": true,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.8",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.8",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "1.2",
                "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": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": false,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.4",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.4",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.8",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.8",
                "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": "Tento odhad nepredstavuje dodatočný poplatok ani pevnú sadzbu za dokončené generovanie.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Odhadované náklady na generovanie",
            "units": [
              {
                "amount": "1.6",
                "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": "1.6",
                "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'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/veo-3.1\", \"prompt\": \"a calm greenhouse\", \"duration\": 6, \"resolution\": \"720p\", \"aspect_ratio\": \"16:9\", \"generate_audio\": true}')\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False))\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 · exact configured profile",
            "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": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations",
          "/videos",
          "/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": true,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.8",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.8",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "1.2",
                "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": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": false,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.4",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.4",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.8",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.8",
                "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": "1.6",
                "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": "1.6",
                "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": "google/veo-3.1",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_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.8",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio",
            "label": "Estimated output video second",
            "native_amount_usd_per_unit": "0.8",
            "native_quantity": 1,
            "public_unit_label": "per output video second",
            "quantity": "1",
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_video_second"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio_4k",
            "label": "Video price",
            "native_amount_usd_per_unit": "1.2",
            "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.4",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio",
            "label": "Estimated output video second",
            "native_amount_usd_per_unit": "0.4",
            "native_quantity": 1,
            "public_unit_label": "per output video second",
            "quantity": "1",
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_video_second"
          },
          {
            "amount": "0.8",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio_4k",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.8",
            "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": "1.6",
            "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": "1.6",
            "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": "google/veo-3.1",
        "request_model_id": "google/veo-3.1",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Veo 3.1",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 1.6,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 1.6,
      "varies": false
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "audio": true,
          "native_model_id": "veo-3.1-generate-preview",
          "resolution": "720p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.80",
            "amount_unit": "usd_per_output_second",
            "conditions": {
              "audio": true,
              "native_model_id": "veo-3.1-generate-preview",
              "resolution": "720p"
            },
            "key": "output_video_audio",
            "label": "output video audio",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "audio": true,
          "native_model_id": "veo-3.1-generate-preview",
          "resolution": "1080p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.80",
            "amount_unit": "usd_per_output_second",
            "conditions": {
              "audio": true,
              "native_model_id": "veo-3.1-generate-preview",
              "resolution": "1080p"
            },
            "key": "output_video_audio",
            "label": "output video audio",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "audio": true,
          "native_model_id": "veo-3.1-generate-preview",
          "resolution": "4k"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "1.20",
            "amount_unit": "usd_per_output_second",
            "conditions": {
              "audio": true,
              "native_model_id": "veo-3.1-generate-preview",
              "resolution": "4k"
            },
            "key": "output_video_audio",
            "label": "output video audio",
            "profile_index": 2,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "dimensions": {},
        "label": "Ailoot Ultra · Tariff components",
        "units": [
          {
            "amount": "0.8",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "audio=true",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.80",
            "key": "duration_seconds_with_audio",
            "label": "output second",
            "native_amount_usd_per_unit": "0.8",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=4k · audio=true Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "1.20",
            "key": "duration_seconds_with_audio_4k",
            "label": "output second",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.4",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "audio=false",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.40",
            "key": "duration_seconds_without_audio",
            "label": "output second",
            "native_amount_usd_per_unit": "0.4",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.8",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=4k · audio=false Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.80",
            "key": "duration_seconds_without_audio_4k",
            "label": "output second",
            "native_amount_usd_per_unit": "0.8",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          }
        ]
      }
    ],
    "public_id": "google/veo-3.1",
    "short": "Veo 3.1 je videomodel Google pre scény vedené textom a obrázkami s generovaným zvukom, vedenými hraničnými snímkami a referenčnými podkladmi. Jeho produkčný profil poskytuje štvor-, šesť- alebo osemsekundové klipy pri 24 snímkach za sekundu s možnosťami výstupu vrátane 720p, 1080p a 4K."
  },
  "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": "Veo 3.1 je videomodel Google pre scény vedené textom a obrázkami s generovaným zvukom, vedenými hraničnými snímkami a referenčnými podkladmi. Jeho produkčný profil poskytuje štvor-, šesť- alebo osemsekundové klipy pri 24 snímkach za sekundu s možnosťami výstupu vrátane 720p, 1080p a 4K.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "e199059ba0c338e011427214f60190be4fbdc3f739fcc03440169883d23b8355",
    "renderer_sha256": "94893ba0fa4d7b7d32370787b705f436a4c2569f84ec7b33063549adc74b07e0"
  },
  "sourceRevision": "5835a26161cebb04cb96ae4cd4d86f97083a0b3448584a1a006b099eee0d35e3"
}
