{
  "aboutHtml": "<p>Az S2.1 Pro a Fish Audio S2-generációjának későbbi szövegfelolvasó modellje kifejező narrációhoz és társalgási hangalkalmazásokhoz. Az S2 Pro-hoz képest javítja a beszédminőséget, a késleltetést és az áteresztőképességet, miközben megtartja a természetes nyelvű előadásvezérlést és a natív több beszélős párbeszédet. Az S2.1 Pro és az S2.1 Pro Free ugyanarra az alapul szolgáló beszédmodellre épül.</p><p>Narrált magyarázathoz add meg a kész szöveget, a kívánt hangot és azokat a pillanatokat, amikor a tempónak vagy a hangsúlynak változnia kell. Társalgási alkalmazásnál az alkalmazás által kiválasztott választ szintetizáld, és tényszerű tartalmát tartsd külön az előadási instrukcióktól. Megírt párbeszédnél a megszólalások megírása előtt határozd meg a beszélőket és hangjukat. Hasznos eredmény egy teljes hangrészlet vagy lejátszható stream, amelynek szavai, előadásmódja és beszélőszerepei megfelelnek a feladatleírásnak.</p><p>A ténylegesen kimondandó szavakat írd le, majd közvetlenül az elé a rész elé tegyél utasítást, amelynek az előadásmódját meg szeretnéd változtatni. A szögletes zárójeles instrukciók suttogást, szünetet, reakciót, hangsúlyt vagy szabadon leírt beszédstílust fejezhetnek ki. A mondaton belüli változtatást oda helyezd, ahol az előadás megkívánja, és a leíró instrukciókat valódi beszédszöveg kövesse. Egy hasznos magyarázó feladatleírás elkülöníti a tényszerű megfogalmazást a hallgató számára kívánt közvetlenségtől, tempótól vagy hangsúlytól.</p><p>Egy beszélőhöz válassz mentett hangazonosítót, vagy adj meg referenciafelvételt a leiratával együtt. A gyártó beszédútmutatója tiszta, 10–30 másodperces mintát javasol az azonnali hangkondicionáláshoz. Olyan referenciát válassz, amelynek hangvétele és felvételi minősége illik a szöveghez, és a kapcsolódó részeknél ugyanazt a referenciát őrizd meg. A hangreferencia a beszélő hangzását, a szöveg és a beágyazott instrukciók a tartalmat és annak előadását adják.</p><p>A natív több beszélős szintézis &lt;|speaker:0|&gt; és &lt;|speaker:1|&gt; típusú jelölőket használ, rendezett hangazonosító-tömbbel vagy külön referenciacsoportokkal. A számozott beszélőcímkéket igazítsd ehhez a sorrendhez. Oktató párbeszédnél írd meg minden beszélő sorát, és az előadásmód utasítását a megfelelő beszélőjelölő után helyezd el. Így egyetlen kérésen belül jön létre párbeszéd; ez eltér az S1 külön, egy beszélős szegmenseiből és későbbi összeállításából álló folyamattól.</p><p>A gyártó munkafolyamata MP3, WAV, nyers PCM és Opus kimenetet kínál; az alapértelmezés az MP3. Az MP3 64, 128 és 192 kbps értéket támogat; a WAV és a PCM dokumentált, 16 bites monó mintavételi formátumot használ, az Opus pedig 48 kHz-et. A formátumot a megőrzendő narrációs fájlhoz, a streamelt lejátszáshoz vagy a további hangfeldolgozáshoz válaszd. A hanggal együtt őrizd meg a teljes szöveget és a hangválasztást, hogy később egyetlen sor is szerkeszthető legyen a kívánt előadás elvesztése nélkül.</p><p>A sebesség 0.5 és 2.0 között állítható, hangerővezérléssel együtt. A szövegnormalizálás az angol és kínai számokat természetes felolvasáshoz bontja ki. A kimeneti hangerő normalizálásának alapértéke true, és az S2 családra alkalmazható; ugyanez a mező az S1 esetén nem fejtett ki hatást. Az S1 repetition_penalty paramétere nem módosítja az S2.1 Pro hangját, ezért egy régi beállítást nem szabad ennél a modellnél hatékony vezérlőnek tekinteni. Az ismétlődő hangokat és szavakat közvetlenül ellenőrizd, ne egy átvett paraméter alapján ítéld meg az eredményt.</p><p>A hosszabb szövegek darabokban kerülnek feldolgozásra. A dokumentált darabhossztartomány 100–300, a max_new_tokens pedig darabonkénti hangtokenkeret, nem a teljes időtartam garanciája. Az előző darabbal végzett kondicionálás továbbviheti a hangkontextust. A gyártó kézbesítési folyamata teljes hangot, fokozatosan érkező hangdarabokat és élő szövegstreamelést ír le, ha a szöveg folyamatosan érkezik. Válaszd ki az alkalmazáshoz illő felhasználási módot, és őrizz meg elegendő szövegkörnyezetet a következő rész kiejtéséhez és hangvételéhez.</p><p>A hasznos végső eredményhez hallgasd meg, vannak-e kihagyott vagy ismételt szavak, megfelelő-e a számok kiejtése, a beszélőváltás, a szünetek és az instrukciók erőssége. Különböző hangreferenciák eltérő intenzitással értelmezhetnek egy jelzést, ezért egymással versengő címkék hozzáadása előtt egyszerűen irányított sorral kezdj. Többnyelvű munkánál a célnyelvi szöveget add meg, ne a beszédmodelltől várd a tartalom kitalálását vagy lefordítását. Célzott javításkor az eltérést okozó sort, jelzést vagy referenciát módosítsd, megtartva az előadás már megfelelő részeit.</p>",
  "aboutText": "Az S2.1 Pro a Fish Audio S2-generációjának későbbi szövegfelolvasó modellje kifejező narrációhoz és társalgási hangalkalmazásokhoz. Az S2 Pro-hoz képest javítja a beszédminőséget, a késleltetést és az áteresztőképességet, miközben megtartja a természetes nyelvű előadásvezérlést és a natív több beszélős párbeszédet. Az S2.1 Pro és az S2.1 Pro Free ugyanarra az alapul szolgáló beszédmodellre épül.\n\nNarrált magyarázathoz add meg a kész szöveget, a kívánt hangot és azokat a pillanatokat, amikor a tempónak vagy a hangsúlynak változnia kell. Társalgási alkalmazásnál az alkalmazás által kiválasztott választ szintetizáld, és tényszerű tartalmát tartsd külön az előadási instrukcióktól. Megírt párbeszédnél a megszólalások megírása előtt határozd meg a beszélőket és hangjukat. Hasznos eredmény egy teljes hangrészlet vagy lejátszható stream, amelynek szavai, előadásmódja és beszélőszerepei megfelelnek a feladatleírásnak.\n\nA ténylegesen kimondandó szavakat írd le, majd közvetlenül az elé a rész elé tegyél utasítást, amelynek az előadásmódját meg szeretnéd változtatni. A szögletes zárójeles instrukciók suttogást, szünetet, reakciót, hangsúlyt vagy szabadon leírt beszédstílust fejezhetnek ki. A mondaton belüli változtatást oda helyezd, ahol az előadás megkívánja, és a leíró instrukciókat valódi beszédszöveg kövesse. Egy hasznos magyarázó feladatleírás elkülöníti a tényszerű megfogalmazást a hallgató számára kívánt közvetlenségtől, tempótól vagy hangsúlytól.\n\nEgy beszélőhöz válassz mentett hangazonosítót, vagy adj meg referenciafelvételt a leiratával együtt. A gyártó beszédútmutatója tiszta, 10–30 másodperces mintát javasol az azonnali hangkondicionáláshoz. Olyan referenciát válassz, amelynek hangvétele és felvételi minősége illik a szöveghez, és a kapcsolódó részeknél ugyanazt a referenciát őrizd meg. A hangreferencia a beszélő hangzását, a szöveg és a beágyazott instrukciók a tartalmat és annak előadását adják.\n\nA natív több beszélős szintézis <|speaker:0|> és <|speaker:1|> típusú jelölőket használ, rendezett hangazonosító-tömbbel vagy külön referenciacsoportokkal. A számozott beszélőcímkéket igazítsd ehhez a sorrendhez. Oktató párbeszédnél írd meg minden beszélő sorát, és az előadásmód utasítását a megfelelő beszélőjelölő után helyezd el. Így egyetlen kérésen belül jön létre párbeszéd; ez eltér az S1 külön, egy beszélős szegmenseiből és későbbi összeállításából álló folyamattól.\n\nA gyártó munkafolyamata MP3, WAV, nyers PCM és Opus kimenetet kínál; az alapértelmezés az MP3. Az MP3 64, 128 és 192 kbps értéket támogat; a WAV és a PCM dokumentált, 16 bites monó mintavételi formátumot használ, az Opus pedig 48 kHz-et. A formátumot a megőrzendő narrációs fájlhoz, a streamelt lejátszáshoz vagy a további hangfeldolgozáshoz válaszd. A hanggal együtt őrizd meg a teljes szöveget és a hangválasztást, hogy később egyetlen sor is szerkeszthető legyen a kívánt előadás elvesztése nélkül.\n\nA sebesség 0.5 és 2.0 között állítható, hangerővezérléssel együtt. A szövegnormalizálás az angol és kínai számokat természetes felolvasáshoz bontja ki. A kimeneti hangerő normalizálásának alapértéke true, és az S2 családra alkalmazható; ugyanez a mező az S1 esetén nem fejtett ki hatást. Az S1 repetition_penalty paramétere nem módosítja az S2.1 Pro hangját, ezért egy régi beállítást nem szabad ennél a modellnél hatékony vezérlőnek tekinteni. Az ismétlődő hangokat és szavakat közvetlenül ellenőrizd, ne egy átvett paraméter alapján ítéld meg az eredményt.\n\nA hosszabb szövegek darabokban kerülnek feldolgozásra. A dokumentált darabhossztartomány 100–300, a max_new_tokens pedig darabonkénti hangtokenkeret, nem a teljes időtartam garanciája. Az előző darabbal végzett kondicionálás továbbviheti a hangkontextust. A gyártó kézbesítési folyamata teljes hangot, fokozatosan érkező hangdarabokat és élő szövegstreamelést ír le, ha a szöveg folyamatosan érkezik. Válaszd ki az alkalmazáshoz illő felhasználási módot, és őrizz meg elegendő szövegkörnyezetet a következő rész kiejtéséhez és hangvételéhez.\n\nA hasznos végső eredményhez hallgasd meg, vannak-e kihagyott vagy ismételt szavak, megfelelő-e a számok kiejtése, a beszélőváltás, a szünetek és az instrukciók erőssége. Különböző hangreferenciák eltérő intenzitással értelmezhetnek egy jelzést, ezért egymással versengő címkék hozzáadása előtt egyszerűen irányított sorral kezdj. Többnyelvű munkánál a célnyelvi szöveget add meg, ne a beszédmodelltől várd a tartalom kitalálását vagy lefordítását. Célzott javításkor az eltérést okozó sort, jelzést vagy referenciát módosítsd, megtartva az előadás már megfelelő részeit.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "e0febb8eefdcc834745739555b15b0be6b68c3c46257175cb78a236888b8a3fb",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "hu",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Fish Audio: S2.1 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Bezárás\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/s2.1-pro</code><button type=\"button\" id=\"copy-id\">ID másolása</button></div><nav class=\"card-jump-nav\" aria-label=\"Modellkártya szakaszai\"><button type=\"button\" data-card-jump=\"overview\">Kezdő lépések</button><button type=\"button\" data-card-jump=\"methods\">Bemenetek és metódusok</button><button type=\"button\" data-card-jump=\"pricing\">Díjcsomagok</button><button type=\"button\" data-card-jump=\"examples\">Példák</button><button type=\"button\" data-card-jump=\"results\">Eredmények</button><button type=\"button\" data-card-jump=\"aliases\">Álnevek</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-metódusok\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|speech|/v1/audio/speech|fish-audio%2Fs2.1-pro\">Felolvasás</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\">Kezdő lépések</h3><p class=\"mdesc-full\">A Fish Audio S2.1 Pro kifejező többnyelvű beszédet és natív több beszélős párbeszédet készít; minőségben, késleltetésben és áteresztőképességben javulást hoz az S2 Pro-hoz képest. Az előadásmódot a szövegen belül irányítsd, és hangreferenciákkal készíts narrációt vagy társalgási hanganyagot.</p><dl class=\"card-io\" data-card-io><div><dt>Elfogadott bemenetek</dt><dd>Szöveg</dd></div><div><dt>Eredmények</dt><dd>Hang</dd></div></dl><details class=\"card-about\"><summary>A modellről</summary><p class=\"note-s\" data-model-method-boundary>Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.</p><div class=\"mabout\" id=\"m-about\"><p>Az S2.1 Pro a Fish Audio S2-generációjának későbbi szövegfelolvasó modellje kifejező narrációhoz és társalgási hangalkalmazásokhoz. Az S2 Pro-hoz képest javítja a beszédminőséget, a késleltetést és az áteresztőképességet, miközben megtartja a természetes nyelvű előadásvezérlést és a natív több beszélős párbeszédet. Az S2.1 Pro és az S2.1 Pro Free ugyanarra az alapul szolgáló beszédmodellre épül.</p><p>Narrált magyarázathoz add meg a kész szöveget, a kívánt hangot és azokat a pillanatokat, amikor a tempónak vagy a hangsúlynak változnia kell. Társalgási alkalmazásnál az alkalmazás által kiválasztott választ szintetizáld, és tényszerű tartalmát tartsd külön az előadási instrukcióktól. Megírt párbeszédnél a megszólalások megírása előtt határozd meg a beszélőket és hangjukat. Hasznos eredmény egy teljes hangrészlet vagy lejátszható stream, amelynek szavai, előadásmódja és beszélőszerepei megfelelnek a feladatleírásnak.</p><p>A ténylegesen kimondandó szavakat írd le, majd közvetlenül az elé a rész elé tegyél utasítást, amelynek az előadásmódját meg szeretnéd változtatni. A szögletes zárójeles instrukciók suttogást, szünetet, reakciót, hangsúlyt vagy szabadon leírt beszédstílust fejezhetnek ki. A mondaton belüli változtatást oda helyezd, ahol az előadás megkívánja, és a leíró instrukciókat valódi beszédszöveg kövesse. Egy hasznos magyarázó feladatleírás elkülöníti a tényszerű megfogalmazást a hallgató számára kívánt közvetlenségtől, tempótól vagy hangsúlytól.</p><p>Egy beszélőhöz válassz mentett hangazonosítót, vagy adj meg referenciafelvételt a leiratával együtt. A gyártó beszédútmutatója tiszta, 10–30 másodperces mintát javasol az azonnali hangkondicionáláshoz. Olyan referenciát válassz, amelynek hangvétele és felvételi minősége illik a szöveghez, és a kapcsolódó részeknél ugyanazt a referenciát őrizd meg. A hangreferencia a beszélő hangzását, a szöveg és a beágyazott instrukciók a tartalmat és annak előadását adják.</p><p>A natív több beszélős szintézis &lt;|speaker:0|&gt; és &lt;|speaker:1|&gt; típusú jelölőket használ, rendezett hangazonosító-tömbbel vagy külön referenciacsoportokkal. A számozott beszélőcímkéket igazítsd ehhez a sorrendhez. Oktató párbeszédnél írd meg minden beszélő sorát, és az előadásmód utasítását a megfelelő beszélőjelölő után helyezd el. Így egyetlen kérésen belül jön létre párbeszéd; ez eltér az S1 külön, egy beszélős szegmenseiből és későbbi összeállításából álló folyamattól.</p><p>A gyártó munkafolyamata MP3, WAV, nyers PCM és Opus kimenetet kínál; az alapértelmezés az MP3. Az MP3 64, 128 és 192 kbps értéket támogat; a WAV és a PCM dokumentált, 16 bites monó mintavételi formátumot használ, az Opus pedig 48 kHz-et. A formátumot a megőrzendő narrációs fájlhoz, a streamelt lejátszáshoz vagy a további hangfeldolgozáshoz válaszd. A hanggal együtt őrizd meg a teljes szöveget és a hangválasztást, hogy később egyetlen sor is szerkeszthető legyen a kívánt előadás elvesztése nélkül.</p><p>A sebesség 0.5 és 2.0 között állítható, hangerővezérléssel együtt. A szövegnormalizálás az angol és kínai számokat természetes felolvasáshoz bontja ki. A kimeneti hangerő normalizálásának alapértéke true, és az S2 családra alkalmazható; ugyanez a mező az S1 esetén nem fejtett ki hatást. Az S1 repetition_penalty paramétere nem módosítja az S2.1 Pro hangját, ezért egy régi beállítást nem szabad ennél a modellnél hatékony vezérlőnek tekinteni. Az ismétlődő hangokat és szavakat közvetlenül ellenőrizd, ne egy átvett paraméter alapján ítéld meg az eredményt.</p><p>A hosszabb szövegek darabokban kerülnek feldolgozásra. A dokumentált darabhossztartomány 100–300, a max_new_tokens pedig darabonkénti hangtokenkeret, nem a teljes időtartam garanciája. Az előző darabbal végzett kondicionálás továbbviheti a hangkontextust. A gyártó kézbesítési folyamata teljes hangot, fokozatosan érkező hangdarabokat és élő szövegstreamelést ír le, ha a szöveg folyamatosan érkezik. Válaszd ki az alkalmazáshoz illő felhasználási módot, és őrizz meg elegendő szövegkörnyezetet a következő rész kiejtéséhez és hangvételéhez.</p><p>A hasznos végső eredményhez hallgasd meg, vannak-e kihagyott vagy ismételt szavak, megfelelő-e a számok kiejtése, a beszélőváltás, a szünetek és az instrukciók erőssége. Különböző hangreferenciák eltérő intenzitással értelmezhetnek egy jelzést, ezért egymással versengő címkék hozzáadása előtt egyszerűen irányított sorral kezdj. Többnyelvű munkánál a célnyelvi szöveget add meg, ne a beszédmodelltől várd a tartalom kitalálását vagy lefordítását. Célzott javításkor az eltérést okozó sort, jelzést vagy referenciát módosítsd, megtartva az előadás már megfelelő részeit.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Elérhető az Ailootban · bemenetek és metódusok</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Beszéd</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Bemenet</dt><dd><code>text</code></dd></div><div><dt>Kimenet</dt><dd><code>audio</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Mező</th><th>Típus</th><th>Követelmény</th><th>Értékek és korlátok</th><th>Alapértelmezett</th></tr></thead><tbody><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>fish-audio/s2.1-pro</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>Minimális hossz: 1</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">voice</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>b347db033a6549378b48d00acb0d06cd</div><div>Minimális hossz: 1</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Opcionális</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>mp3, pcm</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"known\"><span class=\"card-cell-label\">Alapértelmezett</span>pcm</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>object</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Opcionális</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Metódus paraméterei és életciklusa</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Paraméter</th><th>Szerződés</th></tr></thead><tbody><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>content_type</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>application/json</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>required</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>model, input, voice</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>material_types</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>text</td></tr></tbody></table></div><p>Életciklus: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · A ténylegesen visszaadott task_id vagy a médiatár bejegyzése</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></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Díjcsomagok</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.</p><dl data-price-conditions><dt>Gyors mód</dt><dd>Nincs megadva <span class=\"note-s\">Ha a gyors mód van kiválasztva</span></dd><dt>Flex mód</dt><dd>Nincs megadva <span class=\"note-s\">Ha a flex mód van kiválasztva</span></dd><dt>Maximális gondolkodási ráfordítás</dt><dd>Nincs megadva <span class=\"note-s\">Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-díjak</h4><h4>Árak beállításonként</h4><p class=\"note-s\">Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Beállítás</th><th>Díjtáblázat</th><th>Elszámolási egység</th><th>Díj</th></tr></thead><tbody><tr><th data-cell-label=\"Beállítás\" scope=\"row\"><span class=\"card-cell-label\">Beállítás</span>Tokenek alapdíjai</th><td data-cell-label=\"Díjtáblázat\"><span class=\"card-cell-label\">Díjtáblázat</span>Alapdíj</td><td data-cell-label=\"Elszámolási egység\"><span class=\"card-cell-label\">Elszámolási egység</span>—</td><td data-cell-label=\"Díj\"><span class=\"card-cell-label\">Díj</span><div><span>Bemenet · Bemeneti tokenek</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kimenet · Kimeneti tokenek</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Gyorsítótár olvasása</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Írás a gyorsítótárba</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Írás a gyorsítótárba, 1 óra</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Beállítás\" scope=\"row\"><span class=\"card-cell-label\">Beállítás</span>bemeneti UTF-8-bájt</th><td data-cell-label=\"Díjtáblázat\"><span class=\"card-cell-label\">Díjtáblázat</span>—</td><td data-cell-label=\"Elszámolási egység\"><span class=\"card-cell-label\">Elszámolási egység</span>bemeneti UTF-8 bájtonként</td><td data-cell-label=\"Díj\"><span class=\"card-cell-label\">Díj</span><div><span>Bemenet · bemeneti UTF-8-bájt</span> <b>$0.00003</b> <span class=\"price-unit\">bemeneti UTF-8 bájtonként</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. <a href=\"/docs/hu/billing/reserve/\">A foglalás és az elszámolás működése →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Példakérések</h3><h4>Ailoot Ultra · Beszéd</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kódváltozatok\"><button class=\"cg-tab\" id=\"model-code-1357-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1357-panel-0\" aria-selected=\"true\" tabindex=\"0\">Használd a tényleges bemenetet, és őrizd meg a teljes eredményt</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kód másolása\"><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-1357-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1357-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_TEXT:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_TEXT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;fish-audio/s2.1-pro&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;, &#39;voice&#39;: &#39;b347db033a6549378b48d00acb0d06cd&#39;, &#39;response_format&#39;: &#39;mp3&#39;}\nrequest[&#39;input&#39;]=os.environ[&#39;AILOOT_INPUT_TEXT&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Eredmények fogadása és mentése</h3><h4>Ailoot Ultra · Beszéd</h4><p class=\"note-s\">Teljes bináris hang vagy eredeti audio_url válasz, fejlécek és minden saját médiaállomány.</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><details class=\"card-about\"><summary>További tartalomlekérések</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kódváltozatok\"><button class=\"cg-tab\" id=\"model-code-1358-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1358-panel-0\" aria-selected=\"true\" tabindex=\"0\">A meglévő, Önhöz tartozó médiafájlok lekérése</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kód másolása\"><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-1358-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1358-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Őrizzen meg minden elkészült eredményt</h5><p class=\"note-s\">Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.</p><p class=\"note-s\">Őrizze meg a teljes választ és a fejléceket, minden tényleges kimenetet, az eredetileg visszaadott azonosítókat és az összes használati adatmezőt. Az eredeti műveletet állítsa helyre, a létrehozási kérés újbóli beküldése nélkül.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Ha az eredeti választ ellenőrizni kell</h5><p class=\"note-s\">Őrizze meg a visszaadott X-Client-Request-ID értéket az egyeztetéshez. Csak a ténylegesen visszaadott task_id/asset_id értékekkel kérdezzen le, vagy használja a saját médiatárat; soha ne állítson össze feladat-URL-t a műveletazonosítóból, és soha ne küldje be újra a létrehozási kérést.</p></div></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Álnevek</h3><h4>Modell álnevei</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=fish-audio%2Fs2.1-pro&amp;route=Ultra&amp;caller=fish-audio%2Fs2.1-pro&amp;fmt=speech\"><code>fish-audio/s2.1-pro</code></a></span></p><h4>Metódusútvonalak álnevei</h4><p class=\"note-s\">Használja a fent látható metódusútvonalakat.</p><h4>Kapcsolódó modellazonosítók</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Fs2.1-pro&amp;route=Ultra&amp;caller=fish-audio%2Fs2.1-pro&amp;fmt=speech\"><code>fish-audio/s2.1-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/s2.1-pro",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "fish-audio/s2.1-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|fish-audio%2Fs2.1-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "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": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Őrizze meg a visszaadott X-Client-Request-ID értéket az egyeztetéshez. Csak a ténylegesen visszaadott task_id/asset_id értékekkel kérdezzen le, vagy használja a saját médiatárat; soha ne állítson össze feladat-URL-t a műveletazonosítóból, és soha ne küldje be újra a létrehozási kérést."
            },
            "outputs": {
              "all_results": "Őrizze meg a teljes választ és a fejléceket, minden tényleges kimenetet, az eredetileg visszaadott azonosítókat és az összes használati adatmezőt. Az eredeti műveletet állítsa helyre, a létrehozási kérés újbóli beküldése nélkül.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Teljes bináris hang vagy eredeti audio_url válasz, fejlécek és minden saját médiaállomány."
            },
            "parameters": [
              {
                "enum": [
                  "fish-audio/s2.1-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s2.1-pro"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "b347db033a6549378b48d00acb0d06cd"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "fish-audio/s2.1-pro",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "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": "A ténylegesen visszaadott task_id vagy a médiatár bejegyzése",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input UTF-8 byte"
            },
            "label": "input UTF-8 byte",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "input UTF-8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per input UTF-8 byte",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s2.1-pro', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Beszéd",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_utf8_byte": 3e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input UTF-8 byte"
            },
            "label": "input UTF-8 byte",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "input UTF-8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per input UTF-8 byte",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/s2.1-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00003",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "input UTF-8 byte",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per input UTF-8 byte",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ]
      }
    }
  ],
  "model_id": "fish-audio/s2.1-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "a168c55c0f84034b6c8aaab3ccf69d0b1d3ba6e5c0e367339d87d3864e94ea6f",
    "input_html_sha256": "14b64a780e1abc24cfac7dc9f4009444a073356f341800645a6f8d8311e73ae9",
    "private_audit_sha256": "6a756fb788aeb6c4dcb735dceb626559bc553b9d432c283b1a89b333cf0aaa89",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/hu/fish-audio-s2-1-pro/",
    "description": "A Fish Audio S2.1 Pro kifejező többnyelvű beszédet és natív több beszélős párbeszédet készít; minőségben, késleltetésben és áteresztőképességben javulást hoz az S2 Pro-hoz képest. Az előadásmódot a szövegen belül irányítsd, és hangreferenciákkal készíts narrációt vagy társalgási hanganyagot.",
    "locale": "hu",
    "md_url": "https://ailoot.ai/models/hu/fish-audio-s2-1-pro/index.md",
    "title": "Fish Audio: S2.1 Pro — Ailoot",
    "url": "https://ailoot.ai/models/hu/fish-audio-s2-1-pro/"
  },
  "rawModel": {
    "about": "Az S2.1 Pro a Fish Audio S2-generációjának későbbi szövegfelolvasó modellje kifejező narrációhoz és társalgási hangalkalmazásokhoz. Az S2 Pro-hoz képest javítja a beszédminőséget, a késleltetést és az áteresztőképességet, miközben megtartja a természetes nyelvű előadásvezérlést és a natív több beszélős párbeszédet. Az S2.1 Pro és az S2.1 Pro Free ugyanarra az alapul szolgáló beszédmodellre épül.\n\nNarrált magyarázathoz add meg a kész szöveget, a kívánt hangot és azokat a pillanatokat, amikor a tempónak vagy a hangsúlynak változnia kell. Társalgási alkalmazásnál az alkalmazás által kiválasztott választ szintetizáld, és tényszerű tartalmát tartsd külön az előadási instrukcióktól. Megírt párbeszédnél a megszólalások megírása előtt határozd meg a beszélőket és hangjukat. Hasznos eredmény egy teljes hangrészlet vagy lejátszható stream, amelynek szavai, előadásmódja és beszélőszerepei megfelelnek a feladatleírásnak.\n\nA ténylegesen kimondandó szavakat írd le, majd közvetlenül az elé a rész elé tegyél utasítást, amelynek az előadásmódját meg szeretnéd változtatni. A szögletes zárójeles instrukciók suttogást, szünetet, reakciót, hangsúlyt vagy szabadon leírt beszédstílust fejezhetnek ki. A mondaton belüli változtatást oda helyezd, ahol az előadás megkívánja, és a leíró instrukciókat valódi beszédszöveg kövesse. Egy hasznos magyarázó feladatleírás elkülöníti a tényszerű megfogalmazást a hallgató számára kívánt közvetlenségtől, tempótól vagy hangsúlytól.\n\nEgy beszélőhöz válassz mentett hangazonosítót, vagy adj meg referenciafelvételt a leiratával együtt. A gyártó beszédútmutatója tiszta, 10–30 másodperces mintát javasol az azonnali hangkondicionáláshoz. Olyan referenciát válassz, amelynek hangvétele és felvételi minősége illik a szöveghez, és a kapcsolódó részeknél ugyanazt a referenciát őrizd meg. A hangreferencia a beszélő hangzását, a szöveg és a beágyazott instrukciók a tartalmat és annak előadását adják.\n\nA natív több beszélős szintézis <|speaker:0|> és <|speaker:1|> típusú jelölőket használ, rendezett hangazonosító-tömbbel vagy külön referenciacsoportokkal. A számozott beszélőcímkéket igazítsd ehhez a sorrendhez. Oktató párbeszédnél írd meg minden beszélő sorát, és az előadásmód utasítását a megfelelő beszélőjelölő után helyezd el. Így egyetlen kérésen belül jön létre párbeszéd; ez eltér az S1 külön, egy beszélős szegmenseiből és későbbi összeállításából álló folyamattól.\n\nA gyártó munkafolyamata MP3, WAV, nyers PCM és Opus kimenetet kínál; az alapértelmezés az MP3. Az MP3 64, 128 és 192 kbps értéket támogat; a WAV és a PCM dokumentált, 16 bites monó mintavételi formátumot használ, az Opus pedig 48 kHz-et. A formátumot a megőrzendő narrációs fájlhoz, a streamelt lejátszáshoz vagy a további hangfeldolgozáshoz válaszd. A hanggal együtt őrizd meg a teljes szöveget és a hangválasztást, hogy később egyetlen sor is szerkeszthető legyen a kívánt előadás elvesztése nélkül.\n\nA sebesség 0.5 és 2.0 között állítható, hangerővezérléssel együtt. A szövegnormalizálás az angol és kínai számokat természetes felolvasáshoz bontja ki. A kimeneti hangerő normalizálásának alapértéke true, és az S2 családra alkalmazható; ugyanez a mező az S1 esetén nem fejtett ki hatást. Az S1 repetition_penalty paramétere nem módosítja az S2.1 Pro hangját, ezért egy régi beállítást nem szabad ennél a modellnél hatékony vezérlőnek tekinteni. Az ismétlődő hangokat és szavakat közvetlenül ellenőrizd, ne egy átvett paraméter alapján ítéld meg az eredményt.\n\nA hosszabb szövegek darabokban kerülnek feldolgozásra. A dokumentált darabhossztartomány 100–300, a max_new_tokens pedig darabonkénti hangtokenkeret, nem a teljes időtartam garanciája. Az előző darabbal végzett kondicionálás továbbviheti a hangkontextust. A gyártó kézbesítési folyamata teljes hangot, fokozatosan érkező hangdarabokat és élő szövegstreamelést ír le, ha a szöveg folyamatosan érkezik. Válaszd ki az alkalmazáshoz illő felhasználási módot, és őrizz meg elegendő szövegkörnyezetet a következő rész kiejtéséhez és hangvételéhez.\n\nA hasznos végső eredményhez hallgasd meg, vannak-e kihagyott vagy ismételt szavak, megfelelő-e a számok kiejtése, a beszélőváltás, a szünetek és az instrukciók erőssége. Különböző hangreferenciák eltérő intenzitással értelmezhetnek egy jelzést, ezért egymással versengő címkék hozzáadása előtt egyszerűen irányított sorral kezdj. Többnyelvű munkánál a célnyelvi szöveget add meg, ne a beszédmodelltől várd a tartalom kitalálását vagy lefordítását. Célzott javításkor az eltérést okozó sort, jelzést vagy referenciát módosítsd, megtartva az előadás már megfelelő részeit.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00003",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "input UTF-8 byte",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per input UTF-8 byte",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ],
        "summary": "A konfiguráció teljes árazása a részletekben."
      }
    ],
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "fish-audio/s2.1-pro",
    "input": [
      "text"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "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": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Őrizze meg a visszaadott X-Client-Request-ID értéket az egyeztetéshez. Csak a ténylegesen visszaadott task_id/asset_id értékekkel kérdezzen le, vagy használja a saját médiatárat; soha ne állítson össze feladat-URL-t a műveletazonosítóból, és soha ne küldje be újra a létrehozási kérést."
            },
            "outputs": {
              "all_results": "Őrizze meg a teljes választ és a fejléceket, minden tényleges kimenetet, az eredetileg visszaadott azonosítókat és az összes használati adatmezőt. Az eredeti műveletet állítsa helyre, a létrehozási kérés újbóli beküldése nélkül.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Teljes bináris hang vagy eredeti audio_url válasz, fejlécek és minden saját médiaállomány."
            },
            "parameters": [
              {
                "enum": [
                  "fish-audio/s2.1-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s2.1-pro"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "b347db033a6549378b48d00acb0d06cd"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "fish-audio/s2.1-pro",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "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": "A ténylegesen visszaadott task_id vagy a médiatár bejegyzése",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input UTF-8 byte"
            },
            "label": "input UTF-8 byte",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "input UTF-8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per input UTF-8 byte",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s2.1-pro', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Beszéd",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_utf8_byte": 3e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input UTF-8 byte"
            },
            "label": "input UTF-8 byte",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "input UTF-8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per input UTF-8 byte",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/s2.1-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00003",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "input UTF-8 byte",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per input UTF-8 byte",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "fish-audio/s2.1-pro",
        "request_model_id": "fish-audio/s2.1-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: S2.1 Pro",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "A Fish Audio S2.1 Pro kifejező többnyelvű beszédet és natív több beszélős párbeszédet készít; minőségben, késleltetésben és áteresztőképességben javulást hoz az S2 Pro-hoz képest. Az előadásmódot a szövegen belül irányítsd, és hangreferenciákkal készíts narrációt vagy társalgási hanganyagot."
  },
  "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": "A Fish Audio S2.1 Pro kifejező többnyelvű beszédet és natív több beszélős párbeszédet készít; minőségben, késleltetésben és áteresztőképességben javulást hoz az S2 Pro-hoz képest. Az előadásmódot a szövegen belül irányítsd, és hangreferenciákkal készíts narrációt vagy társalgási hanganyagot.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "2e50667281ee78d22ba4e10ee8938fb643c183e2c976f124db0c3e44a9fcc7de",
    "renderer_sha256": "59b0e30a0b251f9d98bf0bafcc7ef50440c33057c2bf9c9fadabbcaeefffb5bb"
  },
  "sourceRevision": "6e4dd4d2cd988a79909212a9f92b60920a87b407e760ae6fc8339eb3cb7f7d1d"
}
