{
  "aboutHtml": "<p>Gemini 3.8 Flash TTS je namenjen izrazni govorni izvedbi in dolgemu pripovedovanju. Google izpostavlja zvočne knjige, pogovore z več govorci in stalnost glasu v dolgih odsekih. Upravljanje govora zajema čustveno podajo, ritem in izgovarjavo, vključno z regionalnimi naglasi in narečji.</p><h4>Glasovi in jeziki</h4><p>Za model je navedenih <strong>130 jezikov</strong>, vključno z ruščino. Na voljo je <strong>30 že pripravljenih glasov</strong>, razširjena knjižnica, ustvarjanje glasovnega profila po opisu in reprodukcija glasu po vzorcu. Te zmožnosti omogočajo izbiro barve glasu in značaja izvedbe za konkretno gradivo.</p><p>Replike pogovora se povežejo z govorci. Ena zahteva z več govorci lahko uporablja največ dva že pripravljena glasova. Z glasovi, ustvarjenimi po opisu ali vzorcu, se replike sintetizirajo ločeno; obstoj takšnega glasu ga ne spremeni v še en že pripravljen glas znotraj večglasne zahteve.</p><h4>Besedilo in upravljanje podaje</h4><p>Vhod je <strong>besedilo</strong>, izhod pa <strong>zvok</strong>. Omejitvi sta <strong>8 192 vhodnih tokenov</strong> in <strong>16 384 izhodnih tokenov</strong>. Besedilo se obravnava kot izgovorjena replika; opis sloga in izbrani govorec se določita ločeno. Tako je mogoče ločiti besede, ki morajo zazveneti, od navodil o tem, kako jih brati.</p><p>Slog zajema čustvo, tempo, glasnost in prozodijo. Kratki dogodki — smeh, vzdih, premor — se določijo s posebnimi zvočnimi oznakami znotraj replike. Takšne oznake služijo usmerjanju izvedbe in niso običajne besede za branje.</p><h4>Zvočni formati in zmožnosti</h4><p>Pri običajnem ustvarjanju se privzeto vrne <strong>WAV</strong>. Za pretočni prenos se privzeto uporablja <strong>PCM brez glave</strong>. Izvorni parametri so <strong>24 kHz, en kanal in 16 bitov</strong>. Predvideni so tudi PCM, mu-law in A-law. Podprta sta predpomnjenje konteksta in paketna obdelava. Konkretni format datoteke in razpoložljive nastavitve so odvisni od izbranega govornega načina dostopa.</p><p>Model je specializiran za ustvarjanje govora. Klici funkcij, izvajanje kode, iskanje po datotekah, utemeljevanje z iskanjem, Google Maps, ustvarjanje slik, strukturirani besedilni odgovori, Thinking in vsebina spletnih naslovov niso podprti. Stalen glas in nastavljiva izraznost sta navedeni usmeritvi modela in ne obljuba popolne izgovarjave vsake replike.</p>",
  "aboutText": "Gemini 3.8 Flash TTS je namenjen izrazni govorni izvedbi in dolgemu pripovedovanju. Google izpostavlja zvočne knjige, pogovore z več govorci in stalnost glasu v dolgih odsekih. Upravljanje govora zajema čustveno podajo, ritem in izgovarjavo, vključno z regionalnimi naglasi in narečji.\n\n### Glasovi in jeziki\n\nZa model je navedenih **130 jezikov**, vključno z ruščino. Na voljo je **30 že pripravljenih glasov**, razširjena knjižnica, ustvarjanje glasovnega profila po opisu in reprodukcija glasu po vzorcu. Te zmožnosti omogočajo izbiro barve glasu in značaja izvedbe za konkretno gradivo.\n\nReplike pogovora se povežejo z govorci. Ena zahteva z več govorci lahko uporablja največ dva že pripravljena glasova. Z glasovi, ustvarjenimi po opisu ali vzorcu, se replike sintetizirajo ločeno; obstoj takšnega glasu ga ne spremeni v še en že pripravljen glas znotraj večglasne zahteve.\n\n### Besedilo in upravljanje podaje\n\nVhod je **besedilo**, izhod pa **zvok**. Omejitvi sta **8 192 vhodnih tokenov** in **16 384 izhodnih tokenov**. Besedilo se obravnava kot izgovorjena replika; opis sloga in izbrani govorec se določita ločeno. Tako je mogoče ločiti besede, ki morajo zazveneti, od navodil o tem, kako jih brati.\n\nSlog zajema čustvo, tempo, glasnost in prozodijo. Kratki dogodki — smeh, vzdih, premor — se določijo s posebnimi zvočnimi oznakami znotraj replike. Takšne oznake služijo usmerjanju izvedbe in niso običajne besede za branje.\n\n### Zvočni formati in zmožnosti\n\nPri običajnem ustvarjanju se privzeto vrne **WAV**. Za pretočni prenos se privzeto uporablja **PCM brez glave**. Izvorni parametri so **24 kHz, en kanal in 16 bitov**. Predvideni so tudi PCM, mu-law in A-law. Podprta sta predpomnjenje konteksta in paketna obdelava. Konkretni format datoteke in razpoložljive nastavitve so odvisni od izbranega govornega načina dostopa.\n\nModel je specializiran za ustvarjanje govora. Klici funkcij, izvajanje kode, iskanje po datotekah, utemeljevanje z iskanjem, Google Maps, ustvarjanje slik, strukturirani besedilni odgovori, Thinking in vsebina spletnih naslovov niso podprti. Stalen glas in nastavljiva izraznost sta navedeni usmeritvi modela in ne obljuba popolne izgovarjave vsake replike.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "ea51a367ab99e8fd353a4fe3a8c2f3b50232cd40c7bc29762d0dd452ccbd6459",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "sl",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">G</span><h2 id=\"sheet-title\">Gemini 3.8 Flash Tts</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zapri\">×</button></div><div class=\"idline\"><span>Google /</span><code>gemini-3.8-flash-tts</code><button type=\"button\" id=\"copy-id\">Kopiraj ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Razdelki kartice modela\"><button type=\"button\" data-card-jump=\"overview\">Začetek</button><button type=\"button\" data-card-jump=\"methods\">Vhodi in metode</button><button type=\"button\" data-card-jump=\"pricing\">Cenik</button><button type=\"button\" data-card-jump=\"examples\">Primeri</button><button type=\"button\" data-card-jump=\"results\">Rezultati</button><button type=\"button\" data-card-jump=\"aliases\">Druga imena</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metode 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-tts\">Pretvorba v govor</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\">Začetek</h3><p class=\"mdesc-full\">Govorni model družbe Google za izrazno govorno izvedbo, zvočne knjige in pogovore z upravljanjem glasu ter podporo 130 jezikom.</p><dl class=\"card-io\" data-card-io><div><dt>Dovoljeni vhodi</dt><dd>Besedilo</dd></div><div><dt>Rezultati</dt><dd>Zvok</dd></div></dl><details class=\"card-about\"><summary>O modelu</summary><p class=\"note-s\" data-model-method-boundary>Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.</p><div class=\"mabout\" id=\"m-about\"><p>Gemini 3.8 Flash TTS je namenjen izrazni govorni izvedbi in dolgemu pripovedovanju. Google izpostavlja zvočne knjige, pogovore z več govorci in stalnost glasu v dolgih odsekih. Upravljanje govora zajema čustveno podajo, ritem in izgovarjavo, vključno z regionalnimi naglasi in narečji.</p><h4>Glasovi in jeziki</h4><p>Za model je navedenih <strong>130 jezikov</strong>, vključno z ruščino. Na voljo je <strong>30 že pripravljenih glasov</strong>, razširjena knjižnica, ustvarjanje glasovnega profila po opisu in reprodukcija glasu po vzorcu. Te zmožnosti omogočajo izbiro barve glasu in značaja izvedbe za konkretno gradivo.</p><p>Replike pogovora se povežejo z govorci. Ena zahteva z več govorci lahko uporablja največ dva že pripravljena glasova. Z glasovi, ustvarjenimi po opisu ali vzorcu, se replike sintetizirajo ločeno; obstoj takšnega glasu ga ne spremeni v še en že pripravljen glas znotraj večglasne zahteve.</p><h4>Besedilo in upravljanje podaje</h4><p>Vhod je <strong>besedilo</strong>, izhod pa <strong>zvok</strong>. Omejitvi sta <strong>8 192 vhodnih tokenov</strong> in <strong>16 384 izhodnih tokenov</strong>. Besedilo se obravnava kot izgovorjena replika; opis sloga in izbrani govorec se določita ločeno. Tako je mogoče ločiti besede, ki morajo zazveneti, od navodil o tem, kako jih brati.</p><p>Slog zajema čustvo, tempo, glasnost in prozodijo. Kratki dogodki — smeh, vzdih, premor — se določijo s posebnimi zvočnimi oznakami znotraj replike. Takšne oznake služijo usmerjanju izvedbe in niso običajne besede za branje.</p><h4>Zvočni formati in zmožnosti</h4><p>Pri običajnem ustvarjanju se privzeto vrne <strong>WAV</strong>. Za pretočni prenos se privzeto uporablja <strong>PCM brez glave</strong>. Izvorni parametri so <strong>24 kHz, en kanal in 16 bitov</strong>. Predvideni so tudi PCM, mu-law in A-law. Podprta sta predpomnjenje konteksta in paketna obdelava. Konkretni format datoteke in razpoložljive nastavitve so odvisni od izbranega govornega načina dostopa.</p><p>Model je specializiran za ustvarjanje govora. Klici funkcij, izvajanje kode, iskanje po datotekah, utemeljevanje z iskanjem, Google Maps, ustvarjanje slik, strukturirani besedilni odgovori, Thinking in vsebina spletnih naslovov niso podprti. Stalen glas in nastavljiva izraznost sta navedeni usmeritvi modela in ne obljuba popolne izgovarjave vsake replike.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Na voljo v Ailoot · vhodi in metode</h3><details class=\"card-method\" open><summary><b>Ailoot · Pretvorba v govor</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Vhod</dt><dd><code>text</code></dd></div><div><dt>Izhod</dt><dd><code>audio</code></dd></div><div><dt>Kontekst</dt><dd>8192 tokens</dd></div><div><dt>Največji izhod</dt><dd>16.384 tokens</dd></div><div><dt>Izhodni format</dt><dd>izvorni zvočni bajti ali povezave JSON do sredstev</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Polje</th><th>Vrsta</th><th>Zahteva</th><th>Vrednosti in omejitve</th><th>Privzeto</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Obvezno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>gemini-3.8-flash-tts</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Obvezno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>Najmanjša dolžina: 1</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">voice</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</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=\"Privzeto\" data-default=\"known\"><span class=\"card-cell-label\">Privzeto</span>Kore</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>, wav, json</div></td><td data-cell-label=\"Privzeto\" data-default=\"known\"><span class=\"card-cell-label\">Privzeto</span></td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">stream_format</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>audio</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kombinacije vhodnih gradiv</summary><p class=\"note-s\"><b>text_to_speech</b> · Obvezno: input</p></details><details class=\"note-s\" data-method-contract><summary>Parametri in življenjski cikel metode</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Specifikacija</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>text</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>null</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>optional_controls</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>null</td></tr></tbody></table></div><p>Življenjski cikel: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Dejansko vrnjeni task_id ali zapis v medijski knjižnici</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\">Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Cenik</h3><h4>Cene metod Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Pretvorba v govor</b><code>POST /v1/audio/speech</code></header><dl><div><dt>Vhod</dt><dd>0,0005 $ <em>/ 1K</em></dd></div><div><dt>Izhod</dt><dd>0,009 $ <em>/ 1K</em></dd></div><div><dt>Branje predpomnilnika</dt><dd>0,000125 $ <em>/ 1K</em></dd></div></dl></section><p class=\"note-s\">Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. <a href=\"/docs/sl/billing/reserve/\">Kako delujeta rezervacija in obračun →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Primeri zahtev</h3><h4>Ailoot · Pretvorba v govor</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Primeri kode\"><button class=\"cg-tab\" id=\"model-code-351-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-351-panel-0\" aria-selected=\"true\" tabindex=\"0\">Primer pretvorbe v govor</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiraj kodo\"><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-351-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-351-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-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\">Prejmi in shrani rezultate</h3><h4>Ailoot · Pretvorba v govor</h4><p class=\"note-s\">izvorni zvočni bajti ali povezave JSON do sredstev</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>Ohrani vse dokončane rezultate</h5><p class=\"note-s\">Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.</p><p class=\"note-s\">En izhod privzeto vrne izvorne zvočne bajte z dejanskim Content-Type; response_format=json ali več izhodov vrne vse povezave v vaši lasti. Brez zahtevane pretvorbe MP3/Opus/AAC/FLAC/PCM ali SSE.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Če je treba preveriti izvirni odgovor</h5><p class=\"note-s\">Shranite izvirni operation_id/X-Client-Request-ID za uskladitev evidenc brez ponovnega pošiljanja; namenska pot za periodično preverjanje zvoka ne obstaja.</p></div><details class=\"card-about\" data-output-fields><summary>Polja odgovora</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Polje</th><th>Vrsta</th></tr></thead><tbody><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">binary native audio</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>bytes</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>string</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">response_id</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>string</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">actual_count</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>integer</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>owned audio asset link</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Napake in naslednji koraki</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Odgovor</th><th>Pogoj</th><th>Naslednji korak</th></tr></thead><tbody><tr><th data-cell-label=\"Odgovor\" scope=\"row\"><span class=\"card-cell-label\">Odgovor</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Pogoj\"><span class=\"card-cell-label\">Pogoj</span>Neveljavna obvezna polja, predstavitev gradiva ali vrednost parametra</td><td data-cell-label=\"Naslednji korak\"><span class=\"card-cell-label\">Naslednji korak</span>Pred novo zahtevo za ustvarjanje popravite navedena polja.</td></tr><tr><th data-cell-label=\"Odgovor\" scope=\"row\"><span class=\"card-cell-label\">Odgovor</span><code>server_error</code></th><td data-cell-label=\"Pogoj\"><span class=\"card-cell-label\">Pogoj</span>Vrnjeni odgovor navaja, da je treba operacijo ali rezultat preveriti</td><td data-cell-label=\"Naslednji korak\"><span class=\"card-cell-label\">Naslednji korak</span>Shranite izvirni vrnjeni ID operacije/opravila, glave zahteve in odgovor; nadaljujte s podprtimi branji te izvirne operacije. Zahteve za ustvarjanje ne pošiljajte znova.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Druga imena</h3><h4>Druga imena modelov</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=gemini-3.8-flash-tts&amp;route=Core&amp;caller=gemini-3.8-flash-tts&amp;fmt=speech\"><code>gemini-3.8-flash-tts</code></a></span></p><h4>Druga imena poti metod</h4><p class=\"note-s\">Uporabite zgoraj navedene poti metod.</p><h4>Povezani ID-ji za klic</h4><p class=\"note-s\"><a href=\"#m=gemini-3.8-flash-tts&amp;route=Core&amp;caller=gemini-3.8-flash-tts&amp;fmt=speech\"><code>gemini-3.8-flash-tts</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "gemini-3.8-flash-tts",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "gemini-3.8-flash-tts",
        "route_label": "Core"
      },
      "method_key": "Core|speech|/v1/audio/speech|gemini-3.8-flash-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": "Neveljavna obvezna polja, predstavitev gradiva ali vrednost parametra",
                "http_status": 400,
                "recovery": "Pred novo zahtevo za ustvarjanje popravite navedena polja.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Vrnjeni odgovor navaja, da je treba operacijo ali rezultat preveriti",
                "http_status": null,
                "recovery": "Shranite izvirni vrnjeni ID operacije/opravila, glave zahteve in odgovor; nadaljujte s podprtimi branji te izvirne operacije. Zahteve za ustvarjanje ne pošiljajte znova.",
                "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": "Shranite izvirni operation_id/X-Client-Request-ID za uskladitev evidenc brez ponovnega pošiljanja; namenska pot za periodično preverjanje zvoka ne obstaja."
            },
            "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": "En izhod privzeto vrne izvorne zvočne bajte z dejanskim Content-Type; response_format=json ali več izhodov vrne vse povezave v vaši lasti. Brez zahtevane pretvorbe MP3/Opus/AAC/FLAC/PCM ali 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": "izvorni zvočni bajti ali povezave JSON do sredstev"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "gemini-3.8-flash-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": [
            "Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve."
          ],
          "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": "Dejansko vrnjeni task_id ali zapis v medijski knjižnici",
                "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-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": "Pretvorba v govor",
        "max_out": 16384,
        "max_tool_calls": null,
        "out": 9,
        "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": 9,
                "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-tts",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    }
  ],
  "model_id": "gemini-3.8-flash-tts",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "43ec97a7ccd7a229f2f400c0991d04d1413a1f32e7400f88bf4d21a2a03701d3",
    "input_html_sha256": "7f3e427ed7248c31baa975d4bf60dbe93076d1a95909f58c25c382514f980cf5",
    "private_audit_sha256": "5450315f338eb412d973a39979fb2983768afd61c80f80e624ed08923ce3a519",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/sl/gemini-3-8-flash-tts/",
    "description": "Govorni model družbe Google za izrazno govorno izvedbo, zvočne knjige in pogovore z upravljanjem glasu ter podporo 130 jezikom.",
    "locale": "sl",
    "md_url": "https://ailoot.ai/models/sl/gemini-3-8-flash-tts/index.md",
    "title": "Gemini 3.8 Flash Tts — Ailoot",
    "url": "https://ailoot.ai/models/sl/gemini-3-8-flash-tts/"
  },
  "rawModel": {
    "about": "Gemini 3.8 Flash TTS je namenjen izrazni govorni izvedbi in dolgemu pripovedovanju. Google izpostavlja zvočne knjige, pogovore z več govorci in stalnost glasu v dolgih odsekih. Upravljanje govora zajema čustveno podajo, ritem in izgovarjavo, vključno z regionalnimi naglasi in narečji.\n\n### Glasovi in jeziki\n\nZa model je navedenih **130 jezikov**, vključno z ruščino. Na voljo je **30 že pripravljenih glasov**, razširjena knjižnica, ustvarjanje glasovnega profila po opisu in reprodukcija glasu po vzorcu. Te zmožnosti omogočajo izbiro barve glasu in značaja izvedbe za konkretno gradivo.\n\nReplike pogovora se povežejo z govorci. Ena zahteva z več govorci lahko uporablja največ dva že pripravljena glasova. Z glasovi, ustvarjenimi po opisu ali vzorcu, se replike sintetizirajo ločeno; obstoj takšnega glasu ga ne spremeni v še en že pripravljen glas znotraj večglasne zahteve.\n\n### Besedilo in upravljanje podaje\n\nVhod je **besedilo**, izhod pa **zvok**. Omejitvi sta **8 192 vhodnih tokenov** in **16 384 izhodnih tokenov**. Besedilo se obravnava kot izgovorjena replika; opis sloga in izbrani govorec se določita ločeno. Tako je mogoče ločiti besede, ki morajo zazveneti, od navodil o tem, kako jih brati.\n\nSlog zajema čustvo, tempo, glasnost in prozodijo. Kratki dogodki — smeh, vzdih, premor — se določijo s posebnimi zvočnimi oznakami znotraj replike. Takšne oznake služijo usmerjanju izvedbe in niso običajne besede za branje.\n\n### Zvočni formati in zmožnosti\n\nPri običajnem ustvarjanju se privzeto vrne **WAV**. Za pretočni prenos se privzeto uporablja **PCM brez glave**. Izvorni parametri so **24 kHz, en kanal in 16 bitov**. Predvideni so tudi PCM, mu-law in A-law. Podprta sta predpomnjenje konteksta in paketna obdelava. Konkretni format datoteke in razpoložljive nastavitve so odvisni od izbranega govornega načina dostopa.\n\nModel je specializiran za ustvarjanje govora. Klici funkcij, izvajanje kode, iskanje po datotekah, utemeljevanje z iskanjem, Google Maps, ustvarjanje slik, strukturirani besedilni odgovori, Thinking in vsebina spletnih naslovov niso podprti. Stalen glas in nastavljiva izraznost sta navedeni usmeritvi modela in ne obljuba popolne izgovarjave vsake replike.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "ctx": 8192,
    "formats": [
      "speech"
    ],
    "id": "gemini-3.8-flash-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": "Neveljavna obvezna polja, predstavitev gradiva ali vrednost parametra",
                "http_status": 400,
                "recovery": "Pred novo zahtevo za ustvarjanje popravite navedena polja.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Vrnjeni odgovor navaja, da je treba operacijo ali rezultat preveriti",
                "http_status": null,
                "recovery": "Shranite izvirni vrnjeni ID operacije/opravila, glave zahteve in odgovor; nadaljujte s podprtimi branji te izvirne operacije. Zahteve za ustvarjanje ne pošiljajte znova.",
                "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": "Shranite izvirni operation_id/X-Client-Request-ID za uskladitev evidenc brez ponovnega pošiljanja; namenska pot za periodično preverjanje zvoka ne obstaja."
            },
            "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": "En izhod privzeto vrne izvorne zvočne bajte z dejanskim Content-Type; response_format=json ali več izhodov vrne vse povezave v vaši lasti. Brez zahtevane pretvorbe MP3/Opus/AAC/FLAC/PCM ali 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": "izvorni zvočni bajti ali povezave JSON do sredstev"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "gemini-3.8-flash-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": [
            "Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve."
          ],
          "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": "Dejansko vrnjeni task_id ali zapis v medijski knjižnici",
                "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-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": "Pretvorba v govor",
        "max_out": 16384,
        "max_tool_calls": null,
        "out": 9,
        "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": 9,
                "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-tts",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "gemini-3.8-flash-tts",
        "request_model_id": "gemini-3.8-flash-tts",
        "route_label": "Core"
      }
    ],
    "name": "Gemini 3.8 Flash Tts",
    "price": {
      "in": 0.5,
      "in_label": null,
      "out": 9,
      "out_label": null,
      "sort_in": 0.5,
      "sort_out": 9,
      "varies": false
    },
    "short": "Govorni model družbe Google za izrazno govorno izvedbo, zvočne knjige in pogovore z upravljanjem glasu ter podporo 130 jezikom."
  },
  "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": "Govorni model družbe Google za izrazno govorno izvedbo, zvočne knjige in pogovore z upravljanjem glasu ter podporo 130 jezikom.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "75326ccf58d4ea04b8915831f08dab29dbda33ec548e1cd0de716349551ce5e9",
    "renderer_sha256": "dcba2271c18b0f9570a8b166e8d1e3166f121e096a58609c3a46da31562a1bf2"
  },
  "sourceRevision": "cc2bbbc5337757f2a946ac4c217845c2e038680c6b04b0076146b03a1c60aab3"
}
