{
  "aboutHtml": "<h4>Balsas įgarsinimui ir ilgiems skaitiniams</h4><p>Speech 02 HD kuria kalbą, daugiausia dėmesio skirdama kokybei, ritmui ir skambesio stabilumui. Gamintojas išskiria medžiagos įgarsinimą ir audioknygas, kuriose balsas turi išlaikyti charakterį ir tolygiai skaityti ilgą tekstą. Tai sintezės modelis: jis priima tekstą ir paverčia jį kalbos garso įrašu.</p><h4>Kaip susiejami tekstas ir tembras</h4><p>Speech 02 šeimos pagrindas — autoregresinė Transformer architektūra ir mokomas kalbėtojo koduotuvas. Tembro išskyrimas ir kalbos generavimas buvo mokomi kartu, kad balso ypatybės būtų suderintos su turiniu. Šeimos galimybės apima parengtų klonuotų balsų naudojimą ir kalbos, akcento bei tarimo manieros derinimą.</p><h4>Emocija ir skaitymas įvairiomis kalbomis</h4><p>Emocinė išraiška gali būti nustatoma pagal teksto prasmę arba nurodoma rankiniu būdu. Prieinami džiaugsmas, liūdesys, pyktis, baimė, pasibjaurėjimas, nuostaba ir ramybė. Modelis dirba su rusų, anglų ir kitomis kalbomis; gamintojas aprašo įvairius anglų kalbos akcentus, kinų ir kantoniečių, japonų, korėjiečių, Europos ir kitas kalbas.</p><p>Dabartiniame Speech 02 aprašyme atskirai neįtrauktos persų, filipiniečių ir tamilų kalbos. Bendro naujesnių Speech kartų kalbų sąrašo nereikia automatiškai taikyti šiai versijai.</p><h4>Balso nustatymai</h4><p>Sintezei numatyti balso pasirinkimas, greičio keitimas <strong>0,5–2</strong>, garsumas virš 0 ir iki <strong>10</strong>, aukštis nuo <strong>−12 iki 12</strong>. Tarimo žodyne galima nurodyti rašytinės formos pakeitimą norimu tarimu; palaikomi fonetiniai užrašai ir japoniški tarimo variantai. Tai padeda valdyti, kaip skambės vardai ir nevienareikšmiai žodžiai.</p><h4>Pauzės ir parengtas garso įrašas</h4><p>Gamintojas leidžia nurodyti <strong>0,01–99,99 sekundės</strong> trukmės pauzes tarp tariamų fragmentų. Pauzės trukmė nurodoma dviejų skaitmenų po kablelio tikslumu; žymekliai dedami tarp tariamų fragmentų, o ne vienas po kito. Vienos sinchroninės užklausos tekste turi būti mažiau nei <strong>10 000 simbolių</strong>. Numatyta galimybė gauti visą garsą arba jį gauti palaipsniui; tekstui, ilgesniam nei 3000 simbolių, rekomenduojama srautinė išvestis.</p><p>Tarp modelio formatų yra MP3, WAV, FLAC ir PCM; bendruose sintezės nustatymuose taip pat aprašomi Opus ir G.711 μ-law variantai. Galima naudoti mono arba stereo. Šioje kortelėje prieinamas teksto įgarsinimas, o atskiras balso parengimas ir išplėstiniai nustatymai taikomi tik Ailoot palaikomo kreipimosi būdo ribose.</p><p>Papildomi garso nustatymai apima <strong>8, 16, 22,05, 24, 32 ir 44,1 kHz</strong> diskretizavimo dažnius. MP3 numatyta <strong>32, 64, 128 arba 256 kbit/s</strong> bitų sparta. Taip pat galima keisti balso atspalvį ir taikyti vieną efektą: erdvų aidą, salės aidą, telefono skambesį arba robotinį balsą. Balso keitimo efektai palaikomi MP3, WAV ir FLAC gaunant visą garso įrašą, o naudojant srautinę išvestį — tik MP3. G.711 μ-law formatai naudoja 8 kHz dažnį. Šios galimybės taikomos MiniMax sintezės nustatymams.</p><p>Gamintojas numato kalbos sinchronizavimą su tekstu: laiko žymas pagal sakinius, žodžius arba žodžius palaipsniui pateikiant išvestį. Toks rezultatas padeda suderinti tarimą su teksto rodymu. Šiai papildomai galimybei reikia atitinkamo atsakymo formato palaikymo.</p>",
  "aboutText": "### Balsas įgarsinimui ir ilgiems skaitiniams\n\nSpeech 02 HD kuria kalbą, daugiausia dėmesio skirdama kokybei, ritmui ir skambesio stabilumui. Gamintojas išskiria medžiagos įgarsinimą ir audioknygas, kuriose balsas turi išlaikyti charakterį ir tolygiai skaityti ilgą tekstą. Tai sintezės modelis: jis priima tekstą ir paverčia jį kalbos garso įrašu.\n\n### Kaip susiejami tekstas ir tembras\n\nSpeech 02 šeimos pagrindas — autoregresinė Transformer architektūra ir mokomas kalbėtojo koduotuvas. Tembro išskyrimas ir kalbos generavimas buvo mokomi kartu, kad balso ypatybės būtų suderintos su turiniu. Šeimos galimybės apima parengtų klonuotų balsų naudojimą ir kalbos, akcento bei tarimo manieros derinimą.\n\n### Emocija ir skaitymas įvairiomis kalbomis\n\nEmocinė išraiška gali būti nustatoma pagal teksto prasmę arba nurodoma rankiniu būdu. Prieinami džiaugsmas, liūdesys, pyktis, baimė, pasibjaurėjimas, nuostaba ir ramybė. Modelis dirba su rusų, anglų ir kitomis kalbomis; gamintojas aprašo įvairius anglų kalbos akcentus, kinų ir kantoniečių, japonų, korėjiečių, Europos ir kitas kalbas.\n\nDabartiniame Speech 02 aprašyme atskirai neįtrauktos persų, filipiniečių ir tamilų kalbos. Bendro naujesnių Speech kartų kalbų sąrašo nereikia automatiškai taikyti šiai versijai.\n\n### Balso nustatymai\n\nSintezei numatyti balso pasirinkimas, greičio keitimas **0,5–2**, garsumas virš 0 ir iki **10**, aukštis nuo **−12 iki 12**. Tarimo žodyne galima nurodyti rašytinės formos pakeitimą norimu tarimu; palaikomi fonetiniai užrašai ir japoniški tarimo variantai. Tai padeda valdyti, kaip skambės vardai ir nevienareikšmiai žodžiai.\n\n### Pauzės ir parengtas garso įrašas\n\nGamintojas leidžia nurodyti **0,01–99,99 sekundės** trukmės pauzes tarp tariamų fragmentų. Pauzės trukmė nurodoma dviejų skaitmenų po kablelio tikslumu; žymekliai dedami tarp tariamų fragmentų, o ne vienas po kito. Vienos sinchroninės užklausos tekste turi būti mažiau nei **10 000 simbolių**. Numatyta galimybė gauti visą garsą arba jį gauti palaipsniui; tekstui, ilgesniam nei 3000 simbolių, rekomenduojama srautinė išvestis.\n\nTarp modelio formatų yra MP3, WAV, FLAC ir PCM; bendruose sintezės nustatymuose taip pat aprašomi Opus ir G.711 μ-law variantai. Galima naudoti mono arba stereo. Šioje kortelėje prieinamas teksto įgarsinimas, o atskiras balso parengimas ir išplėstiniai nustatymai taikomi tik Ailoot palaikomo kreipimosi būdo ribose.\n\nPapildomi garso nustatymai apima **8, 16, 22,05, 24, 32 ir 44,1 kHz** diskretizavimo dažnius. MP3 numatyta **32, 64, 128 arba 256 kbit/s** bitų sparta. Taip pat galima keisti balso atspalvį ir taikyti vieną efektą: erdvų aidą, salės aidą, telefono skambesį arba robotinį balsą. Balso keitimo efektai palaikomi MP3, WAV ir FLAC gaunant visą garso įrašą, o naudojant srautinę išvestį — tik MP3. G.711 μ-law formatai naudoja 8 kHz dažnį. Šios galimybės taikomos MiniMax sintezės nustatymams.\n\nGamintojas numato kalbos sinchronizavimą su tekstu: laiko žymas pagal sakinius, žodžius arba žodžius palaipsniui pateikiant išvestį. Toks rezultatas padeda suderinti tarimą su teksto rodymu. Šiai papildomai galimybei reikia atitinkamo atsakymo formato palaikymo.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "22eb0f738e9b5adc415d29e97237534dc3ee8ac79d7bcda1d28d8a840d8d5aaa",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "lt",
  "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=\"Uždaryti\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>speech-02-hd</code><button type=\"button\" id=\"copy-id\">Kopijuoti ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Modelio kortelės skyriai\"><button type=\"button\" data-card-jump=\"overview\">Pradžia</button><button type=\"button\" data-card-jump=\"methods\">Įvestys ir metodai</button><button type=\"button\" data-card-jump=\"pricing\">Planai</button><button type=\"button\" data-card-jump=\"examples\">Pavyzdžiai</button><button type=\"button\" data-card-jump=\"results\">Rezultatai</button><button type=\"button\" data-card-jump=\"aliases\">Pseudonimai</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API metodai\"><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\">Įgarsinimas</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\">Pradžia</h3><p class=\"mdesc-full\">Speech-02 HD — kalbos sintezės modelis, kuriame daugiausia dėmesio skiriama skambesio kokybei ir balso panašumui.</p><dl class=\"card-io\" data-card-io><div><dt>Leidžiamos įvestys</dt><dd>Tekstas</dd></div><div><dt>Rezultatai</dt><dd>speech</dd></div></dl><details class=\"card-about\"><summary>Apie modelį</summary><p class=\"note-s\" data-model-method-boundary>Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.</p><div class=\"mabout\" id=\"m-about\"><h4>Balsas įgarsinimui ir ilgiems skaitiniams</h4><p>Speech 02 HD kuria kalbą, daugiausia dėmesio skirdama kokybei, ritmui ir skambesio stabilumui. Gamintojas išskiria medžiagos įgarsinimą ir audioknygas, kuriose balsas turi išlaikyti charakterį ir tolygiai skaityti ilgą tekstą. Tai sintezės modelis: jis priima tekstą ir paverčia jį kalbos garso įrašu.</p><h4>Kaip susiejami tekstas ir tembras</h4><p>Speech 02 šeimos pagrindas — autoregresinė Transformer architektūra ir mokomas kalbėtojo koduotuvas. Tembro išskyrimas ir kalbos generavimas buvo mokomi kartu, kad balso ypatybės būtų suderintos su turiniu. Šeimos galimybės apima parengtų klonuotų balsų naudojimą ir kalbos, akcento bei tarimo manieros derinimą.</p><h4>Emocija ir skaitymas įvairiomis kalbomis</h4><p>Emocinė išraiška gali būti nustatoma pagal teksto prasmę arba nurodoma rankiniu būdu. Prieinami džiaugsmas, liūdesys, pyktis, baimė, pasibjaurėjimas, nuostaba ir ramybė. Modelis dirba su rusų, anglų ir kitomis kalbomis; gamintojas aprašo įvairius anglų kalbos akcentus, kinų ir kantoniečių, japonų, korėjiečių, Europos ir kitas kalbas.</p><p>Dabartiniame Speech 02 aprašyme atskirai neįtrauktos persų, filipiniečių ir tamilų kalbos. Bendro naujesnių Speech kartų kalbų sąrašo nereikia automatiškai taikyti šiai versijai.</p><h4>Balso nustatymai</h4><p>Sintezei numatyti balso pasirinkimas, greičio keitimas <strong>0,5–2</strong>, garsumas virš 0 ir iki <strong>10</strong>, aukštis nuo <strong>−12 iki 12</strong>. Tarimo žodyne galima nurodyti rašytinės formos pakeitimą norimu tarimu; palaikomi fonetiniai užrašai ir japoniški tarimo variantai. Tai padeda valdyti, kaip skambės vardai ir nevienareikšmiai žodžiai.</p><h4>Pauzės ir parengtas garso įrašas</h4><p>Gamintojas leidžia nurodyti <strong>0,01–99,99 sekundės</strong> trukmės pauzes tarp tariamų fragmentų. Pauzės trukmė nurodoma dviejų skaitmenų po kablelio tikslumu; žymekliai dedami tarp tariamų fragmentų, o ne vienas po kito. Vienos sinchroninės užklausos tekste turi būti mažiau nei <strong>10 000 simbolių</strong>. Numatyta galimybė gauti visą garsą arba jį gauti palaipsniui; tekstui, ilgesniam nei 3000 simbolių, rekomenduojama srautinė išvestis.</p><p>Tarp modelio formatų yra MP3, WAV, FLAC ir PCM; bendruose sintezės nustatymuose taip pat aprašomi Opus ir G.711 μ-law variantai. Galima naudoti mono arba stereo. Šioje kortelėje prieinamas teksto įgarsinimas, o atskiras balso parengimas ir išplėstiniai nustatymai taikomi tik Ailoot palaikomo kreipimosi būdo ribose.</p><p>Papildomi garso nustatymai apima <strong>8, 16, 22,05, 24, 32 ir 44,1 kHz</strong> diskretizavimo dažnius. MP3 numatyta <strong>32, 64, 128 arba 256 kbit/s</strong> bitų sparta. Taip pat galima keisti balso atspalvį ir taikyti vieną efektą: erdvų aidą, salės aidą, telefono skambesį arba robotinį balsą. Balso keitimo efektai palaikomi MP3, WAV ir FLAC gaunant visą garso įrašą, o naudojant srautinę išvestį — tik MP3. G.711 μ-law formatai naudoja 8 kHz dažnį. Šios galimybės taikomos MiniMax sintezės nustatymams.</p><p>Gamintojas numato kalbos sinchronizavimą su tekstu: laiko žymas pagal sakinius, žodžius arba žodžius palaipsniui pateikiant išvestį. Toks rezultatas padeda suderinti tarimą su teksto rodymu. Šiai papildomai galimybei reikia atitinkamo atsakymo formato palaikymo.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Prieinama Ailoot · įvestys ir metodai</h3><details class=\"card-method\" open><summary><b>Ailoot · Įgarsinimas</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Įvestis</dt><dd><code>text</code></dd></div><div><dt>Išvestis</dt><dd><code>speech</code></dd></div><div><dt>Išvesties formatas</dt><dd>mp3</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Laukas</th><th>Tipas</th><th>Reikalavimas</th><th>Reikšmės ir ribos</th><th>Numatyta</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Privaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>speech-02-hd</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Privaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>Mažiausias ilgis: 1</div><div>Didžiausias ilgis (neįskaitytinai): 10 000</div><div>Vienetas: Unicode simboliai</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">voice</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Privaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>Šablonas: ^[A-Za-z0-9_-]{1,128}$</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>mp3</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Įvesties medžiagos deriniai</summary><p class=\"note-s\"><b>text_to_speech</b> · Privaloma: input</p></details><details class=\"note-s\" data-method-contract><summary>Metodo parametrai ir gyvavimo ciklas</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametras</th><th>Specifikacija</th></tr></thead><tbody><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</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=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</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=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</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>Gyvavimo ciklas: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · faktiškai grąžinta task_id reikšmė arba medijos bibliotekos įrašas</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\">Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Planai</h3><h4>Ailoot metodų įkainiai</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Įgarsinimas</b><code>POST /v1/audio/speech</code></header><dl><div><dt>Įvestis</dt><dd>100,00 USD <em>už 1 milijoną simbolių</em></dd></div></dl></section><p class=\"note-s\">Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. <a href=\"/docs/lt/billing/reserve/\">Kaip veikia rezervavimas ir atsiskaitymas →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Užklausų pavyzdžiai</h3><h4>Ailoot · Įgarsinimas</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kodo variantai\"><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\">Įgarsinimo pavyzdys</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopijuoti kodą\"><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\">Gauti ir išsaugoti rezultatus</h3><h4>Ailoot · Įgarsinimas</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>Išsaugoti visus baigtus rezultatus</h5><p class=\"note-s\">Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.</p><p class=\"note-s\">Išsaugokite visą dvejetainį rezultatą ir antraštes. Jei grąžinamas JSON arba keli rezultatai, išsaugokite kiekvieną duomenų elementą ir atsisiųskite kiekvieną išteklių pagal faktiškai grąžintą pasirašytą URL.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jei reikia patikrinti pradinį atsakymą</h5><p class=\"note-s\">Išsaugokite pradinį operation_id/X-Client-Request-ID duomenims sutikrinti, pakartotinai neteikdami užklausos; atskiro garso būsenos tikrinimo maršruto nėra.</p></div><details class=\"card-about\" data-output-fields><summary>Atsakymo laukai</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Laukas</th><th>Tipas</th></tr></thead><tbody><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">binary audio</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>bytes</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">response headers</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>headers</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Klaidos ir tolesni veiksmai</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Atsakymas</th><th>Sąlyga</th><th>Kitas žingsnis</th></tr></thead><tbody><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>Netinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Prieš naują kūrimo užklausą pataisykite nurodytus laukus.</td></tr><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span><code>server_error</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>Grąžintame atsakyme nurodoma, kad operaciją arba rezultatą reikia patikrinti</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Išsaugokite pradinį grąžintą operacijos ar užduoties ID, užklausos antraštes ir atsakymą; toliau tikrinkite tos pačios pradinės operacijos duomenis palaikomais būdais. Kūrimo užklausos pakartotinai neteikite.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Pseudonimai</h3><h4>Modelių pseudonimai</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>Metodų kelių pseudonimai</h4><p class=\"note-s\">Naudokite aukščiau nurodytus metodų kelius.</p><h4>Susiję ID iškvietimui</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": "Netinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė",
                "http_status": 400,
                "recovery": "Prieš naują kūrimo užklausą pataisykite nurodytus laukus.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Grąžintame atsakyme nurodoma, kad operaciją arba rezultatą reikia patikrinti",
                "http_status": null,
                "recovery": "Išsaugokite pradinį grąžintą operacijos ar užduoties ID, užklausos antraštes ir atsakymą; toliau tikrinkite tos pačios pradinės operacijos duomenis palaikomais būdais. Kūrimo užklausos pakartotinai neteikite.",
                "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": "Išsaugokite pradinį operation_id/X-Client-Request-ID duomenims sutikrinti, pakartotinai neteikdami užklausos; atskiro garso būsenos tikrinimo maršruto nėra."
            },
            "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": "Išsaugokite visą dvejetainį rezultatą ir antraštes. Jei grąžinamas JSON arba keli rezultatai, išsaugokite kiekvieną duomenų elementą ir atsisiųskite kiekvieną išteklių pagal faktiškai grąžintą pasirašytą URL.",
              "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": "Unicode simboliai"
              },
              {
                "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": [
            "Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo."
          ],
          "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": "faktiškai grąžinta task_id reikšmė arba medijos bibliotekos įrašas",
                "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": "Įgarsinimas",
        "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": "c632e434d744bb11b61990a5b46678be2fbff2916385ab3df144b1326702aa90",
    "input_html_sha256": "91ef99fa2e547a7030b07daf1451187c2fd561975870572cf8b1ca290ff52307",
    "private_audit_sha256": "6f559b3a798b0bf5648cdcc6cc8be381dab88389d37fcbe2cdde79b54d9bbb0c",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/lt/speech-02-hd/",
    "description": "Speech-02 HD — kalbos sintezės modelis, kuriame daugiausia dėmesio skiriama skambesio kokybei ir balso panašumui.",
    "locale": "lt",
    "md_url": "https://ailoot.ai/models/lt/speech-02-hd/index.md",
    "title": "speech-02-hd — Ailoot",
    "url": "https://ailoot.ai/models/lt/speech-02-hd/"
  },
  "rawModel": {
    "about": "### Balsas įgarsinimui ir ilgiems skaitiniams\n\nSpeech 02 HD kuria kalbą, daugiausia dėmesio skirdama kokybei, ritmui ir skambesio stabilumui. Gamintojas išskiria medžiagos įgarsinimą ir audioknygas, kuriose balsas turi išlaikyti charakterį ir tolygiai skaityti ilgą tekstą. Tai sintezės modelis: jis priima tekstą ir paverčia jį kalbos garso įrašu.\n\n### Kaip susiejami tekstas ir tembras\n\nSpeech 02 šeimos pagrindas — autoregresinė Transformer architektūra ir mokomas kalbėtojo koduotuvas. Tembro išskyrimas ir kalbos generavimas buvo mokomi kartu, kad balso ypatybės būtų suderintos su turiniu. Šeimos galimybės apima parengtų klonuotų balsų naudojimą ir kalbos, akcento bei tarimo manieros derinimą.\n\n### Emocija ir skaitymas įvairiomis kalbomis\n\nEmocinė išraiška gali būti nustatoma pagal teksto prasmę arba nurodoma rankiniu būdu. Prieinami džiaugsmas, liūdesys, pyktis, baimė, pasibjaurėjimas, nuostaba ir ramybė. Modelis dirba su rusų, anglų ir kitomis kalbomis; gamintojas aprašo įvairius anglų kalbos akcentus, kinų ir kantoniečių, japonų, korėjiečių, Europos ir kitas kalbas.\n\nDabartiniame Speech 02 aprašyme atskirai neįtrauktos persų, filipiniečių ir tamilų kalbos. Bendro naujesnių Speech kartų kalbų sąrašo nereikia automatiškai taikyti šiai versijai.\n\n### Balso nustatymai\n\nSintezei numatyti balso pasirinkimas, greičio keitimas **0,5–2**, garsumas virš 0 ir iki **10**, aukštis nuo **−12 iki 12**. Tarimo žodyne galima nurodyti rašytinės formos pakeitimą norimu tarimu; palaikomi fonetiniai užrašai ir japoniški tarimo variantai. Tai padeda valdyti, kaip skambės vardai ir nevienareikšmiai žodžiai.\n\n### Pauzės ir parengtas garso įrašas\n\nGamintojas leidžia nurodyti **0,01–99,99 sekundės** trukmės pauzes tarp tariamų fragmentų. Pauzės trukmė nurodoma dviejų skaitmenų po kablelio tikslumu; žymekliai dedami tarp tariamų fragmentų, o ne vienas po kito. Vienos sinchroninės užklausos tekste turi būti mažiau nei **10 000 simbolių**. Numatyta galimybė gauti visą garsą arba jį gauti palaipsniui; tekstui, ilgesniam nei 3000 simbolių, rekomenduojama srautinė išvestis.\n\nTarp modelio formatų yra MP3, WAV, FLAC ir PCM; bendruose sintezės nustatymuose taip pat aprašomi Opus ir G.711 μ-law variantai. Galima naudoti mono arba stereo. Šioje kortelėje prieinamas teksto įgarsinimas, o atskiras balso parengimas ir išplėstiniai nustatymai taikomi tik Ailoot palaikomo kreipimosi būdo ribose.\n\nPapildomi garso nustatymai apima **8, 16, 22,05, 24, 32 ir 44,1 kHz** diskretizavimo dažnius. MP3 numatyta **32, 64, 128 arba 256 kbit/s** bitų sparta. Taip pat galima keisti balso atspalvį ir taikyti vieną efektą: erdvų aidą, salės aidą, telefono skambesį arba robotinį balsą. Balso keitimo efektai palaikomi MP3, WAV ir FLAC gaunant visą garso įrašą, o naudojant srautinę išvestį — tik MP3. G.711 μ-law formatai naudoja 8 kHz dažnį. Šios galimybės taikomos MiniMax sintezės nustatymams.\n\nGamintojas numato kalbos sinchronizavimą su tekstu: laiko žymas pagal sakinius, žodžius arba žodžius palaipsniui pateikiant išvestį. Toks rezultatas padeda suderinti tarimą su teksto rodymu. Šiai papildomai galimybei reikia atitinkamo atsakymo formato palaikymo.",
    "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": "Netinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė",
                "http_status": 400,
                "recovery": "Prieš naują kūrimo užklausą pataisykite nurodytus laukus.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Grąžintame atsakyme nurodoma, kad operaciją arba rezultatą reikia patikrinti",
                "http_status": null,
                "recovery": "Išsaugokite pradinį grąžintą operacijos ar užduoties ID, užklausos antraštes ir atsakymą; toliau tikrinkite tos pačios pradinės operacijos duomenis palaikomais būdais. Kūrimo užklausos pakartotinai neteikite.",
                "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": "Išsaugokite pradinį operation_id/X-Client-Request-ID duomenims sutikrinti, pakartotinai neteikdami užklausos; atskiro garso būsenos tikrinimo maršruto nėra."
            },
            "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": "Išsaugokite visą dvejetainį rezultatą ir antraštes. Jei grąžinamas JSON arba keli rezultatai, išsaugokite kiekvieną duomenų elementą ir atsisiųskite kiekvieną išteklių pagal faktiškai grąžintą pasirašytą URL.",
              "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": "Unicode simboliai"
              },
              {
                "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": [
            "Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo."
          ],
          "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": "faktiškai grąžinta task_id reikšmė arba medijos bibliotekos įrašas",
                "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": "Įgarsinimas",
        "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 — kalbos sintezės modelis, kuriame daugiausia dėmesio skiriama skambesio kokybei ir balso panašumui."
  },
  "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 — kalbos sintezės modelis, kuriame daugiausia dėmesio skiriama skambesio kokybei ir balso panašumui.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "8e0824a7ec81daac05b82655a31efbc634f0a68d4a45a1bf153318d2626febd9",
    "renderer_sha256": "57bd2f8a61f57d341aae369006eca818e3eea645ec43af488ec7b2289eeca772"
  },
  "sourceRevision": "69818e440675fa9a8907cda879c7d01edea26e1a05d6a630c2bab7959c629ef8"
}
