{
  "aboutHtml": "<h4>Glas za govorno izvedbo in dolgo branje</h4><p>Speech 02 HD ustvarja govor s poudarkom na kakovosti, ritmu in stalnosti zvena. Proizvajalec izpostavlja govorno izvedbo gradiva in zvočne knjige, pri katerih mora glas ohranjati značaj in enakomerno prehajati skozi dolgo besedilo. To je model za sintezo: sprejema besedilo in ga pretvori v govorni zvok.</p><h4>Kako se povezujeta besedilo in barva glasu</h4><p>Osnova družine Speech 02 sta avtoregresijska arhitektura Transformer in učljiv kodirnik govorca. Izluščanje barve glasu in ustvarjanje govora sta se učila skupaj, da bi značilnosti glasu uskladila z vsebino. Zmožnosti družine vključujejo uporabo pripravljenih kloniranih glasov ter kombiniranje jezika, naglasa in načina izgovarjave.</p><h4>Čustvo in večjezično branje</h4><p>Čustvena obarvanost se lahko določi glede na pomen besedila ali ročno. Na voljo so veselje, žalost, jeza, strah, gnus, presenečenje in umirjenost. Model dela z ruščino, angleščino in drugimi jeziki; proizvajalec opisuje različne naglase angleškega govora, kitajščino in kantonščino, japonščino, korejščino, evropske in druge jezike.</p><p>V trenutnem opisu Speech 02 so posebej izključene perzijščina, filipinščina in tamilščina. Splošnega jezikovnega seznama novejših generacij Speech ni mogoče samodejno prenesti na to različico.</p><h4>Nastavitev glasu</h4><p>Za sintezo so predvideni izbira glasu, spreminjanje hitrosti <strong>0,5–2</strong>, glasnost nad 0 in do <strong>10</strong> ter višina od <strong>−12 do 12</strong>. V slovarju izgovarjave lahko zapis zamenjate z želenim branjem; podprti so fonetični zapisi in japonske različice izgovarjave. To pomaga usmerjati zven imen in dvoumnih besed.</p><h4>Premori in končni zvok</h4><p>Proizvajalec omogoča določanje premorov med izgovorjenimi odseki v dolžini <strong>0,01–99,99 sekunde</strong>. Trajanje premora se določi na dve decimalni mesti natančno; oznake se postavijo med izgovorjene odseke in ne druga za drugo. Besedilo ene sinhrone zahteve mora vsebovati manj kot <strong>10 000 znakov</strong>. Predvideno je pridobivanje zvoka v celoti in postopoma; za besedilo z več kot 3000 znaki je priporočen pretočni izhod.</p><p>Med formati modela so MP3, WAV, FLAC in PCM; splošne nastavitve sinteze opisujejo tudi Opus in različice G.711 μ-law. Uporabite lahko mono ali stereo. V tej kartici je na voljo pretvorba besedila v govor, ločena priprava glasu in razširjene nastavitve pa se uporabljajo samo v okviru podprtega načina dostopa prek Ailoot.</p><p>Dodatne nastavitve zvoka vključujejo frekvence vzorčenja <strong>8, 16, 22,05, 24, 32 in 44,1 kHz</strong>. Za MP3 je predvidena bitna hitrost <strong>32, 64, 128 ali 256 kbit/s</strong>. Spreminjate lahko tudi barvo glasu in uporabite en učinek: prostoren odmev, odmev dvorane, telefonski zven ali robotski glas. Učinki spreminjanja glasu so pri pridobivanju zvoka v celoti podprti za MP3, WAV in FLAC, pri pretočnem izhodu pa samo za MP3. Formati G.711 μ-law uporabljajo frekvenco 8 kHz. Te zmožnosti veljajo za nastavitve sinteze MiniMax.</p><p>Proizvajalec predvideva sinhronizacijo govora z besedilom: časovne oznake po povedih, besedah ali besedah pri postopnem izhodu. Takšen rezultat pomaga uskladiti izgovarjavo s prikazom besedila. Ta dodatna zmožnost zahteva podporo ustreznemu formatu odgovora.</p>",
  "aboutText": "### Glas za govorno izvedbo in dolgo branje\n\nSpeech 02 HD ustvarja govor s poudarkom na kakovosti, ritmu in stalnosti zvena. Proizvajalec izpostavlja govorno izvedbo gradiva in zvočne knjige, pri katerih mora glas ohranjati značaj in enakomerno prehajati skozi dolgo besedilo. To je model za sintezo: sprejema besedilo in ga pretvori v govorni zvok.\n\n### Kako se povezujeta besedilo in barva glasu\n\nOsnova družine Speech 02 sta avtoregresijska arhitektura Transformer in učljiv kodirnik govorca. Izluščanje barve glasu in ustvarjanje govora sta se učila skupaj, da bi značilnosti glasu uskladila z vsebino. Zmožnosti družine vključujejo uporabo pripravljenih kloniranih glasov ter kombiniranje jezika, naglasa in načina izgovarjave.\n\n### Čustvo in večjezično branje\n\nČustvena obarvanost se lahko določi glede na pomen besedila ali ročno. Na voljo so veselje, žalost, jeza, strah, gnus, presenečenje in umirjenost. Model dela z ruščino, angleščino in drugimi jeziki; proizvajalec opisuje različne naglase angleškega govora, kitajščino in kantonščino, japonščino, korejščino, evropske in druge jezike.\n\nV trenutnem opisu Speech 02 so posebej izključene perzijščina, filipinščina in tamilščina. Splošnega jezikovnega seznama novejših generacij Speech ni mogoče samodejno prenesti na to različico.\n\n### Nastavitev glasu\n\nZa sintezo so predvideni izbira glasu, spreminjanje hitrosti **0,5–2**, glasnost nad 0 in do **10** ter višina od **−12 do 12**. V slovarju izgovarjave lahko zapis zamenjate z želenim branjem; podprti so fonetični zapisi in japonske različice izgovarjave. To pomaga usmerjati zven imen in dvoumnih besed.\n\n### Premori in končni zvok\n\nProizvajalec omogoča določanje premorov med izgovorjenimi odseki v dolžini **0,01–99,99 sekunde**. Trajanje premora se določi na dve decimalni mesti natančno; oznake se postavijo med izgovorjene odseke in ne druga za drugo. Besedilo ene sinhrone zahteve mora vsebovati manj kot **10 000 znakov**. Predvideno je pridobivanje zvoka v celoti in postopoma; za besedilo z več kot 3000 znaki je priporočen pretočni izhod.\n\nMed formati modela so MP3, WAV, FLAC in PCM; splošne nastavitve sinteze opisujejo tudi Opus in različice G.711 μ-law. Uporabite lahko mono ali stereo. V tej kartici je na voljo pretvorba besedila v govor, ločena priprava glasu in razširjene nastavitve pa se uporabljajo samo v okviru podprtega načina dostopa prek Ailoot.\n\nDodatne nastavitve zvoka vključujejo frekvence vzorčenja **8, 16, 22,05, 24, 32 in 44,1 kHz**. Za MP3 je predvidena bitna hitrost **32, 64, 128 ali 256 kbit/s**. Spreminjate lahko tudi barvo glasu in uporabite en učinek: prostoren odmev, odmev dvorane, telefonski zven ali robotski glas. Učinki spreminjanja glasu so pri pridobivanju zvoka v celoti podprti za MP3, WAV in FLAC, pri pretočnem izhodu pa samo za MP3. Formati G.711 μ-law uporabljajo frekvenco 8 kHz. Te zmožnosti veljajo za nastavitve sinteze MiniMax.\n\nProizvajalec predvideva sinhronizacijo govora z besedilom: časovne oznake po povedih, besedah ali besedah pri postopnem izhodu. Takšen rezultat pomaga uskladiti izgovarjavo s prikazom besedila. Ta dodatna zmožnost zahteva podporo ustreznemu formatu odgovora.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "2a9bcbe5af3fe57bef90744924462da85c81f21c458d2e28beeb85e6f57d378b",
    "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\">MM</span><h2 id=\"sheet-title\">speech-02-hd</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zapri\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>speech-02-hd</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|speech-02-hd\">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\">Speech-02 HD je model za sintezo govora s poudarkom na kakovosti zvoka in podobnosti glasu.</p><dl class=\"card-io\" data-card-io><div><dt>Dovoljeni vhodi</dt><dd>Besedilo</dd></div><div><dt>Rezultati</dt><dd>speech</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\"><h4>Glas za govorno izvedbo in dolgo branje</h4><p>Speech 02 HD ustvarja govor s poudarkom na kakovosti, ritmu in stalnosti zvena. Proizvajalec izpostavlja govorno izvedbo gradiva in zvočne knjige, pri katerih mora glas ohranjati značaj in enakomerno prehajati skozi dolgo besedilo. To je model za sintezo: sprejema besedilo in ga pretvori v govorni zvok.</p><h4>Kako se povezujeta besedilo in barva glasu</h4><p>Osnova družine Speech 02 sta avtoregresijska arhitektura Transformer in učljiv kodirnik govorca. Izluščanje barve glasu in ustvarjanje govora sta se učila skupaj, da bi značilnosti glasu uskladila z vsebino. Zmožnosti družine vključujejo uporabo pripravljenih kloniranih glasov ter kombiniranje jezika, naglasa in načina izgovarjave.</p><h4>Čustvo in večjezično branje</h4><p>Čustvena obarvanost se lahko določi glede na pomen besedila ali ročno. Na voljo so veselje, žalost, jeza, strah, gnus, presenečenje in umirjenost. Model dela z ruščino, angleščino in drugimi jeziki; proizvajalec opisuje različne naglase angleškega govora, kitajščino in kantonščino, japonščino, korejščino, evropske in druge jezike.</p><p>V trenutnem opisu Speech 02 so posebej izključene perzijščina, filipinščina in tamilščina. Splošnega jezikovnega seznama novejših generacij Speech ni mogoče samodejno prenesti na to različico.</p><h4>Nastavitev glasu</h4><p>Za sintezo so predvideni izbira glasu, spreminjanje hitrosti <strong>0,5–2</strong>, glasnost nad 0 in do <strong>10</strong> ter višina od <strong>−12 do 12</strong>. V slovarju izgovarjave lahko zapis zamenjate z želenim branjem; podprti so fonetični zapisi in japonske različice izgovarjave. To pomaga usmerjati zven imen in dvoumnih besed.</p><h4>Premori in končni zvok</h4><p>Proizvajalec omogoča določanje premorov med izgovorjenimi odseki v dolžini <strong>0,01–99,99 sekunde</strong>. Trajanje premora se določi na dve decimalni mesti natančno; oznake se postavijo med izgovorjene odseke in ne druga za drugo. Besedilo ene sinhrone zahteve mora vsebovati manj kot <strong>10 000 znakov</strong>. Predvideno je pridobivanje zvoka v celoti in postopoma; za besedilo z več kot 3000 znaki je priporočen pretočni izhod.</p><p>Med formati modela so MP3, WAV, FLAC in PCM; splošne nastavitve sinteze opisujejo tudi Opus in različice G.711 μ-law. Uporabite lahko mono ali stereo. V tej kartici je na voljo pretvorba besedila v govor, ločena priprava glasu in razširjene nastavitve pa se uporabljajo samo v okviru podprtega načina dostopa prek Ailoot.</p><p>Dodatne nastavitve zvoka vključujejo frekvence vzorčenja <strong>8, 16, 22,05, 24, 32 in 44,1 kHz</strong>. Za MP3 je predvidena bitna hitrost <strong>32, 64, 128 ali 256 kbit/s</strong>. Spreminjate lahko tudi barvo glasu in uporabite en učinek: prostoren odmev, odmev dvorane, telefonski zven ali robotski glas. Učinki spreminjanja glasu so pri pridobivanju zvoka v celoti podprti za MP3, WAV in FLAC, pri pretočnem izhodu pa samo za MP3. Formati G.711 μ-law uporabljajo frekvenco 8 kHz. Te zmožnosti veljajo za nastavitve sinteze MiniMax.</p><p>Proizvajalec predvideva sinhronizacijo govora z besedilom: časovne oznake po povedih, besedah ali besedah pri postopnem izhodu. Takšen rezultat pomaga uskladiti izgovarjavo s prikazom besedila. Ta dodatna zmožnost zahteva podporo ustreznemu formatu odgovora.</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>speech</code></dd></div><div><dt>Izhodni format</dt><dd>mp3</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>speech-02-hd</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><div>Največja dolžina (izključno): 10.000</div><div>Enota: znaki Unicode</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>Obvezno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>Vzorec: ^[A-Za-z0-9_-]{1,128}$</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\">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>mp3</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>100,00 $ <em>na 1 milijon znakov</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-467-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-467-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-467-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-467-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\n: &quot;${AILOOT_VOICE_ID:?Set the actual accepted voice ID for this model}&quot;\nexport AILOOT_VOICE_ID\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;speech-02-hd&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\nimport re\nvoice=os.environ[&quot;AILOOT_VOICE_ID&quot;]\nif not re.fullmatch(r&quot;[A-Za-z0-9_-]{1,128}&quot;,voice):raise SystemExit(&quot;Set an actual accepted voice ID&quot;)\np[&quot;voice&quot;]=voice\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.mp3\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\">mp3</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\">Shranite celoten binarni rezultat in glave. Če so vrnjeni podatki JSON ali več izhodov, shranite vsak podatkovni element in pridobite vsebino z vsakega dejanskega podpisanega URL datoteke.</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 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\">response headers</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>headers</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=speech-02-hd&amp;route=Core&amp;caller=speech-02-hd&amp;fmt=speech\"><code>speech-02-hd</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=speech-02-hd&amp;route=Core&amp;caller=speech-02-hd&amp;fmt=speech\"><code>speech-02-hd</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "speech-02-hd",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "speech-02-hd",
        "route_label": "Core"
      },
      "method_key": "Core|speech|/v1/audio/speech|speech-02-hd",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "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": [
              "MiniMax accepts optionalresponse_formatmp3. Actual voice IDs come from the selected model voice profile.",
              "The facade uses bufferedMP3; provider speed/volume/pitch/sample-rate fields are fixed by the adapter, not callercontrols."
            ],
            "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": "Shranite celoten binarni rezultat in glave. Če so vrnjeni podatki JSON ali več izhodov, shranite vsak podatkovni element in pridobite vsebino z vsakega dejanskega podpisanega URL datoteke.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "speech-02-hd"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length_exclusive": 10000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "znaki Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "voice",
                "pattern": "^[A-Za-z0-9_-]{1,128}$",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "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": [
              "speech"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "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\n: \"${AILOOT_VOICE_ID:?Set the actual accepted voice ID for this model}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"speech-02-hd\", \"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\nimport re\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nif not re.fullmatch(r\"[A-Za-z0-9_-]{1,128}\",voice):raise SystemExit(\"Set an actual accepted voice ID\")\np[\"voice\"]=voice\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.mp3\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": null,
        "input": [
          "text"
        ],
        "label": "Pretvorba v govor",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "speech"
        ],
        "path": "/v1/audio/speech",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 100,
                "amount_unit": "usd_per_display_unit",
                "key": "tts_million_chars",
                "label": "per 1 million characters",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "speech-02-hd",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "tts_million_chars",
        "units": [
          {
            "key": "tts_million_chars",
            "label": "per 1 million characters",
            "side": "in",
            "usd": 100
          }
        ]
      }
    }
  ],
  "model_id": "speech-02-hd",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "44c9e8e907d7ba9339bec396d52d9d3fd00362cc9024c746c535b6047bae2414",
    "input_html_sha256": "52a94ede8b53d7f3cbfe15810902594ce640cb3a45bf639b76b951361ff2bdf6",
    "private_audit_sha256": "637d8c9bbd482b0c1cf5cfcf8e31c125a8e2c480d3f657ad62d620fd19696485",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/sl/speech-02-hd/",
    "description": "Speech-02 HD je model za sintezo govora s poudarkom na kakovosti zvoka in podobnosti glasu.",
    "locale": "sl",
    "md_url": "https://ailoot.ai/models/sl/speech-02-hd/index.md",
    "title": "speech-02-hd — Ailoot",
    "url": "https://ailoot.ai/models/sl/speech-02-hd/"
  },
  "rawModel": {
    "about": "### Glas za govorno izvedbo in dolgo branje\n\nSpeech 02 HD ustvarja govor s poudarkom na kakovosti, ritmu in stalnosti zvena. Proizvajalec izpostavlja govorno izvedbo gradiva in zvočne knjige, pri katerih mora glas ohranjati značaj in enakomerno prehajati skozi dolgo besedilo. To je model za sintezo: sprejema besedilo in ga pretvori v govorni zvok.\n\n### Kako se povezujeta besedilo in barva glasu\n\nOsnova družine Speech 02 sta avtoregresijska arhitektura Transformer in učljiv kodirnik govorca. Izluščanje barve glasu in ustvarjanje govora sta se učila skupaj, da bi značilnosti glasu uskladila z vsebino. Zmožnosti družine vključujejo uporabo pripravljenih kloniranih glasov ter kombiniranje jezika, naglasa in načina izgovarjave.\n\n### Čustvo in večjezično branje\n\nČustvena obarvanost se lahko določi glede na pomen besedila ali ročno. Na voljo so veselje, žalost, jeza, strah, gnus, presenečenje in umirjenost. Model dela z ruščino, angleščino in drugimi jeziki; proizvajalec opisuje različne naglase angleškega govora, kitajščino in kantonščino, japonščino, korejščino, evropske in druge jezike.\n\nV trenutnem opisu Speech 02 so posebej izključene perzijščina, filipinščina in tamilščina. Splošnega jezikovnega seznama novejših generacij Speech ni mogoče samodejno prenesti na to različico.\n\n### Nastavitev glasu\n\nZa sintezo so predvideni izbira glasu, spreminjanje hitrosti **0,5–2**, glasnost nad 0 in do **10** ter višina od **−12 do 12**. V slovarju izgovarjave lahko zapis zamenjate z želenim branjem; podprti so fonetični zapisi in japonske različice izgovarjave. To pomaga usmerjati zven imen in dvoumnih besed.\n\n### Premori in končni zvok\n\nProizvajalec omogoča določanje premorov med izgovorjenimi odseki v dolžini **0,01–99,99 sekunde**. Trajanje premora se določi na dve decimalni mesti natančno; oznake se postavijo med izgovorjene odseke in ne druga za drugo. Besedilo ene sinhrone zahteve mora vsebovati manj kot **10 000 znakov**. Predvideno je pridobivanje zvoka v celoti in postopoma; za besedilo z več kot 3000 znaki je priporočen pretočni izhod.\n\nMed formati modela so MP3, WAV, FLAC in PCM; splošne nastavitve sinteze opisujejo tudi Opus in različice G.711 μ-law. Uporabite lahko mono ali stereo. V tej kartici je na voljo pretvorba besedila v govor, ločena priprava glasu in razširjene nastavitve pa se uporabljajo samo v okviru podprtega načina dostopa prek Ailoot.\n\nDodatne nastavitve zvoka vključujejo frekvence vzorčenja **8, 16, 22,05, 24, 32 in 44,1 kHz**. Za MP3 je predvidena bitna hitrost **32, 64, 128 ali 256 kbit/s**. Spreminjate lahko tudi barvo glasu in uporabite en učinek: prostoren odmev, odmev dvorane, telefonski zven ali robotski glas. Učinki spreminjanja glasu so pri pridobivanju zvoka v celoti podprti za MP3, WAV in FLAC, pri pretočnem izhodu pa samo za MP3. Formati G.711 μ-law uporabljajo frekvenco 8 kHz. Te zmožnosti veljajo za nastavitve sinteze MiniMax.\n\nProizvajalec predvideva sinhronizacijo govora z besedilom: časovne oznake po povedih, besedah ali besedah pri postopnem izhodu. Takšen rezultat pomaga uskladiti izgovarjavo s prikazom besedila. Ta dodatna zmožnost zahteva podporo ustreznemu formatu odgovora.",
    "alias_of": null,
    "aliases": [],
    "author": "MiniMax",
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "speech-02-hd",
    "input": [
      "text"
    ],
    "kind": "speech",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "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": [
              "MiniMax accepts optionalresponse_formatmp3. Actual voice IDs come from the selected model voice profile.",
              "The facade uses bufferedMP3; provider speed/volume/pitch/sample-rate fields are fixed by the adapter, not callercontrols."
            ],
            "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": "Shranite celoten binarni rezultat in glave. Če so vrnjeni podatki JSON ali več izhodov, shranite vsak podatkovni element in pridobite vsebino z vsakega dejanskega podpisanega URL datoteke.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "speech-02-hd"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length_exclusive": 10000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "znaki Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "voice",
                "pattern": "^[A-Za-z0-9_-]{1,128}$",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "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": [
              "speech"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "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\n: \"${AILOOT_VOICE_ID:?Set the actual accepted voice ID for this model}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"speech-02-hd\", \"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\nimport re\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nif not re.fullmatch(r\"[A-Za-z0-9_-]{1,128}\",voice):raise SystemExit(\"Set an actual accepted voice ID\")\np[\"voice\"]=voice\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.mp3\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": null,
        "input": [
          "text"
        ],
        "label": "Pretvorba v govor",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "speech"
        ],
        "path": "/v1/audio/speech",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 100,
                "amount_unit": "usd_per_display_unit",
                "key": "tts_million_chars",
                "label": "per 1 million characters",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "speech-02-hd",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "tts_million_chars",
        "units": [
          {
            "key": "tts_million_chars",
            "label": "per 1 million characters",
            "side": "in",
            "usd": 100
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "speech-02-hd",
        "request_model_id": "speech-02-hd",
        "route_label": "Core"
      }
    ],
    "name": "speech-02-hd",
    "price": {
      "in": 100,
      "in_label": "per 1 million characters",
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": false
    },
    "short": "Speech-02 HD je model za sintezo govora s poudarkom na kakovosti zvoka in podobnosti glasu."
  },
  "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": "Speech-02 HD je model za sintezo govora s poudarkom na kakovosti zvoka in podobnosti glasu.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "ee26c74116421432f3e8095ae1d616588d45a6cfa6708acf69bb3a1449ca29d7",
    "renderer_sha256": "dcba2271c18b0f9570a8b166e8d1e3166f121e096a58609c3a46da31562a1bf2"
  },
  "sourceRevision": "f3f3d17eb5c0fee254686e292e0b88b260831e4382e4f703f578de71f025ce50"
}
