{
  "aboutHtml": "<p>Gemini 3.8 Flash-Lite TTS je navržen pro velké množství řečových operací: čtení textu, hlasové zpracování navazujících replik a běžné hlasové scénáře. Podle Google je jeho profilem krátká prodleva a efektivní hromadné zpracování.</p><h4>Volba hlasu</h4><p>Model podporuje <strong>101 jazyků</strong>, včetně ruštiny. Mezi možnostmi jsou <strong>30 hotových hlasů</strong>, rozšířená knihovna, vytváření hlasu a napodobení hlasu podle vzorku. Hlas, styl a samotná vyslovená replika se zadávají samostatně, takže text určený k přednesu není potřeba míchat s popisem charakteru čtení.</p><p>Flash-Lite používá stejný formát řízení řeči jako Gemini 3.8 Flash TTS. V dialogu patří repliky určitým mluvčím. Počet hotových hlasů v jednom požadavku s více hlasy je omezen na dva; hlasy vytvořené podle popisu nebo vzorku se používají v samostatných řečových replikách.</p><h4>Co se předává na vstupu</h4><p>Na vstupu se předává <strong>text až do 8 192 tokenů</strong>, na výstupu vzniká <strong>zvuk s limitem 16 384 tokenů</strong>. Nastavení přednesu řídí styl projevu a krátké hlasové projevy i pauzy se zadávají speciálními zvukovými značkami v textu. Jde o syntézu řeči podle zadané repliky, nikoli o generování textové odpovědi na otázku.</p><h4>Formáty a zpracování</h4><p>Pro běžnou odpověď se ve výchozím nastavení používá <strong>WAV</strong>. Výchozím streamovaným formátem je <strong>PCM bez hlavičky</strong>. Výchozí parametry zvuku jsou <strong>24 kHz, jeden kanál a 16 bitů</strong>. Výrobce nabízí také PCM, mu-law a A-law. Podporováno je ukládání kontextu do mezipaměti i dávkové zpracování. Možnosti zvukového formátu je třeba posuzovat samostatně od skutečného způsobu získání souboru zvolenou řečovou metodou.</p><h4>Hranice modelu</h4><p>U této verze nejsou deklarovány Thinking, volání funkcí, provádění kódu, vyhledávání v souborech, podložení vyhledáváním, Google Maps, strukturované textové odpovědi, vytváření obrázků ani využívání obsahu webových adres. Jejím účelem je rychle přednášet připravený materiál.</p><p>Zaměření na krátkou prodlevu neurčuje dobu dokončení každého požadavku. Jazykové pokrytí, způsoby volby hlasu a řízení přednesu popisují schopnosti samotného modelu a neznamenají automatickou dostupnost všech nastavení v libovolné řečové metodě.</p>",
  "aboutText": "Gemini 3.8 Flash-Lite TTS je navržen pro velké množství řečových operací: čtení textu, hlasové zpracování navazujících replik a běžné hlasové scénáře. Podle Google je jeho profilem krátká prodleva a efektivní hromadné zpracování.\n\n### Volba hlasu\n\nModel podporuje **101 jazyků**, včetně ruštiny. Mezi možnostmi jsou **30 hotových hlasů**, rozšířená knihovna, vytváření hlasu a napodobení hlasu podle vzorku. Hlas, styl a samotná vyslovená replika se zadávají samostatně, takže text určený k přednesu není potřeba míchat s popisem charakteru čtení.\n\nFlash-Lite používá stejný formát řízení řeči jako Gemini 3.8 Flash TTS. V dialogu patří repliky určitým mluvčím. Počet hotových hlasů v jednom požadavku s více hlasy je omezen na dva; hlasy vytvořené podle popisu nebo vzorku se používají v samostatných řečových replikách.\n\n### Co se předává na vstupu\n\nNa vstupu se předává **text až do 8 192 tokenů**, na výstupu vzniká **zvuk s limitem 16 384 tokenů**. Nastavení přednesu řídí styl projevu a krátké hlasové projevy i pauzy se zadávají speciálními zvukovými značkami v textu. Jde o syntézu řeči podle zadané repliky, nikoli o generování textové odpovědi na otázku.\n\n### Formáty a zpracování\n\nPro běžnou odpověď se ve výchozím nastavení používá **WAV**. Výchozím streamovaným formátem je **PCM bez hlavičky**. Výchozí parametry zvuku jsou **24 kHz, jeden kanál a 16 bitů**. Výrobce nabízí také PCM, mu-law a A-law. Podporováno je ukládání kontextu do mezipaměti i dávkové zpracování. Možnosti zvukového formátu je třeba posuzovat samostatně od skutečného způsobu získání souboru zvolenou řečovou metodou.\n\n### Hranice modelu\n\nU této verze nejsou deklarovány Thinking, volání funkcí, provádění kódu, vyhledávání v souborech, podložení vyhledáváním, Google Maps, strukturované textové odpovědi, vytváření obrázků ani využívání obsahu webových adres. Jejím účelem je rychle přednášet připravený materiál.\n\nZaměření na krátkou prodlevu neurčuje dobu dokončení každého požadavku. Jazykové pokrytí, způsoby volby hlasu a řízení přednesu popisují schopnosti samotného modelu a neznamenají automatickou dostupnost všech nastavení v libovolné řečové metodě.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "06aaeb10ac86141a59c963e0b61b70f0e67350ad0cd268d8de559f119df3016f",
    "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\">Gemini 3.8 Flash Lite Tts</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zavřít\">×</button></div><div class=\"idline\"><span>Google /</span><code>gemini-3.8-flash-lite-tts</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=\"Core|speech|/v1/audio/speech|gemini-3.8-flash-lite-tts\">Převod na řeč</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\">Řečový model Google pro hromadné hlasové zpracování textů, navazujících replik a hlasových scénářů ve 101 jazycích.</p><dl class=\"card-io\" data-card-io><div><dt>Přijímané vstupy</dt><dd>Text</dd></div><div><dt>Výsledky</dt><dd>Zvuk</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>Gemini 3.8 Flash-Lite TTS je navržen pro velké množství řečových operací: čtení textu, hlasové zpracování navazujících replik a běžné hlasové scénáře. Podle Google je jeho profilem krátká prodleva a efektivní hromadné zpracování.</p><h4>Volba hlasu</h4><p>Model podporuje <strong>101 jazyků</strong>, včetně ruštiny. Mezi možnostmi jsou <strong>30 hotových hlasů</strong>, rozšířená knihovna, vytváření hlasu a napodobení hlasu podle vzorku. Hlas, styl a samotná vyslovená replika se zadávají samostatně, takže text určený k přednesu není potřeba míchat s popisem charakteru čtení.</p><p>Flash-Lite používá stejný formát řízení řeči jako Gemini 3.8 Flash TTS. V dialogu patří repliky určitým mluvčím. Počet hotových hlasů v jednom požadavku s více hlasy je omezen na dva; hlasy vytvořené podle popisu nebo vzorku se používají v samostatných řečových replikách.</p><h4>Co se předává na vstupu</h4><p>Na vstupu se předává <strong>text až do 8 192 tokenů</strong>, na výstupu vzniká <strong>zvuk s limitem 16 384 tokenů</strong>. Nastavení přednesu řídí styl projevu a krátké hlasové projevy i pauzy se zadávají speciálními zvukovými značkami v textu. Jde o syntézu řeči podle zadané repliky, nikoli o generování textové odpovědi na otázku.</p><h4>Formáty a zpracování</h4><p>Pro běžnou odpověď se ve výchozím nastavení používá <strong>WAV</strong>. Výchozím streamovaným formátem je <strong>PCM bez hlavičky</strong>. Výchozí parametry zvuku jsou <strong>24 kHz, jeden kanál a 16 bitů</strong>. Výrobce nabízí také PCM, mu-law a A-law. Podporováno je ukládání kontextu do mezipaměti i dávkové zpracování. Možnosti zvukového formátu je třeba posuzovat samostatně od skutečného způsobu získání souboru zvolenou řečovou metodou.</p><h4>Hranice modelu</h4><p>U této verze nejsou deklarovány Thinking, volání funkcí, provádění kódu, vyhledávání v souborech, podložení vyhledáváním, Google Maps, strukturované textové odpovědi, vytváření obrázků ani využívání obsahu webových adres. Jejím účelem je rychle přednášet připravený materiál.</p><p>Zaměření na krátkou prodlevu neurčuje dobu dokončení každého požadavku. Jazykové pokrytí, způsoby volby hlasu a řízení přednesu popisují schopnosti samotného modelu a neznamenají automatickou dostupnost všech nastavení v libovolné řečové metodě.</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 · Převod na řeč</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Vstup</dt><dd><code>text</code></dd></div><div><dt>Výstup</dt><dd><code>audio</code></dd></div><div><dt>Kontext</dt><dd>8 192 tokens</dd></div><div><dt>Maximální výstup</dt><dd>16 384 tokens</dd></div><div><dt>Výstupní formát</dt><dd>nativní bajty zvuku nebo odkazy na soubory v JSON</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Pole</th><th>Typ</th><th>Požadavek</th><th>Hodnoty a limity</th><th>Výchozí</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>gemini-3.8-flash-lite-tts</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">input</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>Minimální délka: 1</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">voice</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Achernar, Achird, Algenib, Algieba, Alnilam, Aoede, Arlo, Autonoe, Bodi, Brio, Callirrhoe, Charon, Cleo, Cruz, Daro, Despina, Elio, Enceladus, Enya, Enzo, Erinome, Fenrir, Finn, Fola, Gacrux, Gero, Hali, Iapetus, Jett, Jori, Kira, Knox, Koda, Kore, Laomedeia, Leda, Lora, Ludo, Lumi, Mako, Milo, Neno, Nika, Nyla, Olin, Orus, Puck, Pulcherrima, Rami, Rasalgethi, Riko, Rina, Sadachbia, Sadaltager, Sami, Schedar, Sola, Sulafat, Tari, Tavi, Tova, Umbriel, Varo, Veda, Vindemiatrix, Zali, Zeno, Zephyr, Zubenelgenubi, Zuri</div></td><td data-cell-label=\"Výchozí\" data-default=\"known\"><span class=\"card-cell-label\">Výchozí</span>Kore</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>, wav, json</div></td><td data-cell-label=\"Výchozí\" data-default=\"known\"><span class=\"card-cell-label\">Výchozí</span></td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">stream_format</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>audio</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kombinace vstupních materiálů</summary><p class=\"note-s\"><b>text_to_speech</b> · Povinné: input</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>material_types</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>text</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>null</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>optional_controls</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>null</td></tr></tbody></table></div><p>Životní cyklus: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · skutečně vrácené task_id nebo záznam v knihovně médií</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p><p class=\"note-s\">Struktury metod a ID jsou přesné; schopnosti dodavatele jsou oddělené od připuštění požadavku.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarify</h3><h4>Sazby metod Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Převod na řeč</b><code>POST /v1/audio/speech</code></header><dl><div><dt>Vstup</dt><dd>0,0005 US$ <em>/ 1K</em></dd></div><div><dt>Výstup</dt><dd>0,006 US$ <em>/ 1K</em></dd></div><div><dt>Čtení z mezipaměti</dt><dd>0,000125 US$ <em>/ 1K</em></dd></div></dl></section><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 · Převod na řeč</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-344-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-344-panel-0\" aria-selected=\"true\" tabindex=\"0\">Příklad řeči</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-344-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-344-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;gemini-3.8-flash-lite-tts&quot;, &quot;input&quot;: &quot;&quot;}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;input&quot;]=text\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/audio/speech \\\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 speech.wav\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 · Převod na řeč</h4><p class=\"note-s\">nativní bajty zvuku nebo odkazy na soubory v JSON</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><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\">Jediný výstup standardně vrací nativní bajty zvuku se skutečným Content-Type; response_format=json nebo více výstupů vrátí všechny odkazy spravované službou. Bez požadovaného převodu na MP3/Opus/AAC/FLAC/PCM a bez SSE.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Pokud je nutné ověřit původní odpověď</h5><p class=\"note-s\">Uchovejte původní operation_id/X-Client-Request-ID pro spárování záznamů bez opětovného odeslání; samostatná trasa pro dotazování na stav zvuku neexistuje.</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\">binary native audio</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>bytes</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">response_id</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">actual_count</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>owned audio asset link</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>Neplatná povinná pole, reprezentace podkladů nebo hodnota parametru</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Před novým požadavkem na vytvoření opravte uvedená pole.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span><code>server_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Vrácená odpověď uvádí, že operaci nebo výsledek je třeba zkontrolovat</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Uchovejte původní vrácené ID operace nebo úlohy, hlavičky požadavku a odpověď; pokračujte v podporovaném načítání údajů o této původní operaci. 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=\"Core\"><b>Ailoot</b> <a href=\"#m=gemini-3.8-flash-lite-tts&amp;route=Core&amp;caller=gemini-3.8-flash-lite-tts&amp;fmt=speech\"><code>gemini-3.8-flash-lite-tts</code></a></span></p><h4>Aliasy cest metod</h4><p class=\"note-s\">Použijte cesty metod uvedené výše.</p><h4>Související ID modelů</h4><p class=\"note-s\"><a href=\"#m=gemini-3.8-flash-lite-tts&amp;route=Core&amp;caller=gemini-3.8-flash-lite-tts&amp;fmt=speech\"><code>gemini-3.8-flash-lite-tts</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "gemini-3.8-flash-lite-tts",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "gemini-3.8-flash-lite-tts",
        "route_label": "Core"
      },
      "method_key": "Core|speech|/v1/audio/speech|gemini-3.8-flash-lite-tts",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": 0.125,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "A single output defaults to native audio bytes with actualContent-Type; response_format=json or multiple outputs returns all owned links. No requested MP3/Opus/AAC/FLAC/PCM conversion or SSE.",
            "errors": [
              {
                "code": null,
                "condition": "Neplatná povinná pole, reprezentace podkladů nebo hodnota parametru",
                "http_status": 400,
                "recovery": "Před novým požadavkem na vytvoření opravte uvedená pole.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Vrácená odpověď uvádí, že operaci nebo výsledek je třeba zkontrolovat",
                "http_status": null,
                "recovery": "Uchovejte původní vrácené ID operace nebo úlohy, hlavičky požadavku a odpověď; pokračujte v podporovaném načítání údajů o této původní operaci. Požadavek na vytvoření znovu neodesílejte.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Uchovejte původní operation_id/X-Client-Request-ID pro spárování záznamů bez opětovného odeslání; samostatná trasa pro dotazování na stav zvuku neexistuje."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "Jediný výstup standardně vrací nativní bajty zvuku se skutečným Content-Type; response_format=json nebo více výstupů vrátí všechny odkazy spravované službou. Bez požadovaného převodu na MP3/Opus/AAC/FLAC/PCM a bez SSE.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary native audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "response_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "actual_count",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "owned audio asset link"
                }
              ],
              "format": "nativní bajty zvuku nebo odkazy na soubory v JSON"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "gemini-3.8-flash-lite-tts"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "Kore",
                "default_known": true,
                "enum": [
                  "Achernar",
                  "Achird",
                  "Algenib",
                  "Algieba",
                  "Alnilam",
                  "Aoede",
                  "Arlo",
                  "Autonoe",
                  "Bodi",
                  "Brio",
                  "Callirrhoe",
                  "Charon",
                  "Cleo",
                  "Cruz",
                  "Daro",
                  "Despina",
                  "Elio",
                  "Enceladus",
                  "Enya",
                  "Enzo",
                  "Erinome",
                  "Fenrir",
                  "Finn",
                  "Fola",
                  "Gacrux",
                  "Gero",
                  "Hali",
                  "Iapetus",
                  "Jett",
                  "Jori",
                  "Kira",
                  "Knox",
                  "Koda",
                  "Kore",
                  "Laomedeia",
                  "Leda",
                  "Lora",
                  "Ludo",
                  "Lumi",
                  "Mako",
                  "Milo",
                  "Neno",
                  "Nika",
                  "Nyla",
                  "Olin",
                  "Orus",
                  "Puck",
                  "Pulcherrima",
                  "Rami",
                  "Rasalgethi",
                  "Riko",
                  "Rina",
                  "Sadachbia",
                  "Sadaltager",
                  "Sami",
                  "Schedar",
                  "Sola",
                  "Sulafat",
                  "Tari",
                  "Tavi",
                  "Tova",
                  "Umbriel",
                  "Varo",
                  "Veda",
                  "Vindemiatrix",
                  "Zali",
                  "Zeno",
                  "Zephyr",
                  "Zubenelgenubi",
                  "Zuri"
                ],
                "enum_known": true,
                "name": "voice",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "",
                "default_known": true,
                "enum": [
                  "",
                  "wav",
                  "json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "audio"
                ],
                "enum_known": true,
                "name": "stream_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "SSE",
              "mp3/opus/aac/flac/pcm requestedtranscoding"
            ]
          },
          "hints": [
            "Struktury metod a ID jsou přesné; schopnosti dodavatele jsou oddělené od připuštění požadavku."
          ],
          "input": {
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": null
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "skutečně vrácené task_id nebo záznam v knihovně médií",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "operation_modes": [
            "audio_speech"
          ],
          "output": {
            "family": [
              "audio"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 8192,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"gemini-3.8-flash-lite-tts\", \"input\": \"\"}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=text\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/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o speech.wav\n",
            "label": "Synthesize your actual script",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.5,
        "input": [
          "text"
        ],
        "label": "Převod na řeč",
        "max_out": 16384,
        "max_tool_calls": null,
        "out": 6,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.5,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 6,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              },
              {
                "amount": 0.125,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_read",
                "label": "Cache read",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "gemini-3.8-flash-lite-tts",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    }
  ],
  "model_id": "gemini-3.8-flash-lite-tts",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "0e743ddcc279fb883f22bc1919786da6e50754106a379fa08914ec1fb587ebd9",
    "input_html_sha256": "d2aaa58fd9d58201e6a620d7757cca4c25cb5f517e0995b01358512fd7144339",
    "private_audit_sha256": "96fb245bc76f17e50ccb81aeb10d193afd9eb96c5620f2eacad40851f57d7c7b",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/cs/gemini-3-8-flash-lite-tts/",
    "description": "Řečový model Google pro hromadné hlasové zpracování textů, navazujících replik a hlasových scénářů ve 101 jazycích.",
    "locale": "cs",
    "md_url": "https://ailoot.ai/models/cs/gemini-3-8-flash-lite-tts/index.md",
    "title": "Gemini 3.8 Flash Lite Tts — Ailoot",
    "url": "https://ailoot.ai/models/cs/gemini-3-8-flash-lite-tts/"
  },
  "rawModel": {
    "about": "Gemini 3.8 Flash-Lite TTS je navržen pro velké množství řečových operací: čtení textu, hlasové zpracování navazujících replik a běžné hlasové scénáře. Podle Google je jeho profilem krátká prodleva a efektivní hromadné zpracování.\n\n### Volba hlasu\n\nModel podporuje **101 jazyků**, včetně ruštiny. Mezi možnostmi jsou **30 hotových hlasů**, rozšířená knihovna, vytváření hlasu a napodobení hlasu podle vzorku. Hlas, styl a samotná vyslovená replika se zadávají samostatně, takže text určený k přednesu není potřeba míchat s popisem charakteru čtení.\n\nFlash-Lite používá stejný formát řízení řeči jako Gemini 3.8 Flash TTS. V dialogu patří repliky určitým mluvčím. Počet hotových hlasů v jednom požadavku s více hlasy je omezen na dva; hlasy vytvořené podle popisu nebo vzorku se používají v samostatných řečových replikách.\n\n### Co se předává na vstupu\n\nNa vstupu se předává **text až do 8 192 tokenů**, na výstupu vzniká **zvuk s limitem 16 384 tokenů**. Nastavení přednesu řídí styl projevu a krátké hlasové projevy i pauzy se zadávají speciálními zvukovými značkami v textu. Jde o syntézu řeči podle zadané repliky, nikoli o generování textové odpovědi na otázku.\n\n### Formáty a zpracování\n\nPro běžnou odpověď se ve výchozím nastavení používá **WAV**. Výchozím streamovaným formátem je **PCM bez hlavičky**. Výchozí parametry zvuku jsou **24 kHz, jeden kanál a 16 bitů**. Výrobce nabízí také PCM, mu-law a A-law. Podporováno je ukládání kontextu do mezipaměti i dávkové zpracování. Možnosti zvukového formátu je třeba posuzovat samostatně od skutečného způsobu získání souboru zvolenou řečovou metodou.\n\n### Hranice modelu\n\nU této verze nejsou deklarovány Thinking, volání funkcí, provádění kódu, vyhledávání v souborech, podložení vyhledáváním, Google Maps, strukturované textové odpovědi, vytváření obrázků ani využívání obsahu webových adres. Jejím účelem je rychle přednášet připravený materiál.\n\nZaměření na krátkou prodlevu neurčuje dobu dokončení každého požadavku. Jazykové pokrytí, způsoby volby hlasu a řízení přednesu popisují schopnosti samotného modelu a neznamenají automatickou dostupnost všech nastavení v libovolné řečové metodě.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "ctx": 8192,
    "formats": [
      "speech"
    ],
    "id": "gemini-3.8-flash-lite-tts",
    "input": [
      "text"
    ],
    "kind": "speech",
    "max_out": 16384,
    "methods": [
      {
        "cache_read": 0.125,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "A single output defaults to native audio bytes with actualContent-Type; response_format=json or multiple outputs returns all owned links. No requested MP3/Opus/AAC/FLAC/PCM conversion or SSE.",
            "errors": [
              {
                "code": null,
                "condition": "Neplatná povinná pole, reprezentace podkladů nebo hodnota parametru",
                "http_status": 400,
                "recovery": "Před novým požadavkem na vytvoření opravte uvedená pole.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Vrácená odpověď uvádí, že operaci nebo výsledek je třeba zkontrolovat",
                "http_status": null,
                "recovery": "Uchovejte původní vrácené ID operace nebo úlohy, hlavičky požadavku a odpověď; pokračujte v podporovaném načítání údajů o této původní operaci. Požadavek na vytvoření znovu neodesílejte.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Uchovejte původní operation_id/X-Client-Request-ID pro spárování záznamů bez opětovného odeslání; samostatná trasa pro dotazování na stav zvuku neexistuje."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "Jediný výstup standardně vrací nativní bajty zvuku se skutečným Content-Type; response_format=json nebo více výstupů vrátí všechny odkazy spravované službou. Bez požadovaného převodu na MP3/Opus/AAC/FLAC/PCM a bez SSE.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary native audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "response_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "actual_count",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "owned audio asset link"
                }
              ],
              "format": "nativní bajty zvuku nebo odkazy na soubory v JSON"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "gemini-3.8-flash-lite-tts"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "Kore",
                "default_known": true,
                "enum": [
                  "Achernar",
                  "Achird",
                  "Algenib",
                  "Algieba",
                  "Alnilam",
                  "Aoede",
                  "Arlo",
                  "Autonoe",
                  "Bodi",
                  "Brio",
                  "Callirrhoe",
                  "Charon",
                  "Cleo",
                  "Cruz",
                  "Daro",
                  "Despina",
                  "Elio",
                  "Enceladus",
                  "Enya",
                  "Enzo",
                  "Erinome",
                  "Fenrir",
                  "Finn",
                  "Fola",
                  "Gacrux",
                  "Gero",
                  "Hali",
                  "Iapetus",
                  "Jett",
                  "Jori",
                  "Kira",
                  "Knox",
                  "Koda",
                  "Kore",
                  "Laomedeia",
                  "Leda",
                  "Lora",
                  "Ludo",
                  "Lumi",
                  "Mako",
                  "Milo",
                  "Neno",
                  "Nika",
                  "Nyla",
                  "Olin",
                  "Orus",
                  "Puck",
                  "Pulcherrima",
                  "Rami",
                  "Rasalgethi",
                  "Riko",
                  "Rina",
                  "Sadachbia",
                  "Sadaltager",
                  "Sami",
                  "Schedar",
                  "Sola",
                  "Sulafat",
                  "Tari",
                  "Tavi",
                  "Tova",
                  "Umbriel",
                  "Varo",
                  "Veda",
                  "Vindemiatrix",
                  "Zali",
                  "Zeno",
                  "Zephyr",
                  "Zubenelgenubi",
                  "Zuri"
                ],
                "enum_known": true,
                "name": "voice",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "",
                "default_known": true,
                "enum": [
                  "",
                  "wav",
                  "json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "audio"
                ],
                "enum_known": true,
                "name": "stream_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "SSE",
              "mp3/opus/aac/flac/pcm requestedtranscoding"
            ]
          },
          "hints": [
            "Struktury metod a ID jsou přesné; schopnosti dodavatele jsou oddělené od připuštění požadavku."
          ],
          "input": {
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": null
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "skutečně vrácené task_id nebo záznam v knihovně médií",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "operation_modes": [
            "audio_speech"
          ],
          "output": {
            "family": [
              "audio"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 8192,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"gemini-3.8-flash-lite-tts\", \"input\": \"\"}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=text\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/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o speech.wav\n",
            "label": "Synthesize your actual script",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.5,
        "input": [
          "text"
        ],
        "label": "Převod na řeč",
        "max_out": 16384,
        "max_tool_calls": null,
        "out": 6,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.5,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 6,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              },
              {
                "amount": 0.125,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_read",
                "label": "Cache read",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "gemini-3.8-flash-lite-tts",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "gemini-3.8-flash-lite-tts",
        "request_model_id": "gemini-3.8-flash-lite-tts",
        "route_label": "Core"
      }
    ],
    "name": "Gemini 3.8 Flash Lite Tts",
    "price": {
      "in": 0.5,
      "in_label": null,
      "out": 6,
      "out_label": null,
      "sort_in": 0.5,
      "sort_out": 6,
      "varies": false
    },
    "short": "Řečový model Google pro hromadné hlasové zpracování textů, navazujících replik a hlasových scénářů ve 101 jazycích."
  },
  "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": "Řečový model Google pro hromadné hlasové zpracování textů, navazujících replik a hlasových scénářů ve 101 jazycích.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "99692880cda29fb1d5f1f632f9d1d965b348609a8a30b92bc8310e0cd7f40a17",
    "renderer_sha256": "41721c81890b87836cd3fd41ef732d3276f5969e30822ba09962305294953718"
  },
  "sourceRevision": "86c9aba341f82e45e62cdebdc3e079d819a26fbc100fd1692e82c14b3d595f3e"
}
