{
  "aboutHtml": "<p>Gemma 4 31B IT je hustá edice otevřené rodiny Gemma 4 od Google DeepMind doladěná pro instrukce. Google model 31B zaměřuje na kvalitu a přizpůsobení konkrétní úloze, zatímco samostatná edice 26B A4B používá směs expertů pro efektivní inferenci. Tato karta se týká uvedené instrukčně doladěné edice 31B, nikoli jejích předtrénovaných vah nebo kvantizovaného derivátu.</p><p>Oficiální tabulka husté architektury uvádí 30,7 miliardy parametrů, 60 vrstev, posuvné okno o velikosti 1 024 tokenů a kontext o velikosti 256K tokenů. Rodina kombinuje lokální pozornost v posuvném okně s globální pozorností, končí globální vrstvou a pro tento model používá vyhrazený vizuální enkodér. Výsledná konfigurace je určena pro textový a obrazový vstup s textovým výstupem. Jde o fakta o architektuře modelu; neurčují dobu odezvy aplikace ani neznamenají podporu audia, kterou mají jiné velikosti Gemma 4.</p><p>Kontext o velikosti 256K tokenů umožňuje úlohy, které spojují rozsáhlý text s obrazovými podklady. Obrázky a text lze v jednom promptu prokládat; pro nejlepší výsledky výrobce doporučuje umístit obrazový obsah před související text. Mezi vizuální úlohy patří detekce objektů, interpretace stránek dokumentů, porozumění obrazovkám a rozhraním, grafům, vícejazyčné OCR, rukopis a označování polohy. Výstupem je text: získaný obsah, vysvětlení, kód nebo návrh akce nástroje.</p><p>Nastavitelné přemýšlení umožňuje modelu před odpovědí uvažovat nebo odpovědět přímo. Gemma 4 přidává vedle rolí user a assistant nativní roli system. Formát promptů Googlu zapíná přemýšlení řídicím tokenem &lt;|think|&gt; v systémovém promptu a odděluje kanál uvažování od konečné odpovědi; zdokumentovaný procesor tuto šablonu umí zpracovat. U vícekolové konverzace ponechte v historii předchozí konečné odpovědi a vynechte předchozí úvahy, s výjimkou kol s voláním nástrojů, kde je podle výrobce třeba úvahy zachovat.</p><p>Native Function Calling podporuje strukturované používání nástrojů a popis uvedení modelu od Googlu dokumentuje také strukturovaný výstup JSON. Definujte úlohu, dostupnou funkci a očekávaný výsledek; aplikace provede požadovanou operaci a vrátí její výstup pro další krok. Při programování lze žádat o generování, doplnění nebo opravu kódu, zatímco vizuální asistent může vráceným textem vysvětlit graf nebo obrazovku. Instrukce k volání funkce se liší od připojené akce, která se skutečně vykonala.</p><p>Proměnlivé rozlišení obrázku řídí rozpočet vizuálních tokenů. Zdokumentované možnosti jsou 70, 140, 280, 560 a 1 120 tokenů. Nižší rozpočty se hodí pro klasifikaci nebo popisky; vyšší zachovávají více detailů pro OCR, zpracování dokumentů a drobný text za cenu dalších výpočtů. Před přípravou obrázku rozhodněte, zda potřebujete celkovou scénu, nebo přesné znění nápisů. Jasný výřez štítku může být pro získání textu užitečnější než neurčitý požadavek na prozkoumání každého detailu celé stránky.</p><p>Google pro tuto rodinu doporučuje konfiguraci vzorkování temperature 1.0, top-p 0.95 a top-k 64. Karta modelu rozlišuje trénování ve více než 140 jazycích a podporu více než 35 jazyků bez dalších úprav. V zadání výslovně uveďte jazyk odpovědi a názvy domén, polí nebo vzorce, které je třeba zachovat. Údaj 256K je specifikací kontextu; citovaná karta modelu pro tuto edici nestanovuje samostatný univerzální limit délky výstupu.</p><p>Pro úlohu propojující dokument a kód poskytněte obrázek příslušné stránky, písemný požadavek a úryvek zdrojového kódu: „Přečti popisky, vysvětli, v čem se tato obrazovka liší od specifikace, a navrhni cílenou opravu dodaného kódu.“ U grafu žádejte, aby odpověď odlišovala viditelné hodnoty od odvozeného trendu. Karta Gemma upozorňuje na omezení u nejednoznačného jazyka, velmi složitých úloh a nesprávných či zastaralých faktických tvrzení. Přiložte proto autoritativní fakta, z nichž má požadovaný výsledek vycházet, místo očekávání, že je doplní znalosti získané při trénování.</p><p>Prostřednictvím Ailoot vyberte toto přesné ID modelu v /v1/chat/completions a zadejte úlohu v messages. Každá zpráva obsahuje role a svůj content; související instrukce a zdrojové podklady ponechte pohromadě. Shromážděte celou odpověď JSON nebo všechny segmenty SSE, pokud je zapnutý stream, a spolu s písemným výsledkem uchovejte usage.</p>",
  "aboutText": "Gemma 4 31B IT je hustá edice otevřené rodiny Gemma 4 od Google DeepMind doladěná pro instrukce. Google model 31B zaměřuje na kvalitu a přizpůsobení konkrétní úloze, zatímco samostatná edice 26B A4B používá směs expertů pro efektivní inferenci. Tato karta se týká uvedené instrukčně doladěné edice 31B, nikoli jejích předtrénovaných vah nebo kvantizovaného derivátu.\n\nOficiální tabulka husté architektury uvádí 30,7 miliardy parametrů, 60 vrstev, posuvné okno o velikosti 1 024 tokenů a kontext o velikosti 256K tokenů. Rodina kombinuje lokální pozornost v posuvném okně s globální pozorností, končí globální vrstvou a pro tento model používá vyhrazený vizuální enkodér. Výsledná konfigurace je určena pro textový a obrazový vstup s textovým výstupem. Jde o fakta o architektuře modelu; neurčují dobu odezvy aplikace ani neznamenají podporu audia, kterou mají jiné velikosti Gemma 4.\n\nKontext o velikosti 256K tokenů umožňuje úlohy, které spojují rozsáhlý text s obrazovými podklady. Obrázky a text lze v jednom promptu prokládat; pro nejlepší výsledky výrobce doporučuje umístit obrazový obsah před související text. Mezi vizuální úlohy patří detekce objektů, interpretace stránek dokumentů, porozumění obrazovkám a rozhraním, grafům, vícejazyčné OCR, rukopis a označování polohy. Výstupem je text: získaný obsah, vysvětlení, kód nebo návrh akce nástroje.\n\nNastavitelné přemýšlení umožňuje modelu před odpovědí uvažovat nebo odpovědět přímo. Gemma 4 přidává vedle rolí user a assistant nativní roli system. Formát promptů Googlu zapíná přemýšlení řídicím tokenem <|think|> v systémovém promptu a odděluje kanál uvažování od konečné odpovědi; zdokumentovaný procesor tuto šablonu umí zpracovat. U vícekolové konverzace ponechte v historii předchozí konečné odpovědi a vynechte předchozí úvahy, s výjimkou kol s voláním nástrojů, kde je podle výrobce třeba úvahy zachovat.\n\nNative Function Calling podporuje strukturované používání nástrojů a popis uvedení modelu od Googlu dokumentuje také strukturovaný výstup JSON. Definujte úlohu, dostupnou funkci a očekávaný výsledek; aplikace provede požadovanou operaci a vrátí její výstup pro další krok. Při programování lze žádat o generování, doplnění nebo opravu kódu, zatímco vizuální asistent může vráceným textem vysvětlit graf nebo obrazovku. Instrukce k volání funkce se liší od připojené akce, která se skutečně vykonala.\n\nProměnlivé rozlišení obrázku řídí rozpočet vizuálních tokenů. Zdokumentované možnosti jsou 70, 140, 280, 560 a 1 120 tokenů. Nižší rozpočty se hodí pro klasifikaci nebo popisky; vyšší zachovávají více detailů pro OCR, zpracování dokumentů a drobný text za cenu dalších výpočtů. Před přípravou obrázku rozhodněte, zda potřebujete celkovou scénu, nebo přesné znění nápisů. Jasný výřez štítku může být pro získání textu užitečnější než neurčitý požadavek na prozkoumání každého detailu celé stránky.\n\nGoogle pro tuto rodinu doporučuje konfiguraci vzorkování temperature 1.0, top-p 0.95 a top-k 64. Karta modelu rozlišuje trénování ve více než 140 jazycích a podporu více než 35 jazyků bez dalších úprav. V zadání výslovně uveďte jazyk odpovědi a názvy domén, polí nebo vzorce, které je třeba zachovat. Údaj 256K je specifikací kontextu; citovaná karta modelu pro tuto edici nestanovuje samostatný univerzální limit délky výstupu.\n\nPro úlohu propojující dokument a kód poskytněte obrázek příslušné stránky, písemný požadavek a úryvek zdrojového kódu: „Přečti popisky, vysvětli, v čem se tato obrazovka liší od specifikace, a navrhni cílenou opravu dodaného kódu.“ U grafu žádejte, aby odpověď odlišovala viditelné hodnoty od odvozeného trendu. Karta Gemma upozorňuje na omezení u nejednoznačného jazyka, velmi složitých úloh a nesprávných či zastaralých faktických tvrzení. Přiložte proto autoritativní fakta, z nichž má požadovaný výsledek vycházet, místo očekávání, že je doplní znalosti získané při trénování.\n\nProstřednictvím Ailoot vyberte toto přesné ID modelu v /v1/chat/completions a zadejte úlohu v messages. Každá zpráva obsahuje role a svůj content; související instrukce a zdrojové podklady ponechte pohromadě. Shromážděte celou odpověď JSON nebo všechny segmenty SSE, pokud je zapnutý stream, a spolu s písemným výsledkem uchovejte usage.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "3aa3af4fbbcb533a6b8d5e1d6c1d1de64de70dd6f24a8ab586dcbc084ecb9cb2",
    "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\">G</span><h2 id=\"sheet-title\">Google: Gemma 4 31B (free)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zavřít\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemma-4-31b-it:free</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|chat|/v1/chat/completions|google%2Fgemma-4-31b-it%3Afree\">Chat</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\">Gemma 4 31B IT je hustý model Googlu doladěný pro instrukce, určený k textovému a vizuálnímu uvažování. Kontext 256K, nastavitelné přemýšlení, porozumění obrázkům a nativní volání funkcí podporují programování, práci s dokumenty a agentní úlohy s textovým výstupem.</p><dl class=\"card-io\" data-card-io><div><dt>Přijímané vstupy</dt><dd>Text · Obrázky</dd></div><div><dt>Výsledky</dt><dd>Text</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>Gemma 4 31B IT je hustá edice otevřené rodiny Gemma 4 od Google DeepMind doladěná pro instrukce. Google model 31B zaměřuje na kvalitu a přizpůsobení konkrétní úloze, zatímco samostatná edice 26B A4B používá směs expertů pro efektivní inferenci. Tato karta se týká uvedené instrukčně doladěné edice 31B, nikoli jejích předtrénovaných vah nebo kvantizovaného derivátu.</p><p>Oficiální tabulka husté architektury uvádí 30,7 miliardy parametrů, 60 vrstev, posuvné okno o velikosti 1 024 tokenů a kontext o velikosti 256K tokenů. Rodina kombinuje lokální pozornost v posuvném okně s globální pozorností, končí globální vrstvou a pro tento model používá vyhrazený vizuální enkodér. Výsledná konfigurace je určena pro textový a obrazový vstup s textovým výstupem. Jde o fakta o architektuře modelu; neurčují dobu odezvy aplikace ani neznamenají podporu audia, kterou mají jiné velikosti Gemma 4.</p><p>Kontext o velikosti 256K tokenů umožňuje úlohy, které spojují rozsáhlý text s obrazovými podklady. Obrázky a text lze v jednom promptu prokládat; pro nejlepší výsledky výrobce doporučuje umístit obrazový obsah před související text. Mezi vizuální úlohy patří detekce objektů, interpretace stránek dokumentů, porozumění obrazovkám a rozhraním, grafům, vícejazyčné OCR, rukopis a označování polohy. Výstupem je text: získaný obsah, vysvětlení, kód nebo návrh akce nástroje.</p><p>Nastavitelné přemýšlení umožňuje modelu před odpovědí uvažovat nebo odpovědět přímo. Gemma 4 přidává vedle rolí user a assistant nativní roli system. Formát promptů Googlu zapíná přemýšlení řídicím tokenem &lt;|think|&gt; v systémovém promptu a odděluje kanál uvažování od konečné odpovědi; zdokumentovaný procesor tuto šablonu umí zpracovat. U vícekolové konverzace ponechte v historii předchozí konečné odpovědi a vynechte předchozí úvahy, s výjimkou kol s voláním nástrojů, kde je podle výrobce třeba úvahy zachovat.</p><p>Native Function Calling podporuje strukturované používání nástrojů a popis uvedení modelu od Googlu dokumentuje také strukturovaný výstup JSON. Definujte úlohu, dostupnou funkci a očekávaný výsledek; aplikace provede požadovanou operaci a vrátí její výstup pro další krok. Při programování lze žádat o generování, doplnění nebo opravu kódu, zatímco vizuální asistent může vráceným textem vysvětlit graf nebo obrazovku. Instrukce k volání funkce se liší od připojené akce, která se skutečně vykonala.</p><p>Proměnlivé rozlišení obrázku řídí rozpočet vizuálních tokenů. Zdokumentované možnosti jsou 70, 140, 280, 560 a 1 120 tokenů. Nižší rozpočty se hodí pro klasifikaci nebo popisky; vyšší zachovávají více detailů pro OCR, zpracování dokumentů a drobný text za cenu dalších výpočtů. Před přípravou obrázku rozhodněte, zda potřebujete celkovou scénu, nebo přesné znění nápisů. Jasný výřez štítku může být pro získání textu užitečnější než neurčitý požadavek na prozkoumání každého detailu celé stránky.</p><p>Google pro tuto rodinu doporučuje konfiguraci vzorkování temperature 1.0, top-p 0.95 a top-k 64. Karta modelu rozlišuje trénování ve více než 140 jazycích a podporu více než 35 jazyků bez dalších úprav. V zadání výslovně uveďte jazyk odpovědi a názvy domén, polí nebo vzorce, které je třeba zachovat. Údaj 256K je specifikací kontextu; citovaná karta modelu pro tuto edici nestanovuje samostatný univerzální limit délky výstupu.</p><p>Pro úlohu propojující dokument a kód poskytněte obrázek příslušné stránky, písemný požadavek a úryvek zdrojového kódu: „Přečti popisky, vysvětli, v čem se tato obrazovka liší od specifikace, a navrhni cílenou opravu dodaného kódu.“ U grafu žádejte, aby odpověď odlišovala viditelné hodnoty od odvozeného trendu. Karta Gemma upozorňuje na omezení u nejednoznačného jazyka, velmi složitých úloh a nesprávných či zastaralých faktických tvrzení. Přiložte proto autoritativní fakta, z nichž má požadovaný výsledek vycházet, místo očekávání, že je doplní znalosti získané při trénování.</p><p>Prostřednictvím Ailoot vyberte toto přesné ID modelu v /v1/chat/completions a zadejte úlohu v messages. Každá zpráva obsahuje role a svůj content; související instrukce a zdrojové podklady ponechte pohromadě. Shromážděte celou odpověď JSON nebo všechny segmenty SSE, pokud je zapnutý stream, a spolu s písemným výsledkem uchovejte usage.</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 · OpenAI Chat</b> <code>POST /v1/chat/completions</code></summary><dl class=\"method-capabilities\"><div><dt>Vstup</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Výstup</dt><dd><code>text</code></dd></div><div><dt>Výstupní formát</dt><dd>JSON or SSE</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><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>google/gemma-4-31b-it:free</div><div>Podmínky: Použijte přesně tento směrovací selektor Ailoot.</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">messages</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>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Podmínky: </div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">stream</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>Podmínky: </div></td><td data-cell-label=\"Výchozí\" data-default=\"known\"><span class=\"card-cell-label\">Výchozí</span>false</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_input</b> · Povinné: messages</p><p class=\"note-s\"><b>image_with_text</b> · Povinné: messages with actual image content blocks</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, messages</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>optional</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>stream</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</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>conditions</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>Použijte přesně tento směrovací selektor Ailoot., Tento protokol přenáší obrazový obsah, pokud konkrétní vybraný model podporuje zpracování obrazu. Přijetí požadavku protokolem nedokládá podporu obrázků u každého modelu.</td></tr></tbody></table></div><p>Aliasy metody: <code>/chat/completions</code></p><p>Životní cyklus: <code>synchronous_or_streamed</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarify</h3><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>Standardní sazba <span class=\"note-s\">Při výběru rychlého režimu</span></dd><dt>Režim flex</dt><dd>Standardní sazba <span class=\"note-s\">Při výběru režimu flex</span></dd><dt>Maximální intenzita uvažování</dt><dd>Standardní sazba <span class=\"note-s\">Když se při maximální intenzitě uvažování použije výchozí úprava (default)</span></dd><dt>Ceny explicitní mezipaměti</dt><dd>Není zapnuto <span class=\"note-s\">Při požadavku na explicitní mezipaměť</span></dd><dt>Nulové sazby pouze pro text</dt><dd>Pro mezipaměť, nástroje a média platí samostatně uvedené cenové podmínky. <span class=\"note-s\">Pro výhradně textový vstup a výstup</span></dd></dl></div><div data-declared-tariff-pricing><h4>Sazby Ailoot</h4><h4>Ceny podle konfigurace</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurace</th><th>Tabulka sazeb</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=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Vstup · Vstupní tokeny</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Výstup · Výstupní tokeny</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Vstup · Čtení z mezipaměti</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Vstup · Zápis do mezipaměti</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Vstup · Zápis do mezipaměti, 1 hodina</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div></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></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Příklady požadavků</h3><h4>Ailoot Ultra · OpenAI Chat</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-2927-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2927-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · vytvořte jednou a uchovejte úplný výsledek</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-2927-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2927-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_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;google/gemma-4-31b-it:free&quot;, &quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Explain how a rainbow forms.&quot;}]}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\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\n# Submit once. Retain the complete result, original identifiers and every response header.\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 · OpenAI Chat</h4><p class=\"note-s\">JSON or SSE</p><div class=\"card-result-process\" data-all-results><h5>Uchovejte všechny dokončené výsledky</h5><p class=\"note-s\">Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.</p><p class=\"note-s\">Zachovejte každý blok obsahu, ID volání nástroje, podpis uvažování, pokud je vrácen, všechny přírůstky SSE a úplné údaje o využití. První textový fragment není celý výsledek.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Pokud je nutné ověřit původní odpověď</h5><p class=\"note-s\">Zachovejte původní X-Client-Request-ID, odpověď a hlavičky. Neznámý výsledek ani výsledek result_pending_check neopravňují k druhému vytvoření.</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></tr></thead><tbody><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">choices[]</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>object</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>object</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>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Povinné pole, selektor modelu, typ nebo podoba vstupu jsou neplatné.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Před přípravou samostatného požadavku si prohlédněte vrácené podrobnosti validace.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span><code></code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Původní požadavek nebo výsledek je neznámý nebo vyžaduje kontrolu.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Zachovejte původní identifikátory a hlavičky; čtěte pouze podporované záznamy o stavu nebo záznamy knihovny. Požadavek na vytvoření znovu neodesílejte.</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=google%2Fgemma-4-31b-it%3Afree&amp;route=Ultra&amp;caller=google%2Fgemma-4-31b-it%3Afree&amp;fmt=chat\"><code>google/gemma-4-31b-it:free</code></a></span></p><h4>Aliasy cest metod</h4><p class=\"note-s\"><code>/chat/completions</code></p><h4>Související ID modelů</h4><p class=\"note-s\"><a href=\"#m=google%2Fgemma-4-31b-it%3Afree&amp;route=Ultra&amp;caller=google%2Fgemma-4-31b-it%3Afree&amp;fmt=chat\"><code>google/gemma-4-31b-it:free</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemma-4-31b-it:free",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "google/gemma-4-31b-it:free",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|google%2Fgemma-4-31b-it%3Afree",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "accepted_material_guidance": {
              "content_type": "application/json",
              "example_scope": "The preserved text example is one valid request form, not the full protocol input set.",
              "image_condition": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model.",
              "material_types": [
                "text",
                "image"
              ],
              "text_file_material": "Actual UTF-8 text can be inserted in a text content part."
            },
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "authentication": {
              "header": "Authorization",
              "scheme": "Bearer",
              "value": "$AILOOT_API_KEY"
            },
            "errors": [
              {
                "condition": "Povinné pole, selektor modelu, typ nebo podoba vstupu jsou neplatné.",
                "http_status": 400,
                "recovery": "Před přípravou samostatného požadavku si prohlédněte vrácené podrobnosti validace.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Původní požadavek nebo výsledek je neznámý nebo vyžaduje kontrolu.",
                "http_status": null,
                "recovery": "Zachovejte původní identifikátory a hlavičky; čtěte pouze podporované záznamy o stavu nebo záznamy knihovny. Požadavek na vytvoření znovu neodesílejte.",
                "type": null
              }
            ],
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "mode": "synchronous_or_streamed",
              "status": [],
              "unknown": "Zachovejte původní X-Client-Request-ID, odpověď a hlavičky. Neznámý výsledek ani výsledek result_pending_check neopravňují k druhému vytvoření.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "materials": [
                  "text"
                ],
                "mode": "text_input",
                "required": [
                  "messages"
                ]
              },
              {
                "condition": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model.",
                "materials": [
                  "text",
                  "image"
                ],
                "mode": "image_with_text",
                "required": [
                  "messages with actual image content blocks"
                ]
              }
            ],
            "model_capability_scope": {
              "all_models_vision_claim": false,
              "manufacturer_description_preserved": "Retain grounded accepted legacy vision descriptions; a plain text example is not a capability ceiling.",
              "model_vision": "conditional_on_exact_model_capability",
              "transport_materials": [
                "text",
                "image"
              ],
              "video_audio_inferred": false
            },
            "outputs": {
              "all_results": "Zachovejte každý blok obsahu, ID volání nástroje, podpis uvažování, pokud je vrácen, všechny přírůstky SSE a úplné údaje o využití. První textový fragment není celý výsledek.",
              "every_actual_output": true,
              "family": "text",
              "fields": [
                {
                  "name": "choices[]",
                  "type": "object"
                },
                {
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "JSON or SSE"
            },
            "parameters": [
              {
                "conditions": "Použijte přesně tento směrovací selektor Ailoot.",
                "default_known": false,
                "enum": [
                  "google/gemma-4-31b-it:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "items": {
                  "properties": {
                    "content": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": {
                            "oneOf": [
                              {
                                "properties": {
                                  "text": {
                                    "type": "string"
                                  },
                                  "type": {
                                    "const": "text"
                                  }
                                },
                                "required": [
                                  "type",
                                  "text"
                                ],
                                "type": "object"
                              },
                              {
                                "properties": {
                                  "image_url": {
                                    "properties": {
                                      "detail": {
                                        "type": "string"
                                      },
                                      "url": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "url"
                                    ],
                                    "type": "object"
                                  },
                                  "type": {
                                    "const": "image_url"
                                  }
                                },
                                "required": [
                                  "type",
                                  "image_url"
                                ],
                                "type": "object"
                              }
                            ]
                          },
                          "type": "array"
                        }
                      ]
                    },
                    "role": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "conditions": "",
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "messages": {
                  "items": {
                    "properties": {
                      "content": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "oneOf": [
                                {
                                  "properties": {
                                    "text": {
                                      "type": "string"
                                    },
                                    "type": {
                                      "const": "text"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "text"
                                  ],
                                  "type": "object"
                                },
                                {
                                  "properties": {
                                    "image_url": {
                                      "properties": {
                                        "detail": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": {
                                      "const": "image_url"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "image_url"
                                  ],
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "role": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "google/gemma-4-31b-it:free"
                  ],
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "messages"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "messages": [
                  {
                    "content": "Explain how a rainbow forms.",
                    "role": "user"
                  }
                ],
                "model": "google/gemma-4-31b-it:free"
              },
              "content_type": "application/json",
              "example_is_offline_content": true
            },
            "usage": {
              "meter": "Use the accepted method price and actual recorded usage; the request reserve is an estimate. A billing unit does not add an input capability.",
              "preserve": "Keep all returned usage, accounting and request identifiers with every actual output.",
              "settlement": "Retain the original operation; reconcile its result and accounting once."
            }
          },
          "input": {
            "conditions": [
              "Použijte přesně tento směrovací selektor Ailoot.",
              "Tento protokol přenáší obrazový obsah, pokud konkrétní vybraný model podporuje zpracování obrazu. Přijetí požadavku protokolem nedokládá podporu obrázků u každého modelu."
            ],
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "stream"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/chat/completions"
            },
            "mode": "synchronous_or_streamed",
            "status": [],
            "unknown": "Keep the original X-Client-Request-ID, response and headers. An unknown or result_pending_check outcome does not authorize a second creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "output": {
            "all_results": "Retain every content block, tool-call ID, thinking signature when returned, all SSE deltas and complete usage. A first text fragment is not the whole result.",
            "every_actual_output": true,
            "family": "text",
            "fields": [
              {
                "name": "choices[]",
                "type": "object"
              },
              {
                "name": "usage",
                "type": "object"
              }
            ],
            "format": "JSON or SSE"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/gemma-4-31b-it:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Explain how a rainbow forms.\"}]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "chat",
        "http": "POST",
        "in": 0,
        "input": [
          "text",
          "image"
        ],
        "input_conditions": {
          "image": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model."
        },
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          },
          {
            "label": "Nulové sazby pouze pro text",
            "value": "Pro mezipaměť, nástroje a média platí samostatně uvedené cenové podmínky.",
            "when": "Pro výhradně textový vstup a výstup"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemma-4-31b-it:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "google/gemma-4-31b-it:free",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "50f3ed0327863f5f04ceb19d784539bb8a961f9ad288537f0907eb7a8c2912d8",
    "input_html_sha256": "3d67664a518134a7d060920ed126fe63b9736736b690dbe03a9e49bfa6dd3ded",
    "private_audit_sha256": "5553e8701ce7c287317662a56da0301d1aaf2eae0289d255ab408ae6f10b48b5",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/cs/google-gemma-4-31b-it-u003a-free/",
    "description": "Gemma 4 31B IT je hustý model Googlu doladěný pro instrukce, určený k textovému a vizuálnímu uvažování. Kontext 256K, nastavitelné přemýšlení, porozumění obrázkům a nativní volání funkcí podporují programování, práci s dokumenty a agentní úlohy s textovým výstupem.",
    "locale": "cs",
    "md_url": "https://ailoot.ai/models/cs/google-gemma-4-31b-it-u003a-free/index.md",
    "title": "Google: Gemma 4 31B (free) — Ailoot",
    "url": "https://ailoot.ai/models/cs/google-gemma-4-31b-it-u003a-free/"
  },
  "rawModel": {
    "about": "Gemma 4 31B IT je hustá edice otevřené rodiny Gemma 4 od Google DeepMind doladěná pro instrukce. Google model 31B zaměřuje na kvalitu a přizpůsobení konkrétní úloze, zatímco samostatná edice 26B A4B používá směs expertů pro efektivní inferenci. Tato karta se týká uvedené instrukčně doladěné edice 31B, nikoli jejích předtrénovaných vah nebo kvantizovaného derivátu.\n\nOficiální tabulka husté architektury uvádí 30,7 miliardy parametrů, 60 vrstev, posuvné okno o velikosti 1 024 tokenů a kontext o velikosti 256K tokenů. Rodina kombinuje lokální pozornost v posuvném okně s globální pozorností, končí globální vrstvou a pro tento model používá vyhrazený vizuální enkodér. Výsledná konfigurace je určena pro textový a obrazový vstup s textovým výstupem. Jde o fakta o architektuře modelu; neurčují dobu odezvy aplikace ani neznamenají podporu audia, kterou mají jiné velikosti Gemma 4.\n\nKontext o velikosti 256K tokenů umožňuje úlohy, které spojují rozsáhlý text s obrazovými podklady. Obrázky a text lze v jednom promptu prokládat; pro nejlepší výsledky výrobce doporučuje umístit obrazový obsah před související text. Mezi vizuální úlohy patří detekce objektů, interpretace stránek dokumentů, porozumění obrazovkám a rozhraním, grafům, vícejazyčné OCR, rukopis a označování polohy. Výstupem je text: získaný obsah, vysvětlení, kód nebo návrh akce nástroje.\n\nNastavitelné přemýšlení umožňuje modelu před odpovědí uvažovat nebo odpovědět přímo. Gemma 4 přidává vedle rolí user a assistant nativní roli system. Formát promptů Googlu zapíná přemýšlení řídicím tokenem <|think|> v systémovém promptu a odděluje kanál uvažování od konečné odpovědi; zdokumentovaný procesor tuto šablonu umí zpracovat. U vícekolové konverzace ponechte v historii předchozí konečné odpovědi a vynechte předchozí úvahy, s výjimkou kol s voláním nástrojů, kde je podle výrobce třeba úvahy zachovat.\n\nNative Function Calling podporuje strukturované používání nástrojů a popis uvedení modelu od Googlu dokumentuje také strukturovaný výstup JSON. Definujte úlohu, dostupnou funkci a očekávaný výsledek; aplikace provede požadovanou operaci a vrátí její výstup pro další krok. Při programování lze žádat o generování, doplnění nebo opravu kódu, zatímco vizuální asistent může vráceným textem vysvětlit graf nebo obrazovku. Instrukce k volání funkce se liší od připojené akce, která se skutečně vykonala.\n\nProměnlivé rozlišení obrázku řídí rozpočet vizuálních tokenů. Zdokumentované možnosti jsou 70, 140, 280, 560 a 1 120 tokenů. Nižší rozpočty se hodí pro klasifikaci nebo popisky; vyšší zachovávají více detailů pro OCR, zpracování dokumentů a drobný text za cenu dalších výpočtů. Před přípravou obrázku rozhodněte, zda potřebujete celkovou scénu, nebo přesné znění nápisů. Jasný výřez štítku může být pro získání textu užitečnější než neurčitý požadavek na prozkoumání každého detailu celé stránky.\n\nGoogle pro tuto rodinu doporučuje konfiguraci vzorkování temperature 1.0, top-p 0.95 a top-k 64. Karta modelu rozlišuje trénování ve více než 140 jazycích a podporu více než 35 jazyků bez dalších úprav. V zadání výslovně uveďte jazyk odpovědi a názvy domén, polí nebo vzorce, které je třeba zachovat. Údaj 256K je specifikací kontextu; citovaná karta modelu pro tuto edici nestanovuje samostatný univerzální limit délky výstupu.\n\nPro úlohu propojující dokument a kód poskytněte obrázek příslušné stránky, písemný požadavek a úryvek zdrojového kódu: „Přečti popisky, vysvětli, v čem se tato obrazovka liší od specifikace, a navrhni cílenou opravu dodaného kódu.“ U grafu žádejte, aby odpověď odlišovala viditelné hodnoty od odvozeného trendu. Karta Gemma upozorňuje na omezení u nejednoznačného jazyka, velmi složitých úloh a nesprávných či zastaralých faktických tvrzení. Přiložte proto autoritativní fakta, z nichž má požadovaný výsledek vycházet, místo očekávání, že je doplní znalosti získané při trénování.\n\nProstřednictvím Ailoot vyberte toto přesné ID modelu v /v1/chat/completions a zadejte úlohu v messages. Každá zpráva obsahuje role a svůj content; související instrukce a zdrojové podklady ponechte pohromadě. Shromážděte celou odpověď JSON nebo všechny segmenty SSE, pokud je zapnutý stream, a spolu s písemným výsledkem uchovejte usage.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Kompletní ceník konfigurace v podrobnostech."
      }
    ],
    "ctx": null,
    "formats": [
      "chat"
    ],
    "id": "google/gemma-4-31b-it:free",
    "input": [
      "text",
      "image"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "accepted_material_guidance": {
              "content_type": "application/json",
              "example_scope": "The preserved text example is one valid request form, not the full protocol input set.",
              "image_condition": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model.",
              "material_types": [
                "text",
                "image"
              ],
              "text_file_material": "Actual UTF-8 text can be inserted in a text content part."
            },
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "authentication": {
              "header": "Authorization",
              "scheme": "Bearer",
              "value": "$AILOOT_API_KEY"
            },
            "errors": [
              {
                "condition": "Povinné pole, selektor modelu, typ nebo podoba vstupu jsou neplatné.",
                "http_status": 400,
                "recovery": "Před přípravou samostatného požadavku si prohlédněte vrácené podrobnosti validace.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Původní požadavek nebo výsledek je neznámý nebo vyžaduje kontrolu.",
                "http_status": null,
                "recovery": "Zachovejte původní identifikátory a hlavičky; čtěte pouze podporované záznamy o stavu nebo záznamy knihovny. Požadavek na vytvoření znovu neodesílejte.",
                "type": null
              }
            ],
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "mode": "synchronous_or_streamed",
              "status": [],
              "unknown": "Zachovejte původní X-Client-Request-ID, odpověď a hlavičky. Neznámý výsledek ani výsledek result_pending_check neopravňují k druhému vytvoření.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "materials": [
                  "text"
                ],
                "mode": "text_input",
                "required": [
                  "messages"
                ]
              },
              {
                "condition": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model.",
                "materials": [
                  "text",
                  "image"
                ],
                "mode": "image_with_text",
                "required": [
                  "messages with actual image content blocks"
                ]
              }
            ],
            "model_capability_scope": {
              "all_models_vision_claim": false,
              "manufacturer_description_preserved": "Retain grounded accepted legacy vision descriptions; a plain text example is not a capability ceiling.",
              "model_vision": "conditional_on_exact_model_capability",
              "transport_materials": [
                "text",
                "image"
              ],
              "video_audio_inferred": false
            },
            "outputs": {
              "all_results": "Zachovejte každý blok obsahu, ID volání nástroje, podpis uvažování, pokud je vrácen, všechny přírůstky SSE a úplné údaje o využití. První textový fragment není celý výsledek.",
              "every_actual_output": true,
              "family": "text",
              "fields": [
                {
                  "name": "choices[]",
                  "type": "object"
                },
                {
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "JSON or SSE"
            },
            "parameters": [
              {
                "conditions": "Použijte přesně tento směrovací selektor Ailoot.",
                "default_known": false,
                "enum": [
                  "google/gemma-4-31b-it:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "items": {
                  "properties": {
                    "content": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": {
                            "oneOf": [
                              {
                                "properties": {
                                  "text": {
                                    "type": "string"
                                  },
                                  "type": {
                                    "const": "text"
                                  }
                                },
                                "required": [
                                  "type",
                                  "text"
                                ],
                                "type": "object"
                              },
                              {
                                "properties": {
                                  "image_url": {
                                    "properties": {
                                      "detail": {
                                        "type": "string"
                                      },
                                      "url": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "url"
                                    ],
                                    "type": "object"
                                  },
                                  "type": {
                                    "const": "image_url"
                                  }
                                },
                                "required": [
                                  "type",
                                  "image_url"
                                ],
                                "type": "object"
                              }
                            ]
                          },
                          "type": "array"
                        }
                      ]
                    },
                    "role": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "conditions": "",
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "messages": {
                  "items": {
                    "properties": {
                      "content": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "oneOf": [
                                {
                                  "properties": {
                                    "text": {
                                      "type": "string"
                                    },
                                    "type": {
                                      "const": "text"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "text"
                                  ],
                                  "type": "object"
                                },
                                {
                                  "properties": {
                                    "image_url": {
                                      "properties": {
                                        "detail": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": {
                                      "const": "image_url"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "image_url"
                                  ],
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "role": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "google/gemma-4-31b-it:free"
                  ],
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "messages"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "messages": [
                  {
                    "content": "Explain how a rainbow forms.",
                    "role": "user"
                  }
                ],
                "model": "google/gemma-4-31b-it:free"
              },
              "content_type": "application/json",
              "example_is_offline_content": true
            },
            "usage": {
              "meter": "Use the accepted method price and actual recorded usage; the request reserve is an estimate. A billing unit does not add an input capability.",
              "preserve": "Keep all returned usage, accounting and request identifiers with every actual output.",
              "settlement": "Retain the original operation; reconcile its result and accounting once."
            }
          },
          "input": {
            "conditions": [
              "Použijte přesně tento směrovací selektor Ailoot.",
              "Tento protokol přenáší obrazový obsah, pokud konkrétní vybraný model podporuje zpracování obrazu. Přijetí požadavku protokolem nedokládá podporu obrázků u každého modelu."
            ],
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "stream"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/chat/completions"
            },
            "mode": "synchronous_or_streamed",
            "status": [],
            "unknown": "Keep the original X-Client-Request-ID, response and headers. An unknown or result_pending_check outcome does not authorize a second creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "output": {
            "all_results": "Retain every content block, tool-call ID, thinking signature when returned, all SSE deltas and complete usage. A first text fragment is not the whole result.",
            "every_actual_output": true,
            "family": "text",
            "fields": [
              {
                "name": "choices[]",
                "type": "object"
              },
              {
                "name": "usage",
                "type": "object"
              }
            ],
            "format": "JSON or SSE"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/gemma-4-31b-it:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Explain how a rainbow forms.\"}]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "chat",
        "http": "POST",
        "in": 0,
        "input": [
          "text",
          "image"
        ],
        "input_conditions": {
          "image": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model."
        },
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          },
          {
            "label": "Nulové sazby pouze pro text",
            "value": "Pro mezipaměť, nástroje a média platí samostatně uvedené cenové podmínky.",
            "when": "Pro výhradně textový vstup a výstup"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemma-4-31b-it:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/gemma-4-31b-it:free",
        "request_model_id": "google/gemma-4-31b-it:free",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemma 4 31B (free)",
    "price": {
      "in": 0,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0,
      "sort_out": 0,
      "varies": false
    },
    "short": "Gemma 4 31B IT je hustý model Googlu doladěný pro instrukce, určený k textovému a vizuálnímu uvažování. Kontext 256K, nastavitelné přemýšlení, porozumění obrázkům a nativní volání funkcí podporují programování, práci s dokumenty a agentní úlohy s textovým výstupem.",
    "title": "Google: Gemma 4 31B (free)"
  },
  "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": "Gemma 4 31B IT je hustý model Googlu doladěný pro instrukce, určený k textovému a vizuálnímu uvažování. Kontext 256K, nastavitelné přemýšlení, porozumění obrázkům a nativní volání funkcí podporují programování, práci s dokumenty a agentní úlohy s textovým výstupem.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "0c931df0b2cb1c1f040782630284330f145081bd099cc7251aa3e37dbd2310b2",
    "renderer_sha256": "41721c81890b87836cd3fd41ef732d3276f5969e30822ba09962305294953718"
  },
  "sourceRevision": "e53bbd2d734591aa5b33f0d9f127281451cedcc8188068e695a2d98b82ee5d77"
}
