{
  "aboutHtml": "<p>Transcribe 1 Pro je model prevodu reči na text od Fish Audio pre krátke klipy, rozhovory viacerých hovoriacich a dlhé nahrávky. Prijíma nahratý zvuk a vracia prepis s voliteľným časovaním a štruktúrovanými replikami hovoriacich. Jeho osobitnými vlastnosťami sú zmeny hovoriaceho označené v texte a značky emócií či hlasových prejavov, ktoré zachovávajú viac z konverzačnej štruktúry nahrávky než jednoduchá postupnosť slov.</p><p>Pri rozhovore, stretnutí alebo podcaste ponechajte celú konverzáciu v jednom súbore, aby sa opakovane vystupujúcim hovoriacim mohli v rámci odpovede zachovať konzistentné označenia. Užitočným výstupom na kontrolu je prepis prepojený s pôvodnou nahrávkou, so samostatne zobrazenými replikami a dostupnou časovou značkou na overenie citácie. Zhrnutie alebo zoznam úloh je následný krok aplikácie: uchovajte ho oddelene od prepisu, aby hovorený zdroj zostal dostupný na porovnanie.</p><p>Výrobca prijíma nahrávky do 60 minút a opisuje spracovanie dlhých súborov s komprimovaným zvukom, napríklad MP3, Opus alebo AAC. Podporované formáty zahŕňajú WAV, MP3, AAC v M4A alebo MP4, FLAC, Ogg s Opus alebo Vorbis, WebM/Matroska a MOV. Pri videosúbore používa prvú zvukovú stopu. AIFF, CAF, WMA, AMR, AC-3 a surové PCM bez hlavičky nie sú podporované. Na požiadavku sa dodáva jeden zvukový súbor; výsledok príde po prepise celej nahrávky a spracovanie dlhej nahrávky môže trvať niekoľko minút. Klipy kratšie než približne 0,08 sekundy sa odmietajú.</p><p>Odpoveď výrobcu obsahuje celý text, dĺžku nahrávky v sekundách a pole segments. Pro označuje zmeny hovoriaceho priamo v texte značkami, ako sú &lt;|speaker:0|&gt; a &lt;|speaker:1|&gt;; označenie platí pre nasledujúci text až do ďalšej značky. Ide o identifikátory v rámci jednej odpovede, nie overené mená alebo identity, ktoré možno spájať medzi požiadavkami. Ak prepis nemá značku hovoriaceho, návod ho považuje za výsledok s jedným hovoriacim. Text pred prvou značkou ponechajte pri prvej replike namiesto jeho zahodenia.</p><p>Časové značky jednotlivých slov sú voliteľné. V požiadavke výrobcu má ignore_timestamps predvolenú hodnotu true; nastavenie false žiada segmenty s textom a časmi začiatku a konca v sekundách. Segment je spravidla slovo alebo jeden či niekoľko znakov v čínštine a japončine. Text segmentu vynecháva interpunkciu, značky hovoriacich a hlasových prejavov a môže normalizovať vyslovenú hodnotu inak než úplný prepis. Segment slova môže mať rovnaký čas začiatku aj konca. Prázdne pole segments môže znamenať, že časové značky neboli vyžiadané, nenašla sa reč alebo bolo časovanie dočasne nedostupné. Na čitateľné znenie použite úplný prepis a na zarovnanie segmenty namiesto predpokladu, že oba reťazce sa zhodujú znak po znaku.</p><p>Nastavenie diarize má predvolenú hodnotu auto. Keď sú vyžiadané časové značky a diarize nie je false, Pro vracia aj speaker_turns. Každá replika obsahuje označenie hovoriaceho, text a časy začiatku/konca, pričom zachováva interpunkciu a ponechané značky prejavov bez vloženej značky hovoriaceho. Ak časovanie slov nie je dostupné, časy replík môžu byť približné a pokrývať celú nahrávku; susedné repliky nemusia na seba nadväzovať ani byť bez prekrytia. Vypnutie diarize odstráni štruktúrovaný zoznam replík, ale značky hovoriacich ponechá v úplnom texte. Známy počet hovoriacich alebo minimálny a maximálny počet môžu podľa možností usmerniť diarizáciu dlhšej nahrávky. Presný počet nemožno kombinovať s hranicami počtu a nápovedy o počte nemožno použiť pri vypnutom diarize.</p><p>Značky emócií a hlasových prejavov sa zobrazujú ako text v hranatých zátvorkách, napríklad [laughter], spolu s rozpoznanou rečou. Ide o odhady zo zvuku, nie slová, ktoré má používateľ pridať pred prepisom. Nastavenie tag_audio_events v Pro má predvolenú hodnotu true; jeho vypnutie odstráni tieto značky z prepisu a textu replík bez zmeny časovania. Neexistuje samostatné pole emócie ani pevne daný zoznam emócií. Keď záleží na tom, ako poznámka znie, zachovajte anotovaný prepis; ak následný výstup potrebuje iba vyslovené slová, použite verziu bez značiek prejavov.</p><p>Jazyk sa zisťuje automaticky. Voliteľná nápoveda ISO 639-1 malými písmenami nevynúti preklad ani nezmení prepis Pro. Ak jazyk nemožno určiť, vrátený kód jazyka môže odrážať nápovedu bez jej overenia voči zvuku. Výrobca uvádza jeden jazyk, nie zoznam všetkých jazykov v zmiešanej nahrávke. Pri príprave prehľadávateľného archívu uchovajte pôvodné znenie a jazykové metadáta spolu, najmä ak sa v rôznych častiach konverzácie mení jazyk.</p><p>Pre titulky zoskupte po sebe idúce časované slová do čitateľných titulkov SRT alebo WebVTT namiesto jedného titulku na slovo. Titulky oddeľujte pri pauzách a ich dĺžku a čas zobrazenia voľte podľa prehrávača a publika. Hranice replík môžu udržať rôznych hovoriacich v samostatných titulkoch. Skontrolujte prázdny výsledok časovania aj titulky, ktorých koniec musí byť neskôr než začiatok. Formátovanie titulkov, mená pre anonymné označenia hovoriacich a prípadné neskoršie zhrnutie sú výstupy aplikácie vytvorené z výsledku prepisu.</p><p>V praktickom postupe práce s nahrávkou sa pred prepisom rozhodnite, či potrebujete obyčajný čitateľný prepis, anotované konverzačné repliky alebo časované titulky. Pri výsledku zachovajte identifikátor zvuku, ponechajte vrátený úplný text, keď záleží na interpunkcii a značkách prejavov, a na navigáciu použite štruktúrované časové polia. Možnosti Pro pre dlhé nahrávky a viacerých hovoriacich sa líšia od všeobecného modelu Transcribe 1 pre krátke nahrávky; ich limity a ovládacie parametre nemožno považovať za zameniteľné.</p>",
  "aboutText": "Transcribe 1 Pro je model prevodu reči na text od Fish Audio pre krátke klipy, rozhovory viacerých hovoriacich a dlhé nahrávky. Prijíma nahratý zvuk a vracia prepis s voliteľným časovaním a štruktúrovanými replikami hovoriacich. Jeho osobitnými vlastnosťami sú zmeny hovoriaceho označené v texte a značky emócií či hlasových prejavov, ktoré zachovávajú viac z konverzačnej štruktúry nahrávky než jednoduchá postupnosť slov.\n\nPri rozhovore, stretnutí alebo podcaste ponechajte celú konverzáciu v jednom súbore, aby sa opakovane vystupujúcim hovoriacim mohli v rámci odpovede zachovať konzistentné označenia. Užitočným výstupom na kontrolu je prepis prepojený s pôvodnou nahrávkou, so samostatne zobrazenými replikami a dostupnou časovou značkou na overenie citácie. Zhrnutie alebo zoznam úloh je následný krok aplikácie: uchovajte ho oddelene od prepisu, aby hovorený zdroj zostal dostupný na porovnanie.\n\nVýrobca prijíma nahrávky do 60 minút a opisuje spracovanie dlhých súborov s komprimovaným zvukom, napríklad MP3, Opus alebo AAC. Podporované formáty zahŕňajú WAV, MP3, AAC v M4A alebo MP4, FLAC, Ogg s Opus alebo Vorbis, WebM/Matroska a MOV. Pri videosúbore používa prvú zvukovú stopu. AIFF, CAF, WMA, AMR, AC-3 a surové PCM bez hlavičky nie sú podporované. Na požiadavku sa dodáva jeden zvukový súbor; výsledok príde po prepise celej nahrávky a spracovanie dlhej nahrávky môže trvať niekoľko minút. Klipy kratšie než približne 0,08 sekundy sa odmietajú.\n\nOdpoveď výrobcu obsahuje celý text, dĺžku nahrávky v sekundách a pole segments. Pro označuje zmeny hovoriaceho priamo v texte značkami, ako sú <|speaker:0|> a <|speaker:1|>; označenie platí pre nasledujúci text až do ďalšej značky. Ide o identifikátory v rámci jednej odpovede, nie overené mená alebo identity, ktoré možno spájať medzi požiadavkami. Ak prepis nemá značku hovoriaceho, návod ho považuje za výsledok s jedným hovoriacim. Text pred prvou značkou ponechajte pri prvej replike namiesto jeho zahodenia.\n\nČasové značky jednotlivých slov sú voliteľné. V požiadavke výrobcu má ignore_timestamps predvolenú hodnotu true; nastavenie false žiada segmenty s textom a časmi začiatku a konca v sekundách. Segment je spravidla slovo alebo jeden či niekoľko znakov v čínštine a japončine. Text segmentu vynecháva interpunkciu, značky hovoriacich a hlasových prejavov a môže normalizovať vyslovenú hodnotu inak než úplný prepis. Segment slova môže mať rovnaký čas začiatku aj konca. Prázdne pole segments môže znamenať, že časové značky neboli vyžiadané, nenašla sa reč alebo bolo časovanie dočasne nedostupné. Na čitateľné znenie použite úplný prepis a na zarovnanie segmenty namiesto predpokladu, že oba reťazce sa zhodujú znak po znaku.\n\nNastavenie diarize má predvolenú hodnotu auto. Keď sú vyžiadané časové značky a diarize nie je false, Pro vracia aj speaker_turns. Každá replika obsahuje označenie hovoriaceho, text a časy začiatku/konca, pričom zachováva interpunkciu a ponechané značky prejavov bez vloženej značky hovoriaceho. Ak časovanie slov nie je dostupné, časy replík môžu byť približné a pokrývať celú nahrávku; susedné repliky nemusia na seba nadväzovať ani byť bez prekrytia. Vypnutie diarize odstráni štruktúrovaný zoznam replík, ale značky hovoriacich ponechá v úplnom texte. Známy počet hovoriacich alebo minimálny a maximálny počet môžu podľa možností usmerniť diarizáciu dlhšej nahrávky. Presný počet nemožno kombinovať s hranicami počtu a nápovedy o počte nemožno použiť pri vypnutom diarize.\n\nZnačky emócií a hlasových prejavov sa zobrazujú ako text v hranatých zátvorkách, napríklad [laughter], spolu s rozpoznanou rečou. Ide o odhady zo zvuku, nie slová, ktoré má používateľ pridať pred prepisom. Nastavenie tag_audio_events v Pro má predvolenú hodnotu true; jeho vypnutie odstráni tieto značky z prepisu a textu replík bez zmeny časovania. Neexistuje samostatné pole emócie ani pevne daný zoznam emócií. Keď záleží na tom, ako poznámka znie, zachovajte anotovaný prepis; ak následný výstup potrebuje iba vyslovené slová, použite verziu bez značiek prejavov.\n\nJazyk sa zisťuje automaticky. Voliteľná nápoveda ISO 639-1 malými písmenami nevynúti preklad ani nezmení prepis Pro. Ak jazyk nemožno určiť, vrátený kód jazyka môže odrážať nápovedu bez jej overenia voči zvuku. Výrobca uvádza jeden jazyk, nie zoznam všetkých jazykov v zmiešanej nahrávke. Pri príprave prehľadávateľného archívu uchovajte pôvodné znenie a jazykové metadáta spolu, najmä ak sa v rôznych častiach konverzácie mení jazyk.\n\nPre titulky zoskupte po sebe idúce časované slová do čitateľných titulkov SRT alebo WebVTT namiesto jedného titulku na slovo. Titulky oddeľujte pri pauzách a ich dĺžku a čas zobrazenia voľte podľa prehrávača a publika. Hranice replík môžu udržať rôznych hovoriacich v samostatných titulkoch. Skontrolujte prázdny výsledok časovania aj titulky, ktorých koniec musí byť neskôr než začiatok. Formátovanie titulkov, mená pre anonymné označenia hovoriacich a prípadné neskoršie zhrnutie sú výstupy aplikácie vytvorené z výsledku prepisu.\n\nV praktickom postupe práce s nahrávkou sa pred prepisom rozhodnite, či potrebujete obyčajný čitateľný prepis, anotované konverzačné repliky alebo časované titulky. Pri výsledku zachovajte identifikátor zvuku, ponechajte vrátený úplný text, keď záleží na interpunkcii a značkách prejavov, a na navigáciu použite štruktúrované časové polia. Možnosti Pro pre dlhé nahrávky a viacerých hovoriacich sa líšia od všeobecného modelu Transcribe 1 pre krátke nahrávky; ich limity a ovládacie parametre nemožno považovať za zameniteľné.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "9a78c36e84534f6024ff81ca145efb72a7e0db48928b5f5b3670379f7827fdd9",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "sk",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Fish Audio: Transcribe 1 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zavrieť\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/transcribe-1-pro</code><button type=\"button\" id=\"copy-id\">Skopírovať ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sekcie karty modelu\"><button type=\"button\" data-card-jump=\"overview\">Úvod</button><button type=\"button\" data-card-jump=\"methods\">Vstupy a metódy</button><button type=\"button\" data-card-jump=\"pricing\">Cenník</button><button type=\"button\" data-card-jump=\"examples\">Príklady</button><button type=\"button\" data-card-jump=\"results\">Výsledky</button><button type=\"button\" data-card-jump=\"aliases\">Aliasy</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metódy API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1-pro\">Rozpoznávanie</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Úvod</h3><p class=\"mdesc-full\">Transcribe 1 Pro prevádza nahrávky s dĺžkou do 60 minút na text so značkami hovoriacich a voliteľným časovaním jednotlivých slov. Zachováva značky odhadovaných emócií a hlasových prejavov, čo uľahčuje kontrolu rozhovorov, stretnutí a podcastov, vyhľadávanie v nich či prípravu titulkov.</p><dl class=\"card-io\" data-card-io><div><dt>Povolené vstupy</dt><dd>Audio</dd></div><div><dt>Výsledky</dt><dd>Text</dd></div></dl><details class=\"card-about\"><summary>O modeli</summary><p class=\"note-s\" data-model-method-boundary>Tento opis pokrýva možnosti modelu. Dostupné vstupy, výstupy a voľby v Ailoot sú uvedené nižšie pre vybranú metódu.</p><div class=\"mabout\" id=\"m-about\"><p>Transcribe 1 Pro je model prevodu reči na text od Fish Audio pre krátke klipy, rozhovory viacerých hovoriacich a dlhé nahrávky. Prijíma nahratý zvuk a vracia prepis s voliteľným časovaním a štruktúrovanými replikami hovoriacich. Jeho osobitnými vlastnosťami sú zmeny hovoriaceho označené v texte a značky emócií či hlasových prejavov, ktoré zachovávajú viac z konverzačnej štruktúry nahrávky než jednoduchá postupnosť slov.</p><p>Pri rozhovore, stretnutí alebo podcaste ponechajte celú konverzáciu v jednom súbore, aby sa opakovane vystupujúcim hovoriacim mohli v rámci odpovede zachovať konzistentné označenia. Užitočným výstupom na kontrolu je prepis prepojený s pôvodnou nahrávkou, so samostatne zobrazenými replikami a dostupnou časovou značkou na overenie citácie. Zhrnutie alebo zoznam úloh je následný krok aplikácie: uchovajte ho oddelene od prepisu, aby hovorený zdroj zostal dostupný na porovnanie.</p><p>Výrobca prijíma nahrávky do 60 minút a opisuje spracovanie dlhých súborov s komprimovaným zvukom, napríklad MP3, Opus alebo AAC. Podporované formáty zahŕňajú WAV, MP3, AAC v M4A alebo MP4, FLAC, Ogg s Opus alebo Vorbis, WebM/Matroska a MOV. Pri videosúbore používa prvú zvukovú stopu. AIFF, CAF, WMA, AMR, AC-3 a surové PCM bez hlavičky nie sú podporované. Na požiadavku sa dodáva jeden zvukový súbor; výsledok príde po prepise celej nahrávky a spracovanie dlhej nahrávky môže trvať niekoľko minút. Klipy kratšie než približne 0,08 sekundy sa odmietajú.</p><p>Odpoveď výrobcu obsahuje celý text, dĺžku nahrávky v sekundách a pole segments. Pro označuje zmeny hovoriaceho priamo v texte značkami, ako sú &lt;|speaker:0|&gt; a &lt;|speaker:1|&gt;; označenie platí pre nasledujúci text až do ďalšej značky. Ide o identifikátory v rámci jednej odpovede, nie overené mená alebo identity, ktoré možno spájať medzi požiadavkami. Ak prepis nemá značku hovoriaceho, návod ho považuje za výsledok s jedným hovoriacim. Text pred prvou značkou ponechajte pri prvej replike namiesto jeho zahodenia.</p><p>Časové značky jednotlivých slov sú voliteľné. V požiadavke výrobcu má ignore_timestamps predvolenú hodnotu true; nastavenie false žiada segmenty s textom a časmi začiatku a konca v sekundách. Segment je spravidla slovo alebo jeden či niekoľko znakov v čínštine a japončine. Text segmentu vynecháva interpunkciu, značky hovoriacich a hlasových prejavov a môže normalizovať vyslovenú hodnotu inak než úplný prepis. Segment slova môže mať rovnaký čas začiatku aj konca. Prázdne pole segments môže znamenať, že časové značky neboli vyžiadané, nenašla sa reč alebo bolo časovanie dočasne nedostupné. Na čitateľné znenie použite úplný prepis a na zarovnanie segmenty namiesto predpokladu, že oba reťazce sa zhodujú znak po znaku.</p><p>Nastavenie diarize má predvolenú hodnotu auto. Keď sú vyžiadané časové značky a diarize nie je false, Pro vracia aj speaker_turns. Každá replika obsahuje označenie hovoriaceho, text a časy začiatku/konca, pričom zachováva interpunkciu a ponechané značky prejavov bez vloženej značky hovoriaceho. Ak časovanie slov nie je dostupné, časy replík môžu byť približné a pokrývať celú nahrávku; susedné repliky nemusia na seba nadväzovať ani byť bez prekrytia. Vypnutie diarize odstráni štruktúrovaný zoznam replík, ale značky hovoriacich ponechá v úplnom texte. Známy počet hovoriacich alebo minimálny a maximálny počet môžu podľa možností usmerniť diarizáciu dlhšej nahrávky. Presný počet nemožno kombinovať s hranicami počtu a nápovedy o počte nemožno použiť pri vypnutom diarize.</p><p>Značky emócií a hlasových prejavov sa zobrazujú ako text v hranatých zátvorkách, napríklad [laughter], spolu s rozpoznanou rečou. Ide o odhady zo zvuku, nie slová, ktoré má používateľ pridať pred prepisom. Nastavenie tag_audio_events v Pro má predvolenú hodnotu true; jeho vypnutie odstráni tieto značky z prepisu a textu replík bez zmeny časovania. Neexistuje samostatné pole emócie ani pevne daný zoznam emócií. Keď záleží na tom, ako poznámka znie, zachovajte anotovaný prepis; ak následný výstup potrebuje iba vyslovené slová, použite verziu bez značiek prejavov.</p><p>Jazyk sa zisťuje automaticky. Voliteľná nápoveda ISO 639-1 malými písmenami nevynúti preklad ani nezmení prepis Pro. Ak jazyk nemožno určiť, vrátený kód jazyka môže odrážať nápovedu bez jej overenia voči zvuku. Výrobca uvádza jeden jazyk, nie zoznam všetkých jazykov v zmiešanej nahrávke. Pri príprave prehľadávateľného archívu uchovajte pôvodné znenie a jazykové metadáta spolu, najmä ak sa v rôznych častiach konverzácie mení jazyk.</p><p>Pre titulky zoskupte po sebe idúce časované slová do čitateľných titulkov SRT alebo WebVTT namiesto jedného titulku na slovo. Titulky oddeľujte pri pauzách a ich dĺžku a čas zobrazenia voľte podľa prehrávača a publika. Hranice replík môžu udržať rôznych hovoriacich v samostatných titulkoch. Skontrolujte prázdny výsledok časovania aj titulky, ktorých koniec musí byť neskôr než začiatok. Formátovanie titulkov, mená pre anonymné označenia hovoriacich a prípadné neskoršie zhrnutie sú výstupy aplikácie vytvorené z výsledku prepisu.</p><p>V praktickom postupe práce s nahrávkou sa pred prepisom rozhodnite, či potrebujete obyčajný čitateľný prepis, anotované konverzačné repliky alebo časované titulky. Pri výsledku zachovajte identifikátor zvuku, ponechajte vrátený úplný text, keď záleží na interpunkcii a značkách prejavov, a na navigáciu použite štruktúrované časové polia. Možnosti Pro pre dlhé nahrávky a viacerých hovoriacich sa líšia od všeobecného modelu Transcribe 1 pre krátke nahrávky; ich limity a ovládacie parametre nemožno považovať za zameniteľné.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Dostupné v Ailoot · vstupy a metódy</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Rozpoznávanie reči</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Vstup</dt><dd><code>audio</code></dd></div><div><dt>Výstup</dt><dd><code>text</code></dd></div><div><dt>Výstupný formát</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Pole</th><th>Typ</th><th>Požiadavka</th><th>Hodnoty a limity</th><th>Predvolené</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>fish-audio/transcribe-1-pro</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>object</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Presné kľúče: data, format</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">input_audio.data</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>base64_string</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Maximálny počet dekódovaných bajtov: 26 214 400</div><div>Striktný Base64: Áno</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">input_audio.format</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Podmienky: Musí sa rovnať formátu zistenému kontrolou skutočného súboru</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Voliteľné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>json</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kombinácie vstupných podkladov</summary><p class=\"note-s\"><b>speech_to_text</b> · Povinné: input_audio.data, input_audio.format</p></details><details class=\"note-s\" data-method-contract><summary>Parametre a životný cyklus metódy</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Špecifikácia</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</span>model, input_audio</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>additional_properties</code></th><td data-cell-label=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</span>false</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>parameters</code></th><td data-cell-label=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</span>{&quot;name&quot;:&quot;model&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;enum&quot;:[&quot;fish-audio/transcribe-1-pro&quot;]}, {&quot;name&quot;:&quot;input_audio&quot;,&quot;type&quot;:&quot;object&quot;,&quot;required&quot;:true,&quot;exact_keys&quot;:[&quot;data&quot;,&quot;format&quot;],&quot;data&quot;:&quot;striktné base64 skutočných bajtov podporovaného zvuku&quot;,&quot;format&quot;:&quot;presný formát zistený kontrolou súboru; musí zodpovedať skutočným bajtom&quot;}, {&quot;name&quot;:&quot;response_format&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:false,&quot;enum&quot;:[&quot;json&quot;]}</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>max_audio_bytes</code></th><td data-cell-label=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</span>26214400</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>multipart_for_this_profile</code></th><td data-cell-label=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</span>false</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</span>audio</td></tr></tbody></table></div><p>Životný cyklus: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · skutočne vrátené task_id alebo záznam v knižnici médií</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p><p class=\"note-s\">Zachovajte celú odpoveď a pôvodné vrátené ID.</p><p class=\"note-s\">Vytvorenie s neznámym výsledkom nikdy znova neodosielajte.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Cenník</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.</p><dl data-price-conditions><dt>Rýchly režim</dt><dd>Neuvedené <span class=\"note-s\">Keď je zvolený rýchly režim</span></dd><dt>Režim Flex</dt><dd>Neuvedené <span class=\"note-s\">Keď je zvolený režim flex</span></dd><dt>Maximálna úroveň uvažovania</dt><dd>Neuvedené <span class=\"note-s\">Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Sadzby Ailoot</h4><h4>Ceny podľa konfigurácie</h4><p class=\"note-s\">Každý poplatok priraďte k zobrazeným podmienkam. Pre každú skupinu alternatívnych konfigurácií použite jednu sadzbu.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurácia</th><th>Sadzobník</th><th>Účtovacia jednotka</th><th>Poplatok</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>Základné sadzby za tokeny</th><td data-cell-label=\"Sadzobník\"><span class=\"card-cell-label\">Sadzobník</span>Základná sadzba</td><td data-cell-label=\"Účtovacia jednotka\"><span class=\"card-cell-label\">Účtovacia jednotka</span>—</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Vstup · Vstupné tokeny</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenov</span></div><div><span>Výstup · Výstupné tokeny</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenov</span></div><div><span>Vstup · Čítanie cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenov</span></div><div><span>Vstup · Zápis do cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenov</span></div><div><span>Vstup · Zápis do cache, 1 hod</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenov</span></div></td></tr><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>sekunda vstupného zvuku</th><td data-cell-label=\"Sadzobník\"><span class=\"card-cell-label\">Sadzobník</span>—</td><td data-cell-label=\"Účtovacia jednotka\"><span class=\"card-cell-label\">Účtovacia jednotka</span>za sekundu vstupného audia</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Vstup · sekunda vstupného zvuku</span> <b>$0.0002</b> <span class=\"price-unit\">za sekundu vstupného audia</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. <a href=\"/docs/sk/billing/reserve/\">Ako funguje rezervácia a vyúčtovanie →</a></p><div data-declared-reference-pricing><h4>Podrobnosti referenčnej tarify</h4><p class=\"note-s\">Referenčné sadzobníky modelu nemenia výber metódy, cenové odhady ani poplatky. Aktívne poplatky používajú sadzby vybranej metódy Ailoot.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Fish Audio: Transcribe 1 Pro</summary><h4>Ceny podľa konfigurácie</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurácia</th><th>Podmienky účtovania</th><th>Poplatok</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>Fish Audio: Transcribe 1 Pro · Predvolená konfigurácia</th><td data-cell-label=\"Podmienky účtovania\"><span class=\"card-cell-label\">Podmienky účtovania</span>Predvolená konfigurácia</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Vstup · Sekundy vstupného zvuku</span> <b>0,0002 USD</b> <span class=\"price-unit\">za sekundu vstupného audia</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Príklady požiadaviek</h3><h4>Ailoot Ultra · Rozpoznávanie reči</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Varianty kódu\"><button class=\"cg-tab\" id=\"model-code-1362-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1362-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · skutočné bajty zvuku a overený formát</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Skopírovať kód\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1362-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1362-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set your actual audio file}&quot;\n: &quot;${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}&quot;\nexport AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;fish-audio/transcribe-1-pro&quot;, &quot;response_format&quot;: &quot;json&quot;}&#39;)\nimport base64\nf=Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;])\nraw=f.read_bytes()\nif not raw or len(raw)&gt;26214400:raise SystemExit(&#39;Use actual audio bytes within 25 MiB&#39;)\nfmt=os.environ[&#39;AILOOT_AUDIO_FORMAT&#39;].strip()\nif not fmt:raise SystemExit(&#39;Use the actual probed format; the server checks it against the bytes&#39;)\np[&#39;input_audio&#39;]={&#39;data&#39;:base64.b64encode(raw).decode(),&#39;format&#39;:fmt}\nPath(&#39;request.json&#39;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\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 result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Prijať a uložiť výsledky</h3><h4>Ailoot Ultra · Rozpoznávanie reči</h4><p class=\"note-s\">json</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Uchovať všetky dokončené výsledky</h5><p class=\"note-s\">Uložte každú úplnú vrátenú odpoveď, súbor a časť obsahu.</p><p class=\"note-s\">Zachovajte celý JSON, hlavičky odpovede, text a každé skutočne vrátené pole spotreby. Použite skutočné identity úloh a súborov z odpovede alebo z knižnice vo vašom vlastníctve; operation_id nie je task_id.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Ak treba overiť pôvodnú odpoveď</h5><p class=\"note-s\">Uchovajte pôvodné operation_id/X-Client-Request-ID na zosúladenie záznamov bez opätovného odoslania; neexistuje samostatná trasa na priebežné zisťovanie stavu zvuku.</p></div><details class=\"card-about\" data-output-fields><summary>Polia odpovede</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Pole</th><th>Typ</th><th>Význam</th></tr></thead><tbody><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">text</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Prepísaný text.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>object</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Spotreba zvuku.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">usage.seconds</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>number</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Dĺžka zvuku v sekundách.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>number</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Dĺžka zvuku v sekundách.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">task_id</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>ID úlohy prepisu; vráti sa spolu s asset_url, keď sa neprázdny prepis uloží, zverejní a dostane podpísanú URL obsahu.</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">asset_url</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td><td data-cell-label=\"Význam\"><span class=\"card-cell-label\">Význam</span>Podpísaná URL obsahu prepisu; vráti sa spolu s task_id, keď sa neprázdny prepis uloží, zverejní a dostane podpísanú URL obsahu.</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Chyby a ďalšie kroky</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Odpoveď</th><th>Podmienka</th><th>Ďalší krok</th></tr></thead><tbody><tr><th data-cell-label=\"Odpoveď\" scope=\"row\"><span class=\"card-cell-label\">Odpoveď</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Podmienka\"><span class=\"card-cell-label\">Podmienka</span>Neplatné povinné polia, reprezentácia materiálu alebo hodnota parametra</td><td data-cell-label=\"Ďalší krok\"><span class=\"card-cell-label\">Ďalší krok</span>Pred novou požiadavkou na vytvorenie opravte uvedené polia.</td></tr><tr><th data-cell-label=\"Odpoveď\" scope=\"row\"><span class=\"card-cell-label\">Odpoveď</span><code>server_error</code></th><td data-cell-label=\"Podmienka\"><span class=\"card-cell-label\">Podmienka</span>Vrátená odpoveď uvádza, že operáciu alebo výsledok je potrebné skontrolovať</td><td data-cell-label=\"Ďalší krok\"><span class=\"card-cell-label\">Ďalší krok</span>Uchovajte pôvodné vrátené ID operácie/úlohy, hlavičky požiadavky a odpoveď; naďalej čítajte údaje o tejto pôvodnej operácii podporovaným spôsobom. Požiadavku na vytvorenie znova neodosielajte.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasy</h3><h4>Aliasy modelov</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=fish-audio%2Ftranscribe-1-pro&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1-pro&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1-pro</code></a></span></p><h4>Aliasy ciest metód</h4><p class=\"note-s\">Použite cesty metód uvedené vyššie.</p><h4>Súvisiace ID na volanie</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Ftranscribe-1-pro&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1-pro&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/transcribe-1-pro",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "fish-audio/transcribe-1-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete JSON, response headers, text and every actual returned usage field. Use actual task/asset identities from the response or owned library; operation_id is not task_id.",
            "errors": [
              {
                "code": null,
                "condition": "Neplatné povinné polia, reprezentácia materiálu alebo hodnota parametra",
                "http_status": 400,
                "recovery": "Pred novou požiadavkou na vytvorenie opravte uvedené polia.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Vrátená odpoveď uvádza, že operáciu alebo výsledok je potrebné skontrolovať",
                "http_status": null,
                "recovery": "Uchovajte pôvodné vrátené ID operácie/úlohy, hlavičky požiadavky a odpoveď; naďalej čítajte údaje o tejto pôvodnej operácii podporovaným spôsobom. Požiadavku na vytvorenie znova neodosielajte.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Uchovajte pôvodné operation_id/X-Client-Request-ID na zosúladenie záznamov bez opätovného odoslania; neexistuje samostatná trasa na priebežné zisťovanie stavu zvuku."
            },
            "limits": {
              "decoded_audio_max_bytes": 26214400
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "speech_to_text",
                "required": [
                  "input_audio.data",
                  "input_audio.format"
                ]
              }
            ],
            "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": [
              "speech_to_text"
            ],
            "outputs": {
              "all_results": "Zachovajte celý JSON, hlavičky odpovede, text a každé skutočne vrátené pole spotreby. Použite skutočné identity úloh a súborov z odpovede alebo z knižnice vo vašom vlastníctve; operation_id nie je task_id.",
              "family": "transcription",
              "fields": [
                {
                  "description": "Prepísaný text.",
                  "name": "text",
                  "required": true,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "Spotreba zvuku.",
                  "name": "usage",
                  "required": true,
                  "required_known": true,
                  "type": "object"
                },
                {
                  "description": "Dĺžka zvuku v sekundách.",
                  "name": "usage.seconds",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "Dĺžka zvuku v sekundách.",
                  "name": "duration",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "ID úlohy prepisu; vráti sa spolu s asset_url, keď sa neprázdny prepis uloží, zverejní a dostane podpísanú URL obsahu.",
                  "name": "task_id",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "Podpísaná URL obsahu prepisu; vráti sa spolu s task_id, keď sa neprázdny prepis uloží, zverejní a dostane podpísanú URL obsahu.",
                  "name": "asset_url",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "decoded_maximum_bytes": 26214400,
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.data",
                "required": true,
                "strict_base64": true,
                "type": "base64_string"
              },
              {
                "availability": "source_interface",
                "conditions": "Musí sa rovnať formátu zistenému kontrolou skutočného súboru",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.format",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "json"
                ],
                "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": [
              "multipart input on this exact profile",
              "fields outside model/input_audio/response_format",
              "non-json response format"
            ]
          },
          "hints": [
            "Zachovajte celú odpoveď a pôvodné vrátené ID.",
            "Vytvorenie s neznámym výsledkom nikdy znova neodosielajte."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "audio"
            ],
            "max_audio_bytes": 26214400,
            "multipart_for_this_profile": false,
            "parameters": [
              {
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "data": "striktné base64 skutočných bajtov podporovaného zvuku",
                "exact_keys": [
                  "data",
                  "format"
                ],
                "format": "presný formát zistený kontrolou súboru; musí zodpovedať skutočným bajtom",
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "enum": [
                  "json"
                ],
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "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": "skutočne vrátené task_id alebo záznam v knižnici médií",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "family": "text",
            "type": "JSON transcript with text and usage; actual owned transcript flow"
          }
        },
        "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 audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set your actual audio file}\"\n: \"${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}\"\nexport AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"fish-audio/transcribe-1-pro\", \"response_format\": \"json\"}')\nimport base64\nf=Path(os.environ['AILOOT_AUDIO_FILE'])\nraw=f.read_bytes()\nif not raw or len(raw)>26214400:raise SystemExit('Use actual audio bytes within 25 MiB')\nfmt=os.environ['AILOOT_AUDIO_FORMAT'].strip()\nif not fmt:raise SystemExit('Use the actual probed format; the server checks it against the bytes')\np['input_audio']={'data':base64.b64encode(raw).decode(),'format':fmt}\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/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · actual audio bytes and probed format",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "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_second": 0.0002
          }
        },
        "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 audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/transcribe-1-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "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.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "fish-audio/transcribe-1-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "65ca32084bca466d14ebe99b70f16230644282b3bb4c40bd9ba5877c8eb50388",
    "input_html_sha256": "80415f7902c07adb4f9d364956cbe7e81663b72f18002cb3f970640c96178aae",
    "private_audit_sha256": "7a1c5c78c7fe986d0badda54d890bc3cf35b130a9724a386d603bb71837319b6",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/sk/fish-audio-transcribe-1-pro/",
    "description": "Transcribe 1 Pro prevádza nahrávky s dĺžkou do 60 minút na text so značkami hovoriacich a voliteľným časovaním jednotlivých slov. Zachováva značky odhadovaných emócií a hlasových prejavov, čo uľahčuje kontrolu rozhovorov, stretnutí a podcastov, vyhľadávanie v nich či prípravu titulkov.",
    "locale": "sk",
    "md_url": "https://ailoot.ai/models/sk/fish-audio-transcribe-1-pro/index.md",
    "title": "Fish Audio: Transcribe 1 Pro — Ailoot",
    "url": "https://ailoot.ai/models/sk/fish-audio-transcribe-1-pro/"
  },
  "rawModel": {
    "about": "Transcribe 1 Pro je model prevodu reči na text od Fish Audio pre krátke klipy, rozhovory viacerých hovoriacich a dlhé nahrávky. Prijíma nahratý zvuk a vracia prepis s voliteľným časovaním a štruktúrovanými replikami hovoriacich. Jeho osobitnými vlastnosťami sú zmeny hovoriaceho označené v texte a značky emócií či hlasových prejavov, ktoré zachovávajú viac z konverzačnej štruktúry nahrávky než jednoduchá postupnosť slov.\n\nPri rozhovore, stretnutí alebo podcaste ponechajte celú konverzáciu v jednom súbore, aby sa opakovane vystupujúcim hovoriacim mohli v rámci odpovede zachovať konzistentné označenia. Užitočným výstupom na kontrolu je prepis prepojený s pôvodnou nahrávkou, so samostatne zobrazenými replikami a dostupnou časovou značkou na overenie citácie. Zhrnutie alebo zoznam úloh je následný krok aplikácie: uchovajte ho oddelene od prepisu, aby hovorený zdroj zostal dostupný na porovnanie.\n\nVýrobca prijíma nahrávky do 60 minút a opisuje spracovanie dlhých súborov s komprimovaným zvukom, napríklad MP3, Opus alebo AAC. Podporované formáty zahŕňajú WAV, MP3, AAC v M4A alebo MP4, FLAC, Ogg s Opus alebo Vorbis, WebM/Matroska a MOV. Pri videosúbore používa prvú zvukovú stopu. AIFF, CAF, WMA, AMR, AC-3 a surové PCM bez hlavičky nie sú podporované. Na požiadavku sa dodáva jeden zvukový súbor; výsledok príde po prepise celej nahrávky a spracovanie dlhej nahrávky môže trvať niekoľko minút. Klipy kratšie než približne 0,08 sekundy sa odmietajú.\n\nOdpoveď výrobcu obsahuje celý text, dĺžku nahrávky v sekundách a pole segments. Pro označuje zmeny hovoriaceho priamo v texte značkami, ako sú <|speaker:0|> a <|speaker:1|>; označenie platí pre nasledujúci text až do ďalšej značky. Ide o identifikátory v rámci jednej odpovede, nie overené mená alebo identity, ktoré možno spájať medzi požiadavkami. Ak prepis nemá značku hovoriaceho, návod ho považuje za výsledok s jedným hovoriacim. Text pred prvou značkou ponechajte pri prvej replike namiesto jeho zahodenia.\n\nČasové značky jednotlivých slov sú voliteľné. V požiadavke výrobcu má ignore_timestamps predvolenú hodnotu true; nastavenie false žiada segmenty s textom a časmi začiatku a konca v sekundách. Segment je spravidla slovo alebo jeden či niekoľko znakov v čínštine a japončine. Text segmentu vynecháva interpunkciu, značky hovoriacich a hlasových prejavov a môže normalizovať vyslovenú hodnotu inak než úplný prepis. Segment slova môže mať rovnaký čas začiatku aj konca. Prázdne pole segments môže znamenať, že časové značky neboli vyžiadané, nenašla sa reč alebo bolo časovanie dočasne nedostupné. Na čitateľné znenie použite úplný prepis a na zarovnanie segmenty namiesto predpokladu, že oba reťazce sa zhodujú znak po znaku.\n\nNastavenie diarize má predvolenú hodnotu auto. Keď sú vyžiadané časové značky a diarize nie je false, Pro vracia aj speaker_turns. Každá replika obsahuje označenie hovoriaceho, text a časy začiatku/konca, pričom zachováva interpunkciu a ponechané značky prejavov bez vloženej značky hovoriaceho. Ak časovanie slov nie je dostupné, časy replík môžu byť približné a pokrývať celú nahrávku; susedné repliky nemusia na seba nadväzovať ani byť bez prekrytia. Vypnutie diarize odstráni štruktúrovaný zoznam replík, ale značky hovoriacich ponechá v úplnom texte. Známy počet hovoriacich alebo minimálny a maximálny počet môžu podľa možností usmerniť diarizáciu dlhšej nahrávky. Presný počet nemožno kombinovať s hranicami počtu a nápovedy o počte nemožno použiť pri vypnutom diarize.\n\nZnačky emócií a hlasových prejavov sa zobrazujú ako text v hranatých zátvorkách, napríklad [laughter], spolu s rozpoznanou rečou. Ide o odhady zo zvuku, nie slová, ktoré má používateľ pridať pred prepisom. Nastavenie tag_audio_events v Pro má predvolenú hodnotu true; jeho vypnutie odstráni tieto značky z prepisu a textu replík bez zmeny časovania. Neexistuje samostatné pole emócie ani pevne daný zoznam emócií. Keď záleží na tom, ako poznámka znie, zachovajte anotovaný prepis; ak následný výstup potrebuje iba vyslovené slová, použite verziu bez značiek prejavov.\n\nJazyk sa zisťuje automaticky. Voliteľná nápoveda ISO 639-1 malými písmenami nevynúti preklad ani nezmení prepis Pro. Ak jazyk nemožno určiť, vrátený kód jazyka môže odrážať nápovedu bez jej overenia voči zvuku. Výrobca uvádza jeden jazyk, nie zoznam všetkých jazykov v zmiešanej nahrávke. Pri príprave prehľadávateľného archívu uchovajte pôvodné znenie a jazykové metadáta spolu, najmä ak sa v rôznych častiach konverzácie mení jazyk.\n\nPre titulky zoskupte po sebe idúce časované slová do čitateľných titulkov SRT alebo WebVTT namiesto jedného titulku na slovo. Titulky oddeľujte pri pauzách a ich dĺžku a čas zobrazenia voľte podľa prehrávača a publika. Hranice replík môžu udržať rôznych hovoriacich v samostatných titulkoch. Skontrolujte prázdny výsledok časovania aj titulky, ktorých koniec musí byť neskôr než začiatok. Formátovanie titulkov, mená pre anonymné označenia hovoriacich a prípadné neskoršie zhrnutie sú výstupy aplikácie vytvorené z výsledku prepisu.\n\nV praktickom postupe práce s nahrávkou sa pred prepisom rozhodnite, či potrebujete obyčajný čitateľný prepis, anotované konverzačné repliky alebo časované titulky. Pri výsledku zachovajte identifikátor zvuku, ponechajte vrátený úplný text, keď záleží na interpunkcii a značkách prejavov, a na navigáciu použite štruktúrované časové polia. Možnosti Pro pre dlhé nahrávky a viacerých hovoriacich sa líšia od všeobecného modelu Transcribe 1 pre krátke nahrávky; ich limity a ovládacie parametre nemožno považovať za zameniteľné.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "available": null,
    "canonical_model": "fish-audio/transcribe-1-pro",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "Úplný cenník konfigurácie nájdete v podrobnostiach."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "aeebfac63d7ddd8619fb",
        "label": "Fish Audio: Transcribe 1 Pro",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Predvolená konfigurácia"
            },
            "label": "Fish Audio: Transcribe 1 Pro · Predvolená konfigurácia",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "0949942d98ce2e4c35b418d6",
                "label": "Input audio seconds",
                "public_unit_label": "per input audio second",
                "quantity": "1",
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "input_audio_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "transcriptions"
    ],
    "id": "fish-audio/transcribe-1-pro",
    "input": [
      "audio"
    ],
    "kind": "transcription",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete JSON, response headers, text and every actual returned usage field. Use actual task/asset identities from the response or owned library; operation_id is not task_id.",
            "errors": [
              {
                "code": null,
                "condition": "Neplatné povinné polia, reprezentácia materiálu alebo hodnota parametra",
                "http_status": 400,
                "recovery": "Pred novou požiadavkou na vytvorenie opravte uvedené polia.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Vrátená odpoveď uvádza, že operáciu alebo výsledok je potrebné skontrolovať",
                "http_status": null,
                "recovery": "Uchovajte pôvodné vrátené ID operácie/úlohy, hlavičky požiadavky a odpoveď; naďalej čítajte údaje o tejto pôvodnej operácii podporovaným spôsobom. Požiadavku na vytvorenie znova neodosielajte.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Uchovajte pôvodné operation_id/X-Client-Request-ID na zosúladenie záznamov bez opätovného odoslania; neexistuje samostatná trasa na priebežné zisťovanie stavu zvuku."
            },
            "limits": {
              "decoded_audio_max_bytes": 26214400
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "speech_to_text",
                "required": [
                  "input_audio.data",
                  "input_audio.format"
                ]
              }
            ],
            "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": [
              "speech_to_text"
            ],
            "outputs": {
              "all_results": "Zachovajte celý JSON, hlavičky odpovede, text a každé skutočne vrátené pole spotreby. Použite skutočné identity úloh a súborov z odpovede alebo z knižnice vo vašom vlastníctve; operation_id nie je task_id.",
              "family": "transcription",
              "fields": [
                {
                  "description": "Prepísaný text.",
                  "name": "text",
                  "required": true,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "Spotreba zvuku.",
                  "name": "usage",
                  "required": true,
                  "required_known": true,
                  "type": "object"
                },
                {
                  "description": "Dĺžka zvuku v sekundách.",
                  "name": "usage.seconds",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "Dĺžka zvuku v sekundách.",
                  "name": "duration",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "ID úlohy prepisu; vráti sa spolu s asset_url, keď sa neprázdny prepis uloží, zverejní a dostane podpísanú URL obsahu.",
                  "name": "task_id",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "Podpísaná URL obsahu prepisu; vráti sa spolu s task_id, keď sa neprázdny prepis uloží, zverejní a dostane podpísanú URL obsahu.",
                  "name": "asset_url",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "decoded_maximum_bytes": 26214400,
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.data",
                "required": true,
                "strict_base64": true,
                "type": "base64_string"
              },
              {
                "availability": "source_interface",
                "conditions": "Musí sa rovnať formátu zistenému kontrolou skutočného súboru",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.format",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "json"
                ],
                "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": [
              "multipart input on this exact profile",
              "fields outside model/input_audio/response_format",
              "non-json response format"
            ]
          },
          "hints": [
            "Zachovajte celú odpoveď a pôvodné vrátené ID.",
            "Vytvorenie s neznámym výsledkom nikdy znova neodosielajte."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "audio"
            ],
            "max_audio_bytes": 26214400,
            "multipart_for_this_profile": false,
            "parameters": [
              {
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "data": "striktné base64 skutočných bajtov podporovaného zvuku",
                "exact_keys": [
                  "data",
                  "format"
                ],
                "format": "presný formát zistený kontrolou súboru; musí zodpovedať skutočným bajtom",
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "enum": [
                  "json"
                ],
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "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": "skutočne vrátené task_id alebo záznam v knižnici médií",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "family": "text",
            "type": "JSON transcript with text and usage; actual owned transcript flow"
          }
        },
        "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 audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set your actual audio file}\"\n: \"${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}\"\nexport AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"fish-audio/transcribe-1-pro\", \"response_format\": \"json\"}')\nimport base64\nf=Path(os.environ['AILOOT_AUDIO_FILE'])\nraw=f.read_bytes()\nif not raw or len(raw)>26214400:raise SystemExit('Use actual audio bytes within 25 MiB')\nfmt=os.environ['AILOOT_AUDIO_FORMAT'].strip()\nif not fmt:raise SystemExit('Use the actual probed format; the server checks it against the bytes')\np['input_audio']={'data':base64.b64encode(raw).decode(),'format':fmt}\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/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · actual audio bytes and probed format",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "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_second": 0.0002
          }
        },
        "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 audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/transcribe-1-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "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.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "fish-audio/transcribe-1-pro",
        "request_model_id": "fish-audio/transcribe-1-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: Transcribe 1 Pro",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_declared_unit",
            "conditions": {},
            "key": "prompt",
            "label": "prompt",
            "quantity": "1",
            "rate_role": "typed_active_maker_rate",
            "side": "in",
            "unit": "input_audio_second"
          }
        ]
      }
    ],
    "public_id": "fish-audio/transcribe-1-pro",
    "short": "Transcribe 1 Pro prevádza nahrávky s dĺžkou do 60 minút na text so značkami hovoriacich a voliteľným časovaním jednotlivých slov. Zachováva značky odhadovaných emócií a hlasových prejavov, čo uľahčuje kontrolu rozhovorov, stretnutí a podcastov, vyhľadávanie v nich či prípravu titulkov."
  },
  "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": "Transcribe 1 Pro prevádza nahrávky s dĺžkou do 60 minút na text so značkami hovoriacich a voliteľným časovaním jednotlivých slov. Zachováva značky odhadovaných emócií a hlasových prejavov, čo uľahčuje kontrolu rozhovorov, stretnutí a podcastov, vyhľadávanie v nich či prípravu titulkov.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "d0406342f9233a25b77fa6e1382345110d8921fd8e956f2ef2dd6df63f200d7d",
    "renderer_sha256": "94893ba0fa4d7b7d32370787b705f436a4c2569f84ec7b33063549adc74b07e0"
  },
  "sourceRevision": "5ba02f9ba2209dd267c07e6ccb1a2aaefe2e6e3c5c892da41a64f02df3ae471e"
}
