{
  "aboutHtml": "<p>Seedance 2.0 je standardní model ByteDance Seed pro multimodální tvorbu zvuku a videa. Spojuje text, obrázky, videa a zvuk v architektuře společného generování, se samostatnými tvůrčími postupy pro scény vedené referencemi, úpravy a prodlužování videa. Hodí se tam, kde zadání potřebuje souvislý výkon i konkrétní vizuální nebo zvukové informace z připravených materiálů.</p><h4>Multimodální reference a režijní ovládání</h4><p>Obrázky mohou definovat vzhled objektu, vizuální styl a kompozici. Video reference mohou vést akci, pohyb kamery a efekty. Zvuk může řídit barvu hlasu, hudbu nebo dialog. Definujte roli každého materiálu a potom popište scénu, která má vzniknout. Výrobce zdůrazňuje ovládání přednesu, osvětlení, stínů a kamerového jazyka.</p><p>Pro produktový příběh připravte obrázek produktu, referenci pohybu kamery a zvukový pokyn. Zadání může znít: „Zachovej modrou skleněnou vázu z Image 1. Použij pomalý boční pojezd z Video 1. Váza stojí na sluncem osvětlené polici a zní jemná instrumentální hudba podle Audio 1.“ Zamýšleným výstupem je nově inscenovaná scéna spojující vybrané referenční informace.</p><p>Referenční vstupy mohou kombinovat obraz a zvuk, obraz a video, video a zvuk nebo všechny tři. Samotný zvuk a text se zvukem bez obrázku či videa nejsou podporovány. Dokumentovány jsou také tradiční převod textu na video, generování z prvního snímku a z prvního i posledního snímku. Jsou-li důležité pevné počáteční a koncové kompozice, použijte vyhrazený postup koncových bodů: označení referenčního obrázku jako koncového bodu v omni-reference zadání je pouze nepřímým vedením.</p><h4>Úprava záznamu</h4><p>Model může nahradit objekt, přidat nebo odstranit předměty, změnit prvky a překreslit či opravit části videa. Popište konkrétní změnu a identifikujte zdrojový záznam. U přidání zahrňte čas a polohu výskytu; u odstranění nebo nahrazení určete objekt přesně a pojmenujte, co má zůstat.</p><p>Například: „Nahraď stolní lampu ve videu Video 1 mosaznou lampou z Image 1. Zachovej pohyb kamery, uspořádání stolu a směr osvětlení.“ Požadovaným výsledkem je upravená verze scény se zamýšlenou náhradou. Zkontrolujte nezměněné oblasti i nový objekt, zvláště při zakrývání, pohybu a změnách záběru.</p><h4>Prodlužování a spojování sekvence</h4><p>Seedance 2.0 může prodloužit video dopředu nebo dozadu a propojit až tři dodané klipy generovanými přechody. Určete časový směr a novou událost. U spojovacího úseku seřaďte klipy a popište přechod mezi každou dvojicí, například kameru vstupující v jednom záběru do dveří a přicházející do dalšího prostředí.</p><p>Jednoduché prodloužení obvykle vrací pokračování rozvinuté kolem zdrojového záznamu; pokud má konečný výsledek také zopakovat původní segment, zahrňte jasný pokyn. Při dokončování spojení dvou či tří klipů může dokumentovaný postup zahrnout původní materiál i nový přechodový obsah. To se hodí pro rozvíjení začátku nebo konce či propojení připravených scén bez neurčité spojovací akce.</p><h4>Výstup standardní verze a 4K</h4><p>Standardní verze dokumentuje MP4 při 24 fps a délky od 4 do 15 sekund. Výstupní úrovně jsou 480p, 720p a 1080p s 8bitovou barevnou hloubkou a 4K s 10bitovou barevnou hloubkou. Podporované poměry jsou 21:9, 16:9, 4:3, 1:1, 3:4 a 9:16. Dokumentovány jsou také adaptivní rámování a automatická volba délky. Verze Fast má vlastní užší specifikaci výstupu 480p/720p.</p><p>Výstup 4K používá kódování H.265/HEVC. Desetibitové kódování zachovává další tonální stupně a plynulejší barevné přechody, což je důležité u materiálu s jemnými světelnými či barevnými gradienty. Ověřte, že zamýšlené přehrávací a editační prostředí umí tento formát dekódovat; některé prohlížeče a zařízení jej přímo nepřehrají. Kompatibilní kontejner sám nezaručuje kompatibilní dekódování videa.</p><p>Model může generovat synchronizovaný zvuk nebo tiché video a vrátit poslední generovaný snímek pro následující scénu. Generovaný zvuk je monofonní. Rodina 2.0 nepodporuje samostatný dvoufázový režim náhledu Draft, takže tuto náhledovou funkci nelze odvozovat od jiné verze Seedance.</p><h4>Příprava referencí a podstatná omezení</h4><p>Dokumentovaná referenční kapacita je až devět obrázků, tři videa a tři zvukové klipy. Přímé nahrávání referenčních obrázků nebo videí se skutečnými lidskými tvářemi není v tomto dokumentovaném profilu výrobce přijímáno; portrétní práce používá podporovaný postup portrétních podkladů. Každý video i zvukový klip musí mít délku 2–15 sekund. Všechny video reference dohromady se musí vejít do 15 sekund a všechny zvukové reference mají vlastní celkový limit 15 sekund. Video soubory používají MP4 nebo MOV při 24–60 fps, do 200 MB na soubor; zvukové soubory používají WAV nebo MP3, do 15 MB na soubor. Uvedené obrazové formáty jsou JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC a HEIF. Obrázky musí být jednotlivě menší než 30 MB a tělo požadavku nesmí překročit 64 MB. V dokumentovaném profilu referenčních vstupů musí šířka i výška obrázku ležet přísně mezi 300 a 6 000 pixely, s poměrem šířky k výšce přísně mezi 0,4 a 2,5. Referenční videa umožňují 300–6 000 pixelů v každém rozměru a poměry 0,4–2,5 včetně, s celkem 407 696–8 295 044 pixely. Videa MP4 nebo MOV používají obraz H.264/AVC nebo H.265/HEVC a zvuk AAC nebo MP3.</p><p>Soubory záměrně seřaďte a odkazujte na každý typem média a číslem: Image 1, Video 1 a Audio 1. Číslo sleduje pořadí mezi soubory daného typu. Vysvětlete, které rysy přenést a který zdrojový obsah nemá definovat novou scénu. Dokumentované jazyky zadání zahrnují angličtinu, španělštinu, indonéštinu, portugalštinu a japonštinu. Mluvený jazyk v dialogu udržujte jednotný; příručka doporučuje nemíchat jazyky s výjimkou vlastních jmen. U práce vedené hlasem oddělte mluvčího, přesnou repliku a pokyn k přednesu.</p><p>První a poslední obrázek připravte s kompatibilním rámováním. Nesoulad vstupního obrázku a výstupních rozměrů může způsobit ořez nebo náhlou vizuální změnu; shodné rozměry a adaptivní rámování jsou dokumentovaná řešení. Popis soustřeďte na událost a role referencí. Výrobce varuje, že dlouhé prompty mohou rozptýlit informace a vést k ignorování podrobností. Výsledný pohyb, návaznost referencí, zvukové provedení a spoje mezi scénami kontrolujte jako samostatné části tvůrčího výsledku.</p><h4>Plánování záběrů a vedení textu</h4><p>U složité scény uspořádejte zadání jako Shot 1, Shot 2 a Shot 3 a postupně určete kameru, akci objektu, polohu a zvuk. Příručka doporučuje jeden pohyb kamery na záběr a upřednostnění pomalých navazujících akcí. Přesné časové značky jednotlivých záběrů jsou nestabilní, proto je pořadí událostí lepším ovládáním než vynucování několika přesných časových oken.</p><p>Model generuje také běžný text včetně sloganů, titulků a komiksových bublin. Lze řídit barvu, vizuální zpracování, umístění a nástup textu. Používejte běžné znaky místo vzácných znaků či zvláštních symbolů a kontrolujte znění za pohybu. U referencí objektů jasně přiřaďte každý podklad zamýšlené postavě nebo předmětu. Pohledy na produkt mohou dodat různé vizuální informace; koláže postavy z více stran mohou mást identitu tváře. Dokumentovaným doporučením pro referenci postavy je samostatný jasný portrét hlavy a snímek celé postavy.</p><h4>Chování ke kontrole před střihem</h4><p>Příručka dokumentuje nežádoucí titulky, loga, duplicitní postavy a odchylky stylu. Čisté zdrojové materiály, jednotná označení a výslovná omezení tato rizika snižují, ale nezaručují vymizení nežádoucího textu nebo duplicitních postav. Více než čtyři referenční osoby je uváděno jako riziko stability, odlišné od počtu přijímaných souborů.</p><p>Prodlužování videa může ve spoji vytvořit skok nebo návrat a opakovaná pokračování mohou kumulovat zhoršení kvality obrazu. Zkontrolujte hraniční snímky a omezte navrstvená prodloužení. Referenční hlas se může lišit od zdrojové barvy; vyprávění může skončit cvaknutím či náhlým utnutím, pro které je dokumentovaným řešením zvukové ztišení. Čínské znaky s více výslovnostmi, neobvyklé znaky nebo podobně tvarované znaky mohou být vysloveny chybně. U přesného animovaného efektu, například odpočítávání, je pohybová reference informativnější než samotný slovní požadavek. To jsou konkrétní důvody kontrolovat při výběru klipu zvlášť identitu, text, pohyb a zvuk.</p>",
  "aboutText": "Seedance 2.0 je standardní model ByteDance Seed pro multimodální tvorbu zvuku a videa. Spojuje text, obrázky, videa a zvuk v architektuře společného generování, se samostatnými tvůrčími postupy pro scény vedené referencemi, úpravy a prodlužování videa. Hodí se tam, kde zadání potřebuje souvislý výkon i konkrétní vizuální nebo zvukové informace z připravených materiálů.\n\n### Multimodální reference a režijní ovládání\n\nObrázky mohou definovat vzhled objektu, vizuální styl a kompozici. Video reference mohou vést akci, pohyb kamery a efekty. Zvuk může řídit barvu hlasu, hudbu nebo dialog. Definujte roli každého materiálu a potom popište scénu, která má vzniknout. Výrobce zdůrazňuje ovládání přednesu, osvětlení, stínů a kamerového jazyka.\n\nPro produktový příběh připravte obrázek produktu, referenci pohybu kamery a zvukový pokyn. Zadání může znít: „Zachovej modrou skleněnou vázu z Image 1. Použij pomalý boční pojezd z Video 1. Váza stojí na sluncem osvětlené polici a zní jemná instrumentální hudba podle Audio 1.“ Zamýšleným výstupem je nově inscenovaná scéna spojující vybrané referenční informace.\n\nReferenční vstupy mohou kombinovat obraz a zvuk, obraz a video, video a zvuk nebo všechny tři. Samotný zvuk a text se zvukem bez obrázku či videa nejsou podporovány. Dokumentovány jsou také tradiční převod textu na video, generování z prvního snímku a z prvního i posledního snímku. Jsou-li důležité pevné počáteční a koncové kompozice, použijte vyhrazený postup koncových bodů: označení referenčního obrázku jako koncového bodu v omni-reference zadání je pouze nepřímým vedením.\n\n### Úprava záznamu\n\nModel může nahradit objekt, přidat nebo odstranit předměty, změnit prvky a překreslit či opravit části videa. Popište konkrétní změnu a identifikujte zdrojový záznam. U přidání zahrňte čas a polohu výskytu; u odstranění nebo nahrazení určete objekt přesně a pojmenujte, co má zůstat.\n\nNapříklad: „Nahraď stolní lampu ve videu Video 1 mosaznou lampou z Image 1. Zachovej pohyb kamery, uspořádání stolu a směr osvětlení.“ Požadovaným výsledkem je upravená verze scény se zamýšlenou náhradou. Zkontrolujte nezměněné oblasti i nový objekt, zvláště při zakrývání, pohybu a změnách záběru.\n\n### Prodlužování a spojování sekvence\n\nSeedance 2.0 může prodloužit video dopředu nebo dozadu a propojit až tři dodané klipy generovanými přechody. Určete časový směr a novou událost. U spojovacího úseku seřaďte klipy a popište přechod mezi každou dvojicí, například kameru vstupující v jednom záběru do dveří a přicházející do dalšího prostředí.\n\nJednoduché prodloužení obvykle vrací pokračování rozvinuté kolem zdrojového záznamu; pokud má konečný výsledek také zopakovat původní segment, zahrňte jasný pokyn. Při dokončování spojení dvou či tří klipů může dokumentovaný postup zahrnout původní materiál i nový přechodový obsah. To se hodí pro rozvíjení začátku nebo konce či propojení připravených scén bez neurčité spojovací akce.\n\n### Výstup standardní verze a 4K\n\nStandardní verze dokumentuje MP4 při 24 fps a délky od 4 do 15 sekund. Výstupní úrovně jsou 480p, 720p a 1080p s 8bitovou barevnou hloubkou a 4K s 10bitovou barevnou hloubkou. Podporované poměry jsou 21:9, 16:9, 4:3, 1:1, 3:4 a 9:16. Dokumentovány jsou také adaptivní rámování a automatická volba délky. Verze Fast má vlastní užší specifikaci výstupu 480p/720p.\n\nVýstup 4K používá kódování H.265/HEVC. Desetibitové kódování zachovává další tonální stupně a plynulejší barevné přechody, což je důležité u materiálu s jemnými světelnými či barevnými gradienty. Ověřte, že zamýšlené přehrávací a editační prostředí umí tento formát dekódovat; některé prohlížeče a zařízení jej přímo nepřehrají. Kompatibilní kontejner sám nezaručuje kompatibilní dekódování videa.\n\nModel může generovat synchronizovaný zvuk nebo tiché video a vrátit poslední generovaný snímek pro následující scénu. Generovaný zvuk je monofonní. Rodina 2.0 nepodporuje samostatný dvoufázový režim náhledu Draft, takže tuto náhledovou funkci nelze odvozovat od jiné verze Seedance.\n\n### Příprava referencí a podstatná omezení\n\nDokumentovaná referenční kapacita je až devět obrázků, tři videa a tři zvukové klipy. Přímé nahrávání referenčních obrázků nebo videí se skutečnými lidskými tvářemi není v tomto dokumentovaném profilu výrobce přijímáno; portrétní práce používá podporovaný postup portrétních podkladů. Každý video i zvukový klip musí mít délku 2–15 sekund. Všechny video reference dohromady se musí vejít do 15 sekund a všechny zvukové reference mají vlastní celkový limit 15 sekund. Video soubory používají MP4 nebo MOV při 24–60 fps, do 200 MB na soubor; zvukové soubory používají WAV nebo MP3, do 15 MB na soubor. Uvedené obrazové formáty jsou JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC a HEIF. Obrázky musí být jednotlivě menší než 30 MB a tělo požadavku nesmí překročit 64 MB. V dokumentovaném profilu referenčních vstupů musí šířka i výška obrázku ležet přísně mezi 300 a 6 000 pixely, s poměrem šířky k výšce přísně mezi 0,4 a 2,5. Referenční videa umožňují 300–6 000 pixelů v každém rozměru a poměry 0,4–2,5 včetně, s celkem 407 696–8 295 044 pixely. Videa MP4 nebo MOV používají obraz H.264/AVC nebo H.265/HEVC a zvuk AAC nebo MP3.\n\nSoubory záměrně seřaďte a odkazujte na každý typem média a číslem: Image 1, Video 1 a Audio 1. Číslo sleduje pořadí mezi soubory daného typu. Vysvětlete, které rysy přenést a který zdrojový obsah nemá definovat novou scénu. Dokumentované jazyky zadání zahrnují angličtinu, španělštinu, indonéštinu, portugalštinu a japonštinu. Mluvený jazyk v dialogu udržujte jednotný; příručka doporučuje nemíchat jazyky s výjimkou vlastních jmen. U práce vedené hlasem oddělte mluvčího, přesnou repliku a pokyn k přednesu.\n\nPrvní a poslední obrázek připravte s kompatibilním rámováním. Nesoulad vstupního obrázku a výstupních rozměrů může způsobit ořez nebo náhlou vizuální změnu; shodné rozměry a adaptivní rámování jsou dokumentovaná řešení. Popis soustřeďte na událost a role referencí. Výrobce varuje, že dlouhé prompty mohou rozptýlit informace a vést k ignorování podrobností. Výsledný pohyb, návaznost referencí, zvukové provedení a spoje mezi scénami kontrolujte jako samostatné části tvůrčího výsledku.\n\n### Plánování záběrů a vedení textu\n\nU složité scény uspořádejte zadání jako Shot 1, Shot 2 a Shot 3 a postupně určete kameru, akci objektu, polohu a zvuk. Příručka doporučuje jeden pohyb kamery na záběr a upřednostnění pomalých navazujících akcí. Přesné časové značky jednotlivých záběrů jsou nestabilní, proto je pořadí událostí lepším ovládáním než vynucování několika přesných časových oken.\n\nModel generuje také běžný text včetně sloganů, titulků a komiksových bublin. Lze řídit barvu, vizuální zpracování, umístění a nástup textu. Používejte běžné znaky místo vzácných znaků či zvláštních symbolů a kontrolujte znění za pohybu. U referencí objektů jasně přiřaďte každý podklad zamýšlené postavě nebo předmětu. Pohledy na produkt mohou dodat různé vizuální informace; koláže postavy z více stran mohou mást identitu tváře. Dokumentovaným doporučením pro referenci postavy je samostatný jasný portrét hlavy a snímek celé postavy.\n\n### Chování ke kontrole před střihem\n\nPříručka dokumentuje nežádoucí titulky, loga, duplicitní postavy a odchylky stylu. Čisté zdrojové materiály, jednotná označení a výslovná omezení tato rizika snižují, ale nezaručují vymizení nežádoucího textu nebo duplicitních postav. Více než čtyři referenční osoby je uváděno jako riziko stability, odlišné od počtu přijímaných souborů.\n\nProdlužování videa může ve spoji vytvořit skok nebo návrat a opakovaná pokračování mohou kumulovat zhoršení kvality obrazu. Zkontrolujte hraniční snímky a omezte navrstvená prodloužení. Referenční hlas se může lišit od zdrojové barvy; vyprávění může skončit cvaknutím či náhlým utnutím, pro které je dokumentovaným řešením zvukové ztišení. Čínské znaky s více výslovnostmi, neobvyklé znaky nebo podobně tvarované znaky mohou být vysloveny chybně. U přesného animovaného efektu, například odpočítávání, je pohybová reference informativnější než samotný slovní požadavek. To jsou konkrétní důvody kontrolovat při výběru klipu zvlášť identitu, text, pohyb a zvuk.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "eaca1a3192cbbc5456afdecbda9f6b7511182bd230697fcbfbb4fe7518f7b17d",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "cs",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">ByteDance: Seedance 2.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zavřít\">×</button></div><div class=\"idline\"><span>ByteDance /</span><code>bytedance/seedance-2.0</code><button type=\"button\" id=\"copy-id\">Zkopírovat ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sekce karty modelu\"><button type=\"button\" data-card-jump=\"overview\">Úvod</button><button type=\"button\" data-card-jump=\"methods\">Vstupy a metody</button><button type=\"button\" data-card-jump=\"pricing\">Tarify</button><button type=\"button\" data-card-jump=\"examples\">Pří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=\"Metody 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|bytedance%2Fseedance-2.0\">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\">ByteDance Seedance 2.0 spojuje nativní generování zvuku a videa s obrazovými, video a zvukovými referencemi. Režírujte nové scény, upravujte existující záznam nebo prodlužujte sekvenci; standardní verze zahrnuje dokumentovaný výstup 1080p a 10bitový 4K.</p><dl class=\"card-io\" data-card-io><div><dt>Přijímané vstupy</dt><dd>Text · Obrázky · Zvuk</dd></div><div><dt>Výsledky</dt><dd>Video</dd></div></dl><details class=\"card-about\"><summary>O modelu</summary><p class=\"note-s\" data-model-method-boundary>Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.</p><div class=\"mabout\" id=\"m-about\"><p>Seedance 2.0 je standardní model ByteDance Seed pro multimodální tvorbu zvuku a videa. Spojuje text, obrázky, videa a zvuk v architektuře společného generování, se samostatnými tvůrčími postupy pro scény vedené referencemi, úpravy a prodlužování videa. Hodí se tam, kde zadání potřebuje souvislý výkon i konkrétní vizuální nebo zvukové informace z připravených materiálů.</p><h4>Multimodální reference a režijní ovládání</h4><p>Obrázky mohou definovat vzhled objektu, vizuální styl a kompozici. Video reference mohou vést akci, pohyb kamery a efekty. Zvuk může řídit barvu hlasu, hudbu nebo dialog. Definujte roli každého materiálu a potom popište scénu, která má vzniknout. Výrobce zdůrazňuje ovládání přednesu, osvětlení, stínů a kamerového jazyka.</p><p>Pro produktový příběh připravte obrázek produktu, referenci pohybu kamery a zvukový pokyn. Zadání může znít: „Zachovej modrou skleněnou vázu z Image 1. Použij pomalý boční pojezd z Video 1. Váza stojí na sluncem osvětlené polici a zní jemná instrumentální hudba podle Audio 1.“ Zamýšleným výstupem je nově inscenovaná scéna spojující vybrané referenční informace.</p><p>Referenční vstupy mohou kombinovat obraz a zvuk, obraz a video, video a zvuk nebo všechny tři. Samotný zvuk a text se zvukem bez obrázku či videa nejsou podporovány. Dokumentovány jsou také tradiční převod textu na video, generování z prvního snímku a z prvního i posledního snímku. Jsou-li důležité pevné počáteční a koncové kompozice, použijte vyhrazený postup koncových bodů: označení referenčního obrázku jako koncového bodu v omni-reference zadání je pouze nepřímým vedením.</p><h4>Úprava záznamu</h4><p>Model může nahradit objekt, přidat nebo odstranit předměty, změnit prvky a překreslit či opravit části videa. Popište konkrétní změnu a identifikujte zdrojový záznam. U přidání zahrňte čas a polohu výskytu; u odstranění nebo nahrazení určete objekt přesně a pojmenujte, co má zůstat.</p><p>Například: „Nahraď stolní lampu ve videu Video 1 mosaznou lampou z Image 1. Zachovej pohyb kamery, uspořádání stolu a směr osvětlení.“ Požadovaným výsledkem je upravená verze scény se zamýšlenou náhradou. Zkontrolujte nezměněné oblasti i nový objekt, zvláště při zakrývání, pohybu a změnách záběru.</p><h4>Prodlužování a spojování sekvence</h4><p>Seedance 2.0 může prodloužit video dopředu nebo dozadu a propojit až tři dodané klipy generovanými přechody. Určete časový směr a novou událost. U spojovacího úseku seřaďte klipy a popište přechod mezi každou dvojicí, například kameru vstupující v jednom záběru do dveří a přicházející do dalšího prostředí.</p><p>Jednoduché prodloužení obvykle vrací pokračování rozvinuté kolem zdrojového záznamu; pokud má konečný výsledek také zopakovat původní segment, zahrňte jasný pokyn. Při dokončování spojení dvou či tří klipů může dokumentovaný postup zahrnout původní materiál i nový přechodový obsah. To se hodí pro rozvíjení začátku nebo konce či propojení připravených scén bez neurčité spojovací akce.</p><h4>Výstup standardní verze a 4K</h4><p>Standardní verze dokumentuje MP4 při 24 fps a délky od 4 do 15 sekund. Výstupní úrovně jsou 480p, 720p a 1080p s 8bitovou barevnou hloubkou a 4K s 10bitovou barevnou hloubkou. Podporované poměry jsou 21:9, 16:9, 4:3, 1:1, 3:4 a 9:16. Dokumentovány jsou také adaptivní rámování a automatická volba délky. Verze Fast má vlastní užší specifikaci výstupu 480p/720p.</p><p>Výstup 4K používá kódování H.265/HEVC. Desetibitové kódování zachovává další tonální stupně a plynulejší barevné přechody, což je důležité u materiálu s jemnými světelnými či barevnými gradienty. Ověřte, že zamýšlené přehrávací a editační prostředí umí tento formát dekódovat; některé prohlížeče a zařízení jej přímo nepřehrají. Kompatibilní kontejner sám nezaručuje kompatibilní dekódování videa.</p><p>Model může generovat synchronizovaný zvuk nebo tiché video a vrátit poslední generovaný snímek pro následující scénu. Generovaný zvuk je monofonní. Rodina 2.0 nepodporuje samostatný dvoufázový režim náhledu Draft, takže tuto náhledovou funkci nelze odvozovat od jiné verze Seedance.</p><h4>Příprava referencí a podstatná omezení</h4><p>Dokumentovaná referenční kapacita je až devět obrázků, tři videa a tři zvukové klipy. Přímé nahrávání referenčních obrázků nebo videí se skutečnými lidskými tvářemi není v tomto dokumentovaném profilu výrobce přijímáno; portrétní práce používá podporovaný postup portrétních podkladů. Každý video i zvukový klip musí mít délku 2–15 sekund. Všechny video reference dohromady se musí vejít do 15 sekund a všechny zvukové reference mají vlastní celkový limit 15 sekund. Video soubory používají MP4 nebo MOV při 24–60 fps, do 200 MB na soubor; zvukové soubory používají WAV nebo MP3, do 15 MB na soubor. Uvedené obrazové formáty jsou JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC a HEIF. Obrázky musí být jednotlivě menší než 30 MB a tělo požadavku nesmí překročit 64 MB. V dokumentovaném profilu referenčních vstupů musí šířka i výška obrázku ležet přísně mezi 300 a 6 000 pixely, s poměrem šířky k výšce přísně mezi 0,4 a 2,5. Referenční videa umožňují 300–6 000 pixelů v každém rozměru a poměry 0,4–2,5 včetně, s celkem 407 696–8 295 044 pixely. Videa MP4 nebo MOV používají obraz H.264/AVC nebo H.265/HEVC a zvuk AAC nebo MP3.</p><p>Soubory záměrně seřaďte a odkazujte na každý typem média a číslem: Image 1, Video 1 a Audio 1. Číslo sleduje pořadí mezi soubory daného typu. Vysvětlete, které rysy přenést a který zdrojový obsah nemá definovat novou scénu. Dokumentované jazyky zadání zahrnují angličtinu, španělštinu, indonéštinu, portugalštinu a japonštinu. Mluvený jazyk v dialogu udržujte jednotný; příručka doporučuje nemíchat jazyky s výjimkou vlastních jmen. U práce vedené hlasem oddělte mluvčího, přesnou repliku a pokyn k přednesu.</p><p>První a poslední obrázek připravte s kompatibilním rámováním. Nesoulad vstupního obrázku a výstupních rozměrů může způsobit ořez nebo náhlou vizuální změnu; shodné rozměry a adaptivní rámování jsou dokumentovaná řešení. Popis soustřeďte na událost a role referencí. Výrobce varuje, že dlouhé prompty mohou rozptýlit informace a vést k ignorování podrobností. Výsledný pohyb, návaznost referencí, zvukové provedení a spoje mezi scénami kontrolujte jako samostatné části tvůrčího výsledku.</p><h4>Plánování záběrů a vedení textu</h4><p>U složité scény uspořádejte zadání jako Shot 1, Shot 2 a Shot 3 a postupně určete kameru, akci objektu, polohu a zvuk. Příručka doporučuje jeden pohyb kamery na záběr a upřednostnění pomalých navazujících akcí. Přesné časové značky jednotlivých záběrů jsou nestabilní, proto je pořadí událostí lepším ovládáním než vynucování několika přesných časových oken.</p><p>Model generuje také běžný text včetně sloganů, titulků a komiksových bublin. Lze řídit barvu, vizuální zpracování, umístění a nástup textu. Používejte běžné znaky místo vzácných znaků či zvláštních symbolů a kontrolujte znění za pohybu. U referencí objektů jasně přiřaďte každý podklad zamýšlené postavě nebo předmětu. Pohledy na produkt mohou dodat různé vizuální informace; koláže postavy z více stran mohou mást identitu tváře. Dokumentovaným doporučením pro referenci postavy je samostatný jasný portrét hlavy a snímek celé postavy.</p><h4>Chování ke kontrole před střihem</h4><p>Příručka dokumentuje nežádoucí titulky, loga, duplicitní postavy a odchylky stylu. Čisté zdrojové materiály, jednotná označení a výslovná omezení tato rizika snižují, ale nezaručují vymizení nežádoucího textu nebo duplicitních postav. Více než čtyři referenční osoby je uváděno jako riziko stability, odlišné od počtu přijímaných souborů.</p><p>Prodlužování videa může ve spoji vytvořit skok nebo návrat a opakovaná pokračování mohou kumulovat zhoršení kvality obrazu. Zkontrolujte hraniční snímky a omezte navrstvená prodloužení. Referenční hlas se může lišit od zdrojové barvy; vyprávění může skončit cvaknutím či náhlým utnutím, pro které je dokumentovaným řešením zvukové ztišení. Čínské znaky s více výslovnostmi, neobvyklé znaky nebo podobně tvarované znaky mohou být vysloveny chybně. U přesného animovaného efektu, například odpočítávání, je pohybová reference informativnější než samotný slovní požadavek. To jsou konkrétní důvody kontrolovat při výběru klipu zvlášť identitu, text, pohyb a zvuk.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Dostupné v Ailoot · vstupy a metody</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>, <code>image</code>, <code>audio</code></dd></div><div><dt>Výstup</dt><dd><code>video</code></dd></div><div><dt>Výstupní formát</dt><dd>původní bajty MP4; bez normalizace a překódování</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Pole</th><th>Typ</th><th>Požadavek</th><th>Hodnoty a limity</th><th>Výchozí</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žadavek\"><span class=\"card-cell-label\">Požadavek</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>bytedance/seedance-2.0</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</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žadavek\"><span class=\"card-cell-label\">Požadavek</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</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žadavek\"><span class=\"card-cell-label\">Požadavek</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15</div><div>Minimum: 1</div><div>Maximum: 600</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</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žadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>480p, 720p, 1080p, 4K</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</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žadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>1:1, 3:4, 9:16, 4:3, 16:9, 21:9, 9:21</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</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žadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>false, true</div><div>Podmínky: U 480p a 720p vynechání generate_audio zvolí cenu se zvukem, zatímco false zvolí cenu bez zvuku. U 1080p a 4K platí cena daného rozlišení pro obě nastavení. Přítomnost vrácené zvukové stopy ověřte v poli has_audio výsledku.</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</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\">frame_images</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>array</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Minimální počet položek: 1</div><div>Maximální počet položek: 2</div><div>Vstupní obsah: Pole objektů snímků. Každý obsahuje type=image_url, image_url obsahující url a frame_type=first_frame nebo last_frame. Každá role se smí vyskytnout nejvýše jednou. Používejte veřejné HTTPS URL.</div><div>Přesné klíče: type, image_url, frame_type</div><div>Podmínky: Tyto klíče platí pro každý objekt snímku. Pro požadavek obsahující pouze text vynechte frame_images.</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</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\">input_references</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>array</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Vstupní obsah: Pole objektů obrazových nebo zvukových referencí. Nastavte type na image_url nebo audio_url a zadejte odpovídající objekt URL obsahující url. Video reference stále nelze ocenit.</div><div>Podmínky: Pro režim referencí vynechte frame_images. Používejte veřejné HTTPS URL.</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</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\">size</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žadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>480x480, 480x640, 480x854, 640x480, 854x480, 1120x480, 720x720, 720x960, 720x1280, 720x1680, 960x720, 1280x720, 1680x720, 1080x1080, 1080x1440, 1080x1920, 1440x1080, 1920x1080, 2520x1080, 3840x2160, 2160x3840, 2160x2160, 2880x2160, 2160x2880, 5040x2160</div><div>Vzor: ^[1-9][0-9]*x[1-9][0-9]*$</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</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\">seed</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žadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Minimum: -9 223 372 036 854 775 808</div><div>Maximum: 9 223 372 036 854 775 807</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</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\">callback_url</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žadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Vzor: ^https://</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</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\">session_id</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žadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</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\">trace</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>object</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</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\">user</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žadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kombinace vstupních materiálů</summary><p class=\"note-s\"><b>Text na video</b> · Textové zadání. · Povinné: model, prompt, duration</p><p class=\"note-s\"><code>Zadejte textové zadání a podporovanou délku v celých sekundách. Použijte přesnou uvedenou velikost nebo rozlišení a poměr stran, které odpovídají uvedeným rozměrům.</code></p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Typ: string · bytedance/seedance-2.0</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Typ: string · Maximální počet bajtů UTF-8: 10 000 · Vyžadován obsah kromě bílých znaků: Ano</p><p class=\"note-s\"><b>Obrázek na video</b> · Textové zadání a obrázek snímku. · Povinné: model, prompt, duration, frame_images</p><p class=\"note-s\"><code>frame_images je pole objektů s type=image_url, image_url obsahujícím url a frame_type. Použijte veřejnou HTTPS URL obrázku; first_frame i last_frame se smí vyskytnout každý jednou. Použijte uvedenou velikost výstupu nebo kompatibilní rozměry. Nepřidávejte video reference.</code></p><p class=\"note-s\">Přesné klíče: type, image_url, frame_type</p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Typ: string · bytedance/seedance-2.0</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Typ: string · Maximální počet bajtů UTF-8: 10 000 · Vyžadován obsah kromě bílých znaků: Ano</p><p class=\"note-s\"><b>Reference to video</b> · Textové zadání a obrazové nebo zvukové reference. · Povinné: model, prompt, duration, input_references</p><p class=\"note-s\"><code>input_references je pole. Každý objekt obsahuje type=image_url nebo type=audio_url a odpovídající objekt URL obsahující url. Používejte veřejné HTTPS odkazy. Vynecháním frame_images zvolíte režim referencí. Video reference nelze ocenit.</code></p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Typ: string · bytedance/seedance-2.0</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Typ: string · Maximální počet bajtů UTF-8: 10 000 · Vyžadován obsah kromě bílých znaků: Ano</p></details><details class=\"note-s\" data-method-contract><summary>Parametry a životní cyklus metody</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Kontrakt</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>model, prompt, duration</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_types</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>text, image, audio</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>additional_properties</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>false</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>optional_controls</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>resolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user</td></tr></tbody></table></div><p>Životní cyklus: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_id}/content</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarify</h3><div class=\"card-result-process\" data-billing-basis><h5>Jak se vypočítá konečný poplatek</h5><p class=\"note-s\">Zobrazené sazby slouží k odhadu ceny před generováním. Konečný poplatek se vypočítá z nákladů zaznamenaných u původního generování. Naměřená délka výstupu ani odhadovaná množství nejsou konečným účtovaným množstvím.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.</p><dl data-price-conditions><dt>Rychlý režim</dt><dd>Neuvedeno <span class=\"note-s\">Při výběru rychlého režimu</span></dd><dt>Režim flex</dt><dd>Neuvedeno <span class=\"note-s\">Při výběru režimu flex</span></dd><dt>Maximální intenzita uvažování</dt><dd>Neuvedeno <span class=\"note-s\">Když se při maximální intenzitě uvažování použije výchozí úprava (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Odhadované sazby pro srovnání</h4><h4>Ceny podle konfigurace</h4><p class=\"note-s\">Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurace</th><th>Tabulka sazeb</th><th>Předpokládané množství</th><th>Účtovací jednotka</th><th>Podmínky účtování</th><th>Poplatek</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Základní sazby za tokeny</th><td data-cell-label=\"Tabulka sazeb\"><span class=\"card-cell-label\">Tabulka sazeb</span>Základní sazba</td><td data-cell-label=\"Předpokládané množství\"><span class=\"card-cell-label\">Předpokládané množství</span>—</td><td data-cell-label=\"Účtovací jednotka\"><span class=\"card-cell-label\">Účtovací jednotka</span>—</td><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>—</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Vstup · Vstupní tokeny · Odhad pouze pro srovnání</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Výstup · Výstupní tokeny · Odhad pouze pro srovnání</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Vstup · Čtení z mezipaměti · Odhad pouze pro srovnání</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Vstup · Zápis do mezipaměti · Odhad pouze pro srovnání</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Vstup · Zápis do mezipaměti, 1 hodina · Odhad pouze pro srovnání</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Tabulka sazeb\"><span class=\"card-cell-label\">Tabulka sazeb</span>—</td><td data-cell-label=\"Předpokládané množství\"><span class=\"card-cell-label\">Předpokládané množství</span>—</td><td data-cell-label=\"Účtovací jednotka\"><span class=\"card-cell-label\">Účtovací jednotka</span>za 1K videotokenů</td><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>V tomto cenovém klíči není uvedena žádná další podmínka.</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Výstup · Cena tokenu videa · Odhad pouze pro srovnání</span> <b>$0.014</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Tabulka sazeb\"><span class=\"card-cell-label\">Tabulka sazeb</span>—</td><td data-cell-label=\"Předpokládané množství\"><span class=\"card-cell-label\">Předpokládané množství</span>—</td><td data-cell-label=\"Účtovací jednotka\"><span class=\"card-cell-label\">Účtovací jednotka</span>za 1K videotokenů</td><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>resolution: 1080p</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Výstup · Cena tokenu videa · Odhad pouze pro srovnání</span> <b>$0.0154</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Tabulka sazeb\"><span class=\"card-cell-label\">Tabulka sazeb</span>—</td><td data-cell-label=\"Předpokládané množství\"><span class=\"card-cell-label\">Předpokládané množství</span>—</td><td data-cell-label=\"Účtovací jednotka\"><span class=\"card-cell-label\">Účtovací jednotka</span>za 1K videotokenů</td><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>vstup: with_video_input; rozlišení: 1080p</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>reference · Cena tokenu videa · Odhad pouze pro srovnání</span> <b>$0.0094</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Tabulka sazeb\"><span class=\"card-cell-label\">Tabulka sazeb</span>—</td><td data-cell-label=\"Předpokládané množství\"><span class=\"card-cell-label\">Předpokládané množství</span>—</td><td data-cell-label=\"Účtovací jednotka\"><span class=\"card-cell-label\">Účtovací jednotka</span>za 1K videotokenů</td><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>resolution: 4k</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Výstup · Cena tokenu videa · Odhad pouze pro srovnání</span> <b>$0.008</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Tabulka sazeb\"><span class=\"card-cell-label\">Tabulka sazeb</span>—</td><td data-cell-label=\"Předpokládané množství\"><span class=\"card-cell-label\">Předpokládané množství</span>—</td><td data-cell-label=\"Účtovací jednotka\"><span class=\"card-cell-label\">Účtovací jednotka</span>za 1K videotokenů</td><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>vstup: with_video_input; rozlišení: 4k</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>reference · Cena tokenu videa · Odhad pouze pro srovnání</span> <b>$0.0048</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Tabulka sazeb\"><span class=\"card-cell-label\">Tabulka sazeb</span>—</td><td data-cell-label=\"Předpokládané množství\"><span class=\"card-cell-label\">Předpokládané množství</span>—</td><td data-cell-label=\"Účtovací jednotka\"><span class=\"card-cell-label\">Účtovací jednotka</span>za 1K videotokenů</td><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>vstup: with_video_input</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>reference · Cena tokenu videa · Odhad pouze pro srovnání</span> <b>$0.0086</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Tabulka sazeb\"><span class=\"card-cell-label\">Tabulka sazeb</span>—</td><td data-cell-label=\"Předpokládané množství\"><span class=\"card-cell-label\">Předpokládané množství</span>—</td><td data-cell-label=\"Účtovací jednotka\"><span class=\"card-cell-label\">Účtovací jednotka</span>za 1K videotokenů</td><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>zvuk: without_audio</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Výstup · Cena tokenu videa · Odhad pouze pro srovnání</span> <b>$0.014</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Odhadovaná cena generování</th><td data-cell-label=\"Tabulka sazeb\"><span class=\"card-cell-label\">Tabulka sazeb</span>—</td><td data-cell-label=\"Předpokládané množství\"><span class=\"card-cell-label\">Předpokládané množství</span>odhad pro jedno generování</td><td data-cell-label=\"Účtovací jednotka\"><span class=\"card-cell-label\">Účtovací jednotka</span>—</td><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>—</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Výstup · Odhadovaná cena generování · Odhad pouze pro srovnání</span> <b>$0.3024</b> <span class=\"price-unit\">odhad před generováním</span></div><p class=\"note-s\">Tento odhad není dodatečným poplatkem ani pevnou sazbou za dokončené generování.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. <a href=\"/docs/cs/billing/reserve/\">Jak funguje rezervace a vyúčtování →</a></p><div data-declared-reference-pricing><h4>Podrobnosti referenčního tarifu</h4><p class=\"note-s\">Referenční tabulky modelu nemění výběr metody, cenové nabídky ani poplatky. Skutečné poplatky používají sazby vybrané metody Ailoot.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Cenové reference konfigurací videa</summary><h4>Ceny podle konfigurace</h4><p class=\"note-s\">Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurace</th><th>Podmínky účtování</th><th>Poplatek</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>V tomto cenovém klíči není uvedena žádná další podmínka.</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Výstup · Cena tokenu videa</span> <b>$0.014</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>resolution: 4k</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Výstup · Cena tokenu videa</span> <b>$0.008</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>resolution: 1080p</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Výstup · Cena tokenu videa</span> <b>$0.0154</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>zvuk: without_audio</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Výstup · Cena tokenu videa</span> <b>$0.014</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>vstup: with_video_input</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>reference · Cena tokenu videa</span> <b>$0.0086</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>vstup: with_video_input; rozlišení: 4k</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>reference · Cena tokenu videa</span> <b>$0.0048</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Cena tokenu videa</th><td data-cell-label=\"Podmínky účtování\"><span class=\"card-cell-label\">Podmínky účtování</span>vstup: with_video_input; rozlišení: 1080p</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>reference · Cena tokenu videa</span> <b>$0.0094</b> <span class=\"price-unit\">za 1K videotokenů</span></div><p class=\"note-s\">Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.</p></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Příklady požadavků</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-1131-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1131-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · vytvořte video</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Zkopírovat 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-1131-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1131-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nfrom pathlib import Path\nPath(&#39;request.json&#39;).write_text(&#39;{&quot;model&quot;:&quot;bytedance/seedance-2.0&quot;,&quot;prompt&quot;:&quot;A serene mountain landscape at sunset&quot;,&quot;duration&quot;:4,&quot;resolution&quot;:&quot;480p&quot;,&quot;size&quot;:&quot;480x480&quot;,&quot;generate_audio&quot;:false}&#39;, encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Přijímání a ukládání výsledků</h3><h4>Ailoot Ultra · Video</h4><p class=\"note-s\">podepsané URL obsahu spravovaného službou</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{public_id}</code></li><li><code>GET /v1/videos/{public_id}/content</code></li></ul><h5>Ověřit 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-1132-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1132-panel-0\" aria-selected=\"true\" tabindex=\"0\">Získat stav původní operace pomocí GET</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Zkopírovat 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-1132-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1132-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_STATUS_URL&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nif not isinstance(r.get(&#39;id&#39;),str) or not r[&#39;id&#39;]:raise SystemExit(&#39;Keep the original response and headers for reconciliation; no returned ID&#39;)\nPath(&#39;status-url.txt&#39;).write_text(&#39;https://api.ailoot.ai/v1/videos/&#39;+quote(r[&#39;id&#39;],safe=&#39;&#39;))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error &quot;$(cat status-url.txt)&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -D status-headers.txt -o status.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div><details class=\"card-about\"><summary>Další načtení 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-1133-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1133-panel-0\" aria-selected=\"true\" tabindex=\"0\">Uložte každý dokončený výstup, který vám patří</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Zkopírovat 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-1133-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1133-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nif r.get(&#39;status&#39;)!=&#39;completed&#39;:raise SystemExit(&#39;Keep the original ID and read its status; never recreate an unknown job&#39;)\nif not isinstance(r.get(&#39;data&#39;),list) or not r[&#39;data&#39;]:raise SystemExit(&#39;Keep the complete original status; no completed outputs supplied&#39;)\nurls=[]\nfor i,u in enumerate(r.get(&#39;data&#39;,[])):\n    if not isinstance(u,str):raise SystemExit(&#39;Keep the original response; unexpected asset shape&#39;)\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin(&#39;https://api.ailoot.ai&#39;,path);z=urlsplit(u)\n    if z.scheme!=&#39;https&#39; or z.netloc!=&#39;api.ailoot.ai&#39; or z.username or z.password:raise SystemExit(&#39;Use the actual returned Ailoot owned content URL&#39;)\n    target=Path(&#39;owned-&#39;+label+&#39;.bin&#39;)\n    subprocess.run([&#39;curl&#39;,&#39;--fail-with-body&#39;,&#39;--silent&#39;,&#39;--show-error&#39;,u,&#39;-H&#39;,&#39;Authorization: Bearer &#39;+os.environ[&#39;AILOOT_API_KEY&#39;],&#39;-D&#39;,str(target)+&#39;.headers&#39;,&#39;-o&#39;,str(target)],check=True)\nprint(&#39;All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.&#39;)\nPY_ASSETS\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Uchovejte všechny dokončené výsledky</h5><p class=\"note-s\">Uložte každé dokončené video či vrácený soubor; stáhněte obsah každé skutečně vrácené URL souboru.</p><p class=\"note-s\">Uchovejte každý skutečný výstup spravovaný službou a jeho vrácená metadata s naměřenými hodnotami.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Pokud je nutné ověřit původní odpověď</h5><p class=\"note-s\">503 result_pending_check + původní id + X-Should-Retry:false; původní požadavek nikdy neopakujte</p></div><details class=\"card-about\" data-output-fields><summary>Pole odpovědi</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\">index</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Pozice tohoto videa v seznamu výstupů, číslovaná od nuly.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">content_url</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>Podepsaná HTTPS URL pro stažení tohoto dokončeného videa.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">sha256</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string | null</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Otisk SHA-256 původních bajtů videa; null, není-li dostupný.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">size_bytes</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer | null</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Velikost původního videosouboru v bajtech; null, není-li dostupná.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">duration_ms</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer | null</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Naměřená délka videa v milisekundách; null, není-li dostupná.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">width</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer | null</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Šířka videa v pixelech; null, není-li dostupná.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">height</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer | null</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Výška videa v pixelech; null, není-li dostupná.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">video_codec</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string | null</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Identifikátor video kodeku; null, není-li zaznamenán.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">has_audio</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>boolean | null</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Zda video obsahuje zvukovou stopu; null, nebylo-li změřeno.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">audio_codec</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string | null</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Identifikátor zvukového kodeku; null, není-li žádný identifikátor zaznamenán.</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Chyby a další kroky</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Odpověď</th><th>Podmínka</th><th>Další krok</th></tr></thead><tbody><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Přístup k videu není dostupný nebo toto ID videa nebylo nalezeno.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Zkontrolujte přístup k videu. U existujícího videa použijte jeho původní veřejné ID a stejný klíč API.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Klíč API neodpovídá ověřenému účtu.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Před odesláním zkontrolujte svůj klíč API a přístup k účtu.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Požadavek se nepodařilo načíst nebo je index pro stažení neplatný.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Opravte tělo požadavku. Pro stažení vyberte index výstupu vrácený původní úlohou.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Vybranou konfiguraci videa nelze ocenit.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Před odesláním opraveného požadavku zvolte podporovanou konfiguraci videa a vyplňte její povinné volby.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>422 · <code>invalid_request_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Vstup videa nebo původní úloha pro pokračování jsou neplatné.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Používejte platné HTTPS vstupy. Pro pokračování použijte původní veřejné ID svého dokončeného videa se stejným klíčem API.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>402 · <code>billing_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Dostupný zůstatek nebo limity neumožňují rezervaci.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Před odesláním nového požadavku zkontrolujte dostupný zůstatek a limity.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>503 · <code>server_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Ověřování videa, úložiště nebo přístup ke službě jsou dočasně nedostupné.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Počkejte na dostupnost služby. Pokud už máte ID videa, kontrolujte tuto původní úlohu místo vytváření dalšího generování.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>503 · <code>result_pending_check</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Původní výsledek videa a vyúčtovanou částku je třeba zkontrolovat.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Uchovejte vrácené ID videa a kontrolujte tuto úlohu. Dokud probíhá kontrola, neposílejte náhradní požadavek na generování.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>503 · <code>owned_result_unavailable</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Stávající video je dočasně nedostupné ke stažení.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Později zkontrolujte tutéž úlohu videa a stáhněte její existující výstup. Nové generování vytvoří samostatnou operaci.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>409 · <code>video_not_ready</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Obsah videa nebyl zveřejněn.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Zkontrolujte stav původní úlohy. Stáhněte výstup, až nahlásí completed; nahlásí-li failed, řiďte se jejím upozorněním na kontrolu vyúčtování.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasy</h3><h4>Aliasy modelu</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=bytedance%2Fseedance-2.0&amp;route=Ultra&amp;caller=bytedance%2Fseedance-2.0&amp;fmt=videos\"><code>bytedance/seedance-2.0</code></a></span></p><h4>Aliasy cest metod</h4><p class=\"note-s\">Použijte cesty metod uvedené výše.</p><h4>Související ID modelů</h4><p class=\"note-s\"><a href=\"#m=bytedance%2Fseedance-2.0&amp;route=Ultra&amp;caller=bytedance%2Fseedance-2.0&amp;fmt=videos\"><code>bytedance/seedance-2.0</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "bytedance/seedance-2.0",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "bytedance/seedance-2.0",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|bytedance%2Fseedance-2.0",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Zobrazené sazby slouží k odhadu ceny před generováním. Konečný poplatek se vypočítá z nákladů zaznamenaných u původního generování. Naměřená délka výstupu ani odhadovaná množství nejsou konečným účtovaným množstvím.",
          "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": "Uchovejte každý skutečný výstup spravovaný službou a jeho vrácená metadata s naměřenými hodnotami.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "Přístup k videu není dostupný nebo toto ID videa nebylo nalezeno.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "Zkontrolujte přístup k videu. U existujícího videa použijte jeho původní veřejné ID a stejný klíč API.",
                "type": "not_found_error"
              },
              {
                "condition": "Klíč API neodpovídá ověřenému účtu.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "Před odesláním zkontrolujte svůj klíč API a přístup k účtu.",
                "type": "authentication_error"
              },
              {
                "condition": "Požadavek se nepodařilo načíst nebo je index pro stažení neplatný.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "Opravte tělo požadavku. Pro stažení vyberte index výstupu vrácený původní úlohou.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Vybranou konfiguraci videa nelze ocenit.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Před odesláním opraveného požadavku zvolte podporovanou konfiguraci videa a vyplňte její povinné volby.",
                "type": "price_unavailable"
              },
              {
                "condition": "Vstup videa nebo původní úloha pro pokračování jsou neplatné.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Používejte platné HTTPS vstupy. Pro pokračování použijte původní veřejné ID svého dokončeného videa se stejným klíčem API.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Dostupný zůstatek nebo limity neumožňují rezervaci.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "Před odesláním nového požadavku zkontrolujte dostupný zůstatek a limity.",
                "type": "billing_error"
              },
              {
                "condition": "Ověřování videa, úložiště nebo přístup ke službě jsou dočasně nedostupné.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "Počkejte na dostupnost služby. Pokud už máte ID videa, kontrolujte tuto původní úlohu místo vytváření dalšího generování.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Původní výsledek videa a vyúčtovanou částku je třeba zkontrolovat.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Uchovejte vrácené ID videa a kontrolujte tuto úlohu. Dokud probíhá kontrola, neposílejte náhradní požadavek na generování.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "Stávající video je dočasně nedostupné ke stažení.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Později zkontrolujte tutéž úlohu videa a stáhněte její existující výstup. Nové generování vytvoří samostatnou operaci.",
                "type": "server_error"
              },
              {
                "condition": "Obsah videa nebyl zveřejněn.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "Zkontrolujte stav původní úlohy. Stáhněte výstup, až nahlásí completed; nahlásí-li failed, řiďte se jejím upozorněním na kontrolu vyúčtování.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + původní id + X-Should-Retry:false; původní požadavek nikdy neopakujte"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Zadejte textové zadání a podporovanou délku v celých sekundách. Použijte přesnou uvedenou velikost nebo rozlišení a poměr stran, které odpovídají uvedeným rozměrům.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Textové zadání."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images je pole objektů s type=image_url, image_url obsahujícím url a frame_type. Použijte veřejnou HTTPS URL obrázku; first_frame i last_frame se smí vyskytnout každý jednou. Použijte uvedenou velikost výstupu nebo kompatibilní rozměry. Nepřidávejte video reference.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Textové zadání a obrázek snímku."
              },
              {
                "mode": "Reference to video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "input_references je pole. Každý objekt obsahuje type=image_url nebo type=audio_url a odpovídající objekt URL obsahující url. Používejte veřejné HTTPS odkazy. Vynecháním frame_images zvolíte režim referencí. Video reference nelze ocenit.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "input_references"
                ],
                "required_material": "Textové zadání a obrazové nebo zvukové reference."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images",
              "reference_to_video"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "Pozice tohoto videa v seznamu výstupů, číslovaná od nuly.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "Podepsaná HTTPS URL pro stažení tohoto dokončeného videa.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "Otisk SHA-256 původních bajtů videa; null, není-li dostupný.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "Velikost původního videosouboru v bajtech; null, není-li dostupná.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "Naměřená délka videa v milisekundách; null, není-li dostupná.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Šířka videa v pixelech; null, není-li dostupná.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Výška videa v pixelech; null, není-li dostupná.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "Identifikátor video kodeku; null, není-li zaznamenán.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "Zda video obsahuje zvukovou stopu; null, nebylo-li změřeno.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "Identifikátor zvukového kodeku; null, není-li žádný identifikátor zaznamenán.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "podepsané URL obsahu spravovaného službou",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "bytedance/seedance-2.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "bytedance/seedance-2.0"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480p",
                  "720p",
                  "1080p",
                  "4K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p",
                    "4K"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "1:1",
                  "3:4",
                  "9:16",
                  "4:3",
                  "16:9",
                  "21:9",
                  "9:21"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "9:16",
                    "4:3",
                    "16:9",
                    "21:9",
                    "9:21"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "U 480p a 720p vynechání generate_audio zvolí cenu se zvukem, zatímco false zvolí cenu bez zvuku. U 1080p a 4K platí cena daného rozlišení pro obě nastavení. Přítomnost vrácené zvukové stopy ověřte v poli has_audio výsledku.",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Tyto klíče platí pro každý objekt snímku. Pro požadavek obsahující pouze text vynechte frame_images.",
                "content": "Pole objektů snímků. Každý obsahuje type=image_url, image_url obsahující url a frame_type=first_frame nebo last_frame. Každá role se smí vyskytnout nejvýše jednou. Používejte veřejné HTTPS URL.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 2,
                "max_items": 2,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "Pro režim referencí vynechte frame_images. Používejte veřejné HTTPS URL.",
                "content": "Pole objektů obrazových nebo zvukových referencí. Nastavte type na image_url nebo audio_url a zadejte odpovídající objekt URL obsahující url. Video reference stále nelze ocenit.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "audio_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "audio_url"
                          }
                        },
                        "required": [
                          "type",
                          "audio_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480x480",
                  "480x640",
                  "480x854",
                  "640x480",
                  "854x480",
                  "1120x480",
                  "720x720",
                  "720x960",
                  "720x1280",
                  "720x1680",
                  "960x720",
                  "1280x720",
                  "1680x720",
                  "1080x1080",
                  "1080x1440",
                  "1080x1920",
                  "1440x1080",
                  "1920x1080",
                  "2520x1080",
                  "3840x2160",
                  "2160x3840",
                  "2160x2160",
                  "2880x2160",
                  "2160x2880",
                  "5040x2160"
                ],
                "enum_known": true,
                "name": "size",
                "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                "required": false,
                "schema": {
                  "enum": [
                    "480x480",
                    "480x640",
                    "480x854",
                    "640x480",
                    "854x480",
                    "1120x480",
                    "720x720",
                    "720x960",
                    "720x1280",
                    "720x1680",
                    "960x720",
                    "1280x720",
                    "1680x720",
                    "1080x1080",
                    "1080x1440",
                    "1080x1920",
                    "1440x1080",
                    "1920x1080",
                    "2520x1080",
                    "3840x2160",
                    "2160x3840",
                    "2160x2160",
                    "2880x2160",
                    "2160x2880",
                    "5040x2160"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 9223372036854775807,
                "minimum": -9223372036854775808,
                "name": "seed",
                "required": false,
                "schema": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "9:16",
                    "4:3",
                    "16:9",
                    "21:9",
                    "9:21"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "audio_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "audio_url"
                          }
                        },
                        "required": [
                          "type",
                          "audio_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "model": {
                  "const": "bytedance/seedance-2.0"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p",
                    "4K"
                  ]
                },
                "seed": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": {
                  "enum": [
                    "480x480",
                    "480x640",
                    "480x854",
                    "640x480",
                    "854x480",
                    "1120x480",
                    "720x720",
                    "720x960",
                    "720x1280",
                    "720x1680",
                    "960x720",
                    "1280x720",
                    "1680x720",
                    "1080x1080",
                    "1080x1440",
                    "1080x1920",
                    "1440x1080",
                    "1920x1080",
                    "2520x1080",
                    "3840x2160",
                    "2160x3840",
                    "2160x2160",
                    "2880x2160",
                    "2160x2880",
                    "5040x2160"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist.",
                "Request geometry is required for the pre-generation estimate and reserve. Returned geometry and track time describe the generated output; final charge follows the actual billed configuration.",
                "Video references with *_with_video_input quantity are rejected; image/audio references only where model reference types admit them."
              ]
            },
            "unsupported": [
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image",
              "audio"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "size",
              "seed",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images",
            "reference_to_video"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.0154000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000154",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "input: with_video_input; resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.0094000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000094",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "resolution: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000008",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "vstup: with_video_input; rozlišení: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.0048000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000048",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "input: with_video_input",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.0086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000086",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_without_audio",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Tento odhad není dodatečným poplatkem ani pevnou sazbou za dokončené generování.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Odhadovaná cena generování",
            "units": [
              {
                "amount": "0.3024",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.3024",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nfrom pathlib import Path\nPath('request.json').write_text('{\"model\":\"bytedance/seedance-2.0\",\"prompt\":\"A serene mountain landscape at sunset\",\"duration\":4,\"resolution\":\"480p\",\"size\":\"480x480\",\"generate_audio\":false}', encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0154000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000154",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input; resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0094000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000094",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "resolution: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000008",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input; resolution: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0048000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000048",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000086",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_without_audio",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.3024",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.3024",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "bytedance/seedance-2.0",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.014000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.000014",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0154000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_1080p",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000154",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0094000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_1080p_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000094",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.008000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_4k",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.000008",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0048000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_4k_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000048",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.0086000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000086",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.014000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_without_audio",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.000014",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.3024",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.3024",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "bytedance/seedance-2.0",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "b188fb87310faf48bf907b3291f69d135cf03c415efafbd4ab4a5766834f06bd",
    "input_html_sha256": "a4d0114c0f1eb214f0608811a917fa957ddd0be58ff4fffc2e60bae78fff1154",
    "private_audit_sha256": "656e3d7aab73773272c7453934130aeb0acdebc4257d06cd2d751f9f561b68f2",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/cs/bytedance-seedance-2-0/",
    "description": "ByteDance Seedance 2.0 spojuje nativní generování zvuku a videa s obrazovými, video a zvukovými referencemi. Režírujte nové scény, upravujte existující záznam nebo prodlužujte sekvenci; standardní verze zahrnuje dokumentovaný výstup 1080p a 10bitový 4K.",
    "locale": "cs",
    "md_url": "https://ailoot.ai/models/cs/bytedance-seedance-2-0/index.md",
    "title": "ByteDance: Seedance 2.0 — Ailoot",
    "url": "https://ailoot.ai/models/cs/bytedance-seedance-2-0/"
  },
  "rawModel": {
    "about": "Seedance 2.0 je standardní model ByteDance Seed pro multimodální tvorbu zvuku a videa. Spojuje text, obrázky, videa a zvuk v architektuře společného generování, se samostatnými tvůrčími postupy pro scény vedené referencemi, úpravy a prodlužování videa. Hodí se tam, kde zadání potřebuje souvislý výkon i konkrétní vizuální nebo zvukové informace z připravených materiálů.\n\n### Multimodální reference a režijní ovládání\n\nObrázky mohou definovat vzhled objektu, vizuální styl a kompozici. Video reference mohou vést akci, pohyb kamery a efekty. Zvuk může řídit barvu hlasu, hudbu nebo dialog. Definujte roli každého materiálu a potom popište scénu, která má vzniknout. Výrobce zdůrazňuje ovládání přednesu, osvětlení, stínů a kamerového jazyka.\n\nPro produktový příběh připravte obrázek produktu, referenci pohybu kamery a zvukový pokyn. Zadání může znít: „Zachovej modrou skleněnou vázu z Image 1. Použij pomalý boční pojezd z Video 1. Váza stojí na sluncem osvětlené polici a zní jemná instrumentální hudba podle Audio 1.“ Zamýšleným výstupem je nově inscenovaná scéna spojující vybrané referenční informace.\n\nReferenční vstupy mohou kombinovat obraz a zvuk, obraz a video, video a zvuk nebo všechny tři. Samotný zvuk a text se zvukem bez obrázku či videa nejsou podporovány. Dokumentovány jsou také tradiční převod textu na video, generování z prvního snímku a z prvního i posledního snímku. Jsou-li důležité pevné počáteční a koncové kompozice, použijte vyhrazený postup koncových bodů: označení referenčního obrázku jako koncového bodu v omni-reference zadání je pouze nepřímým vedením.\n\n### Úprava záznamu\n\nModel může nahradit objekt, přidat nebo odstranit předměty, změnit prvky a překreslit či opravit části videa. Popište konkrétní změnu a identifikujte zdrojový záznam. U přidání zahrňte čas a polohu výskytu; u odstranění nebo nahrazení určete objekt přesně a pojmenujte, co má zůstat.\n\nNapříklad: „Nahraď stolní lampu ve videu Video 1 mosaznou lampou z Image 1. Zachovej pohyb kamery, uspořádání stolu a směr osvětlení.“ Požadovaným výsledkem je upravená verze scény se zamýšlenou náhradou. Zkontrolujte nezměněné oblasti i nový objekt, zvláště při zakrývání, pohybu a změnách záběru.\n\n### Prodlužování a spojování sekvence\n\nSeedance 2.0 může prodloužit video dopředu nebo dozadu a propojit až tři dodané klipy generovanými přechody. Určete časový směr a novou událost. U spojovacího úseku seřaďte klipy a popište přechod mezi každou dvojicí, například kameru vstupující v jednom záběru do dveří a přicházející do dalšího prostředí.\n\nJednoduché prodloužení obvykle vrací pokračování rozvinuté kolem zdrojového záznamu; pokud má konečný výsledek také zopakovat původní segment, zahrňte jasný pokyn. Při dokončování spojení dvou či tří klipů může dokumentovaný postup zahrnout původní materiál i nový přechodový obsah. To se hodí pro rozvíjení začátku nebo konce či propojení připravených scén bez neurčité spojovací akce.\n\n### Výstup standardní verze a 4K\n\nStandardní verze dokumentuje MP4 při 24 fps a délky od 4 do 15 sekund. Výstupní úrovně jsou 480p, 720p a 1080p s 8bitovou barevnou hloubkou a 4K s 10bitovou barevnou hloubkou. Podporované poměry jsou 21:9, 16:9, 4:3, 1:1, 3:4 a 9:16. Dokumentovány jsou také adaptivní rámování a automatická volba délky. Verze Fast má vlastní užší specifikaci výstupu 480p/720p.\n\nVýstup 4K používá kódování H.265/HEVC. Desetibitové kódování zachovává další tonální stupně a plynulejší barevné přechody, což je důležité u materiálu s jemnými světelnými či barevnými gradienty. Ověřte, že zamýšlené přehrávací a editační prostředí umí tento formát dekódovat; některé prohlížeče a zařízení jej přímo nepřehrají. Kompatibilní kontejner sám nezaručuje kompatibilní dekódování videa.\n\nModel může generovat synchronizovaný zvuk nebo tiché video a vrátit poslední generovaný snímek pro následující scénu. Generovaný zvuk je monofonní. Rodina 2.0 nepodporuje samostatný dvoufázový režim náhledu Draft, takže tuto náhledovou funkci nelze odvozovat od jiné verze Seedance.\n\n### Příprava referencí a podstatná omezení\n\nDokumentovaná referenční kapacita je až devět obrázků, tři videa a tři zvukové klipy. Přímé nahrávání referenčních obrázků nebo videí se skutečnými lidskými tvářemi není v tomto dokumentovaném profilu výrobce přijímáno; portrétní práce používá podporovaný postup portrétních podkladů. Každý video i zvukový klip musí mít délku 2–15 sekund. Všechny video reference dohromady se musí vejít do 15 sekund a všechny zvukové reference mají vlastní celkový limit 15 sekund. Video soubory používají MP4 nebo MOV při 24–60 fps, do 200 MB na soubor; zvukové soubory používají WAV nebo MP3, do 15 MB na soubor. Uvedené obrazové formáty jsou JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC a HEIF. Obrázky musí být jednotlivě menší než 30 MB a tělo požadavku nesmí překročit 64 MB. V dokumentovaném profilu referenčních vstupů musí šířka i výška obrázku ležet přísně mezi 300 a 6 000 pixely, s poměrem šířky k výšce přísně mezi 0,4 a 2,5. Referenční videa umožňují 300–6 000 pixelů v každém rozměru a poměry 0,4–2,5 včetně, s celkem 407 696–8 295 044 pixely. Videa MP4 nebo MOV používají obraz H.264/AVC nebo H.265/HEVC a zvuk AAC nebo MP3.\n\nSoubory záměrně seřaďte a odkazujte na každý typem média a číslem: Image 1, Video 1 a Audio 1. Číslo sleduje pořadí mezi soubory daného typu. Vysvětlete, které rysy přenést a který zdrojový obsah nemá definovat novou scénu. Dokumentované jazyky zadání zahrnují angličtinu, španělštinu, indonéštinu, portugalštinu a japonštinu. Mluvený jazyk v dialogu udržujte jednotný; příručka doporučuje nemíchat jazyky s výjimkou vlastních jmen. U práce vedené hlasem oddělte mluvčího, přesnou repliku a pokyn k přednesu.\n\nPrvní a poslední obrázek připravte s kompatibilním rámováním. Nesoulad vstupního obrázku a výstupních rozměrů může způsobit ořez nebo náhlou vizuální změnu; shodné rozměry a adaptivní rámování jsou dokumentovaná řešení. Popis soustřeďte na událost a role referencí. Výrobce varuje, že dlouhé prompty mohou rozptýlit informace a vést k ignorování podrobností. Výsledný pohyb, návaznost referencí, zvukové provedení a spoje mezi scénami kontrolujte jako samostatné části tvůrčího výsledku.\n\n### Plánování záběrů a vedení textu\n\nU složité scény uspořádejte zadání jako Shot 1, Shot 2 a Shot 3 a postupně určete kameru, akci objektu, polohu a zvuk. Příručka doporučuje jeden pohyb kamery na záběr a upřednostnění pomalých navazujících akcí. Přesné časové značky jednotlivých záběrů jsou nestabilní, proto je pořadí událostí lepším ovládáním než vynucování několika přesných časových oken.\n\nModel generuje také běžný text včetně sloganů, titulků a komiksových bublin. Lze řídit barvu, vizuální zpracování, umístění a nástup textu. Používejte běžné znaky místo vzácných znaků či zvláštních symbolů a kontrolujte znění za pohybu. U referencí objektů jasně přiřaďte každý podklad zamýšlené postavě nebo předmětu. Pohledy na produkt mohou dodat různé vizuální informace; koláže postavy z více stran mohou mást identitu tváře. Dokumentovaným doporučením pro referenci postavy je samostatný jasný portrét hlavy a snímek celé postavy.\n\n### Chování ke kontrole před střihem\n\nPříručka dokumentuje nežádoucí titulky, loga, duplicitní postavy a odchylky stylu. Čisté zdrojové materiály, jednotná označení a výslovná omezení tato rizika snižují, ale nezaručují vymizení nežádoucího textu nebo duplicitních postav. Více než čtyři referenční osoby je uváděno jako riziko stability, odlišné od počtu přijímaných souborů.\n\nProdlužování videa může ve spoji vytvořit skok nebo návrat a opakovaná pokračování mohou kumulovat zhoršení kvality obrazu. Zkontrolujte hraniční snímky a omezte navrstvená prodloužení. Referenční hlas se může lišit od zdrojové barvy; vyprávění může skončit cvaknutím či náhlým utnutím, pro které je dokumentovaným řešením zvukové ztišení. Čínské znaky s více výslovnostmi, neobvyklé znaky nebo podobně tvarované znaky mohou být vysloveny chybně. U přesného animovaného efektu, například odpočítávání, je pohybová reference informativnější než samotný slovní požadavek. To jsou konkrétní důvody kontrolovat při výběru klipu zvlášť identitu, text, pohyb a zvuk.",
    "alias_of": null,
    "aliases": [],
    "author": "ByteDance",
    "available": null,
    "canonical_model": "bytedance/seedance-2.0",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image",
        "video",
        "audio"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.3024",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.3024",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Kompletní ceník konfigurace v podrobnostech."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "cb128050bf8483dc92f31388",
        "label": "Cenové reference konfigurací videa",
        "profiles": [
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "V tomto cenovém klíči není uvedena žádná další podmínka."
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.014",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "resolution: 4k"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.008",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "resolution: 1080p"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.0154",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "zvuk: without_audio"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.014",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "vstup: with_video_input"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.0086",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "vstup: with_video_input; rozlišení: 4k"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.0048",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "vstup: with_video_input; rozlišení: 1080p"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.0094",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "videos"
    ],
    "id": "bytedance/seedance-2.0",
    "input": [
      "text",
      "image",
      "audio"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Zobrazené sazby slouží k odhadu ceny před generováním. Konečný poplatek se vypočítá z nákladů zaznamenaných u původního generování. Naměřená délka výstupu ani odhadovaná množství nejsou konečným účtovaným množstvím.",
          "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": "Uchovejte každý skutečný výstup spravovaný službou a jeho vrácená metadata s naměřenými hodnotami.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "Přístup k videu není dostupný nebo toto ID videa nebylo nalezeno.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "Zkontrolujte přístup k videu. U existujícího videa použijte jeho původní veřejné ID a stejný klíč API.",
                "type": "not_found_error"
              },
              {
                "condition": "Klíč API neodpovídá ověřenému účtu.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "Před odesláním zkontrolujte svůj klíč API a přístup k účtu.",
                "type": "authentication_error"
              },
              {
                "condition": "Požadavek se nepodařilo načíst nebo je index pro stažení neplatný.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "Opravte tělo požadavku. Pro stažení vyberte index výstupu vrácený původní úlohou.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Vybranou konfiguraci videa nelze ocenit.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Před odesláním opraveného požadavku zvolte podporovanou konfiguraci videa a vyplňte její povinné volby.",
                "type": "price_unavailable"
              },
              {
                "condition": "Vstup videa nebo původní úloha pro pokračování jsou neplatné.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Používejte platné HTTPS vstupy. Pro pokračování použijte původní veřejné ID svého dokončeného videa se stejným klíčem API.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Dostupný zůstatek nebo limity neumožňují rezervaci.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "Před odesláním nového požadavku zkontrolujte dostupný zůstatek a limity.",
                "type": "billing_error"
              },
              {
                "condition": "Ověřování videa, úložiště nebo přístup ke službě jsou dočasně nedostupné.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "Počkejte na dostupnost služby. Pokud už máte ID videa, kontrolujte tuto původní úlohu místo vytváření dalšího generování.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Původní výsledek videa a vyúčtovanou částku je třeba zkontrolovat.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Uchovejte vrácené ID videa a kontrolujte tuto úlohu. Dokud probíhá kontrola, neposílejte náhradní požadavek na generování.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "Stávající video je dočasně nedostupné ke stažení.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Později zkontrolujte tutéž úlohu videa a stáhněte její existující výstup. Nové generování vytvoří samostatnou operaci.",
                "type": "server_error"
              },
              {
                "condition": "Obsah videa nebyl zveřejněn.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "Zkontrolujte stav původní úlohy. Stáhněte výstup, až nahlásí completed; nahlásí-li failed, řiďte se jejím upozorněním na kontrolu vyúčtování.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + původní id + X-Should-Retry:false; původní požadavek nikdy neopakujte"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Zadejte textové zadání a podporovanou délku v celých sekundách. Použijte přesnou uvedenou velikost nebo rozlišení a poměr stran, které odpovídají uvedeným rozměrům.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Textové zadání."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images je pole objektů s type=image_url, image_url obsahujícím url a frame_type. Použijte veřejnou HTTPS URL obrázku; first_frame i last_frame se smí vyskytnout každý jednou. Použijte uvedenou velikost výstupu nebo kompatibilní rozměry. Nepřidávejte video reference.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Textové zadání a obrázek snímku."
              },
              {
                "mode": "Reference to video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "input_references je pole. Každý objekt obsahuje type=image_url nebo type=audio_url a odpovídající objekt URL obsahující url. Používejte veřejné HTTPS odkazy. Vynecháním frame_images zvolíte režim referencí. Video reference nelze ocenit.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "input_references"
                ],
                "required_material": "Textové zadání a obrazové nebo zvukové reference."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images",
              "reference_to_video"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "Pozice tohoto videa v seznamu výstupů, číslovaná od nuly.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "Podepsaná HTTPS URL pro stažení tohoto dokončeného videa.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "Otisk SHA-256 původních bajtů videa; null, není-li dostupný.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "Velikost původního videosouboru v bajtech; null, není-li dostupná.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "Naměřená délka videa v milisekundách; null, není-li dostupná.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Šířka videa v pixelech; null, není-li dostupná.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Výška videa v pixelech; null, není-li dostupná.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "Identifikátor video kodeku; null, není-li zaznamenán.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "Zda video obsahuje zvukovou stopu; null, nebylo-li změřeno.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "Identifikátor zvukového kodeku; null, není-li žádný identifikátor zaznamenán.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "podepsané URL obsahu spravovaného službou",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "bytedance/seedance-2.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "bytedance/seedance-2.0"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480p",
                  "720p",
                  "1080p",
                  "4K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p",
                    "4K"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "1:1",
                  "3:4",
                  "9:16",
                  "4:3",
                  "16:9",
                  "21:9",
                  "9:21"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "9:16",
                    "4:3",
                    "16:9",
                    "21:9",
                    "9:21"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "U 480p a 720p vynechání generate_audio zvolí cenu se zvukem, zatímco false zvolí cenu bez zvuku. U 1080p a 4K platí cena daného rozlišení pro obě nastavení. Přítomnost vrácené zvukové stopy ověřte v poli has_audio výsledku.",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Tyto klíče platí pro každý objekt snímku. Pro požadavek obsahující pouze text vynechte frame_images.",
                "content": "Pole objektů snímků. Každý obsahuje type=image_url, image_url obsahující url a frame_type=first_frame nebo last_frame. Každá role se smí vyskytnout nejvýše jednou. Používejte veřejné HTTPS URL.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 2,
                "max_items": 2,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "Pro režim referencí vynechte frame_images. Používejte veřejné HTTPS URL.",
                "content": "Pole objektů obrazových nebo zvukových referencí. Nastavte type na image_url nebo audio_url a zadejte odpovídající objekt URL obsahující url. Video reference stále nelze ocenit.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "audio_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "audio_url"
                          }
                        },
                        "required": [
                          "type",
                          "audio_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480x480",
                  "480x640",
                  "480x854",
                  "640x480",
                  "854x480",
                  "1120x480",
                  "720x720",
                  "720x960",
                  "720x1280",
                  "720x1680",
                  "960x720",
                  "1280x720",
                  "1680x720",
                  "1080x1080",
                  "1080x1440",
                  "1080x1920",
                  "1440x1080",
                  "1920x1080",
                  "2520x1080",
                  "3840x2160",
                  "2160x3840",
                  "2160x2160",
                  "2880x2160",
                  "2160x2880",
                  "5040x2160"
                ],
                "enum_known": true,
                "name": "size",
                "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                "required": false,
                "schema": {
                  "enum": [
                    "480x480",
                    "480x640",
                    "480x854",
                    "640x480",
                    "854x480",
                    "1120x480",
                    "720x720",
                    "720x960",
                    "720x1280",
                    "720x1680",
                    "960x720",
                    "1280x720",
                    "1680x720",
                    "1080x1080",
                    "1080x1440",
                    "1080x1920",
                    "1440x1080",
                    "1920x1080",
                    "2520x1080",
                    "3840x2160",
                    "2160x3840",
                    "2160x2160",
                    "2880x2160",
                    "2160x2880",
                    "5040x2160"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 9223372036854775807,
                "minimum": -9223372036854775808,
                "name": "seed",
                "required": false,
                "schema": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "9:16",
                    "4:3",
                    "16:9",
                    "21:9",
                    "9:21"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "audio_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "audio_url"
                          }
                        },
                        "required": [
                          "type",
                          "audio_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "model": {
                  "const": "bytedance/seedance-2.0"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p",
                    "4K"
                  ]
                },
                "seed": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": {
                  "enum": [
                    "480x480",
                    "480x640",
                    "480x854",
                    "640x480",
                    "854x480",
                    "1120x480",
                    "720x720",
                    "720x960",
                    "720x1280",
                    "720x1680",
                    "960x720",
                    "1280x720",
                    "1680x720",
                    "1080x1080",
                    "1080x1440",
                    "1080x1920",
                    "1440x1080",
                    "1920x1080",
                    "2520x1080",
                    "3840x2160",
                    "2160x3840",
                    "2160x2160",
                    "2880x2160",
                    "2160x2880",
                    "5040x2160"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist.",
                "Request geometry is required for the pre-generation estimate and reserve. Returned geometry and track time describe the generated output; final charge follows the actual billed configuration.",
                "Video references with *_with_video_input quantity are rejected; image/audio references only where model reference types admit them."
              ]
            },
            "unsupported": [
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image",
              "audio"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "size",
              "seed",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images",
            "reference_to_video"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.0154000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000154",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "input: with_video_input; resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.0094000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000094",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "resolution: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000008",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "vstup: with_video_input; rozlišení: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.0048000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000048",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Sazba za video tokeny je hlavní cenovou referencí. Orientační odhady za sekundu jsou samostatné reference, nikoli další poplatek.",
            "dimensions": {
              "conditions": "input: with_video_input",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Cena tokenu videa",
            "units": [
              {
                "amount": "0.0086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000086",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_without_audio",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Tento odhad není dodatečným poplatkem ani pevnou sazbou za dokončené generování.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Odhadovaná cena generování",
            "units": [
              {
                "amount": "0.3024",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.3024",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nfrom pathlib import Path\nPath('request.json').write_text('{\"model\":\"bytedance/seedance-2.0\",\"prompt\":\"A serene mountain landscape at sunset\",\"duration\":4,\"resolution\":\"480p\",\"size\":\"480x480\",\"generate_audio\":false}', encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0154000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000154",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input; resolution: 1080p",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0094000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_1080p_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000094",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "resolution: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000008",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input; resolution: 4k",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0048000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_4k_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000048",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000086",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.014000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_without_audio",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.000014",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.3024",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.3024",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "bytedance/seedance-2.0",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.014000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.000014",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0154000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_1080p",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000154",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0094000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_1080p_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000094",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.008000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_4k",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.000008",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0048000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_4k_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000048",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.0086000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000086",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.014000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_without_audio",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.000014",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.3024",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.3024",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "bytedance/seedance-2.0",
        "request_model_id": "bytedance/seedance-2.0",
        "route_label": "Ultra"
      }
    ],
    "name": "ByteDance: Seedance 2.0",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.3024,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.3024,
      "varies": false
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": false,
          "maker_model_id": "dreamina-seedance-2-0-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": false,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "480p/720p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.000014",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": false,
              "maker_model_id": "dreamina-seedance-2-0-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": false,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "480p/720p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": true,
          "maker_model_id": "dreamina-seedance-2-0-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": true,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "480p/720p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000086",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": true,
              "maker_model_id": "dreamina-seedance-2-0-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": true,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "480p/720p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": false,
          "maker_model_id": "dreamina-seedance-2-0-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": false,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "1080p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000154",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": false,
              "maker_model_id": "dreamina-seedance-2-0-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": false,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "1080p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 2,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": true,
          "maker_model_id": "dreamina-seedance-2-0-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": true,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "1080p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000094",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": true,
              "maker_model_id": "dreamina-seedance-2-0-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": true,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "1080p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 3,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": false,
          "maker_model_id": "dreamina-seedance-2-0-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": false,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "4K"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.000008",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": false,
              "maker_model_id": "dreamina-seedance-2-0-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": false,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "4K"
            },
            "key": "base",
            "label": "base",
            "profile_index": 4,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": true,
          "maker_model_id": "dreamina-seedance-2-0-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": true,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "4K"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000048",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": true,
              "maker_model_id": "dreamina-seedance-2-0-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": true,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "4K"
            },
            "key": "base",
            "label": "base",
            "profile_index": 5,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "dimensions": {},
        "label": "Ailoot Ultra · Tariff components",
        "units": [
          {
            "amount": "0.014000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "video token",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.000014",
            "key": "video_tokens",
            "label": "video token",
            "native_amount_usd_per_unit": "0.000014",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.008000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "resolution=4k",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.000008",
            "key": "video_tokens_4k",
            "label": "video token",
            "native_amount_usd_per_unit": "0.000008",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0154000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "resolution=1080p",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.0000154",
            "key": "video_tokens_1080p",
            "label": "video token",
            "native_amount_usd_per_unit": "0.0000154",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.014000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "audio=false",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.000014",
            "key": "video_tokens_without_audio",
            "label": "video token",
            "native_amount_usd_per_unit": "0.000014",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0086000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "video_reference_present Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.0000086",
            "key": "video_tokens_with_video_input",
            "label": "video token",
            "native_amount_usd_per_unit": "0.0000086",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0048000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "resolution=4k · video_reference_present Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.0000048",
            "key": "video_tokens_4k_with_video_input",
            "label": "video token",
            "native_amount_usd_per_unit": "0.0000048",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0094000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "resolution=1080p · video_reference_present Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.0000094",
            "key": "video_tokens_1080p_with_video_input",
            "label": "video token",
            "native_amount_usd_per_unit": "0.0000094",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          }
        ]
      }
    ],
    "public_id": "bytedance/seedance-2.0",
    "short": "ByteDance Seedance 2.0 spojuje nativní generování zvuku a videa s obrazovými, video a zvukovými referencemi. Režírujte nové scény, upravujte existující záznam nebo prodlužujte sekvenci; standardní verze zahrnuje dokumentovaný výstup 1080p a 10bitový 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": "ByteDance Seedance 2.0 spojuje nativní generování zvuku a videa s obrazovými, video a zvukovými referencemi. Režírujte nové scény, upravujte existující záznam nebo prodlužujte sekvenci; standardní verze zahrnuje dokumentovaný výstup 1080p a 10bitový 4K.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_exact_canonical_sha256": "4a71d4373ac6fd3a7a5a4250e8522c2c632ab2733c3ea70245bdc3341827409e",
    "raw_model_js_projection_sha256": "c8c0d089d231a3dd2e232cc34660ed756b7480e656524d224781910498a533bd",
    "raw_model_json_sha256": "4a71d4373ac6fd3a7a5a4250e8522c2c632ab2733c3ea70245bdc3341827409e",
    "renderer_sha256": "41721c81890b87836cd3fd41ef732d3276f5969e30822ba09962305294953718"
  },
  "sourceRevision": "cc92655e8d093c04705f6ae992ff4a4850555f693043fc62266b83583ec2741f"
}
