{
  "aboutHtml": "<p>Transcribe 1 je obecný model Fish Audio pro převod krátkých nahrávek z řeči na text. Přijímá zvukový soubor a vrací rozpoznaná slova jako text spolu s délkou nahrávky, volitelnými časovanými úseky a informacemi o jazyce, pokud jsou známé. Hodí se pro krátkou hlasovou poznámku, mluvený pokyn, výňatek z nahrávky nebo zvukový klip, který potřebuje čitelnou textovou podobu.</p><p>Příklad postupu s hlasovou poznámkou uchovává nahrávku společně s úplným přepisem a identifikátorem původního klipu. Následující krok aplikace může text prohledávat, poznámku uspořádat nebo vytvořit shrnutí při zachování mluveného zdroje. U příkazu přepis dodává aplikaci rozpoznaná slova; případná akce je samostatným krokem interpretace a provedení. U výňatku z rozhovoru zaznamenejte polohu klipu v úplném zvuku, aby bylo možné citaci ověřit na správném místě.</p><p>Výrobce přijímá WAV, MP3, AAC včetně M4A/MP4, FLAC a Ogg obsahující Opus nebo Vorbis. Nahrávky z prohlížeče ve WebM je pro tento model třeba převést do Ogg/Opus, MP3 nebo WAV; Pro dokumentuje nativní podporu dalších kontejnerů. Na jeden požadavek dodejte jeden zvukový soubor. Zdokumentovaný limit požadavku základního modelu je až 50 MiB, přičemž soubory MP3 a Opus musí zůstat pod 25 MiB. Velikost souboru a délka záznamu jsou odlišná hlediska: komprimovaný soubor se může vejít do limitu nahrávání, a přesto jeho zpracování trvat příliš dlouho.</p><p>Transcribe 1 je určen pro krátké nahrávky. Pro zvuk delší než několik minut výrobce doporučuje Pro; dlouhý požadavek na základní model může selhat při překročení časového limitu zpracování. Když připravujete delší zdroj k přepisu po krátkých klipech, zachovejte počáteční časový posun každého klipu a před spojením výsledků ověřte, že vrácený přepis pokrývá celý klip. K místním časům úseků přičtěte původní posun, aby navigace zůstala propojená s úplnou nahrávkou. Pokyny pro základní model nelze vykládat jako samostatný 60minutový limit Pro.</p><p>Odpověď výrobce obsahuje text, délku a úseky. Délka se vyjadřuje v sekundách a čitelný úplný přepis by měl být uchován jako hlavní znění klipu. Časové značky jsou volitelné: ignore_timestamps má v API výrobce výchozí hodnotu true, zatímco false žádá úseky na úrovni slov s textem a počátečním i koncovým časem v sekundách. Vyžádání zarovnání prodlužuje zpracování. Prázdné pole segments může znamenat vynechané časování, nepřítomnost řeči nebo dočasně nedostupné zarovnání, proto je nelze automaticky vykládat jako prázdný úplný přepis.</p><p>Úseky obvykle představují slova, v čínštině a japonštině také jeden či několik znaků. Jejich text vynechává interpunkci a může hodnotu normalizovat jinak než úplný přepis; nejde o kopii čitelné odpovědi znak po znaku. Úsek může mít shodný počáteční a koncový čas. Úseky používejte pro nalezení polohy v nahrávce nebo přípravu časovaného zobrazení a úplný text tam, kde záleží na znění a interpunkci. Tyto dvě reprezentace uchovávejte ve výsledném souboru odděleně.</p><p>Jazyk se rozpoznává automaticky bez ohledu na dodání volitelné jazykové nápovědy. Výrobce pro nápovědy dokumentuje kódy ISO 639-1 malými písmeny a vrací kód jazyka pro aplikační logiku i název jazyka pro zobrazení, pokud jsou známé. Odpověď uvádí jeden jazyk, nikoli všechny jazyky nahrávky, která mezi nimi přepíná. S výsledkem uchovávejte původní znění a dostupná jazyková metadata a nepovažujte požadavek na přepis za překlad.</p><p>Pro titulky seskupujte po sobě jdoucí časované úseky do čitelných titulků, místo abyste zobrazovali každé slovo samostatně. Užitečným výstupem je soubor SRT nebo WebVTT propojený s původním klipem, s hranicemi titulků podle pauz a přiměřeným množstvím textu na obrazovce. Kontrolujte chybějící časování a zajistěte, aby konec každého titulku následoval po jeho začátku. Seskupování titulků a formátování souboru jsou kroky aplikace vycházející z vráceného zarovnání a způsob zobrazení má odpovídat přehrávači i publiku.</p><p>Zdokumentované ovládání Transcribe 1 zahrnuje zvuk, jazykovou nápovědu a volbu časových značek. Značky mluvčích, strukturované repliky mluvčích, ovládání emočních událostí a nápovědy počtu mluvčích z Pro jsou samostatné funkce; nejsou součástí zdokumentovaného kontraktu odpovědi tohoto základního modelu. Před zpracováním zvolte požadovaný výstup: prostý čitelný text pro poznámku nebo text se zarovnáním pro navigaci při přehrávání a titulky. Zachování identifikátoru klipu, přepisu a dostupného časování dává výsledku hodnotu pro další fázi aplikace.</p>",
  "aboutText": "Transcribe 1 je obecný model Fish Audio pro převod krátkých nahrávek z řeči na text. Přijímá zvukový soubor a vrací rozpoznaná slova jako text spolu s délkou nahrávky, volitelnými časovanými úseky a informacemi o jazyce, pokud jsou známé. Hodí se pro krátkou hlasovou poznámku, mluvený pokyn, výňatek z nahrávky nebo zvukový klip, který potřebuje čitelnou textovou podobu.\n\nPříklad postupu s hlasovou poznámkou uchovává nahrávku společně s úplným přepisem a identifikátorem původního klipu. Následující krok aplikace může text prohledávat, poznámku uspořádat nebo vytvořit shrnutí při zachování mluveného zdroje. U příkazu přepis dodává aplikaci rozpoznaná slova; případná akce je samostatným krokem interpretace a provedení. U výňatku z rozhovoru zaznamenejte polohu klipu v úplném zvuku, aby bylo možné citaci ověřit na správném místě.\n\nVýrobce přijímá WAV, MP3, AAC včetně M4A/MP4, FLAC a Ogg obsahující Opus nebo Vorbis. Nahrávky z prohlížeče ve WebM je pro tento model třeba převést do Ogg/Opus, MP3 nebo WAV; Pro dokumentuje nativní podporu dalších kontejnerů. Na jeden požadavek dodejte jeden zvukový soubor. Zdokumentovaný limit požadavku základního modelu je až 50 MiB, přičemž soubory MP3 a Opus musí zůstat pod 25 MiB. Velikost souboru a délka záznamu jsou odlišná hlediska: komprimovaný soubor se může vejít do limitu nahrávání, a přesto jeho zpracování trvat příliš dlouho.\n\nTranscribe 1 je určen pro krátké nahrávky. Pro zvuk delší než několik minut výrobce doporučuje Pro; dlouhý požadavek na základní model může selhat při překročení časového limitu zpracování. Když připravujete delší zdroj k přepisu po krátkých klipech, zachovejte počáteční časový posun každého klipu a před spojením výsledků ověřte, že vrácený přepis pokrývá celý klip. K místním časům úseků přičtěte původní posun, aby navigace zůstala propojená s úplnou nahrávkou. Pokyny pro základní model nelze vykládat jako samostatný 60minutový limit Pro.\n\nOdpověď výrobce obsahuje text, délku a úseky. Délka se vyjadřuje v sekundách a čitelný úplný přepis by měl být uchován jako hlavní znění klipu. Časové značky jsou volitelné: ignore_timestamps má v API výrobce výchozí hodnotu true, zatímco false žádá úseky na úrovni slov s textem a počátečním i koncovým časem v sekundách. Vyžádání zarovnání prodlužuje zpracování. Prázdné pole segments může znamenat vynechané časování, nepřítomnost řeči nebo dočasně nedostupné zarovnání, proto je nelze automaticky vykládat jako prázdný úplný přepis.\n\nÚseky obvykle představují slova, v čínštině a japonštině také jeden či několik znaků. Jejich text vynechává interpunkci a může hodnotu normalizovat jinak než úplný přepis; nejde o kopii čitelné odpovědi znak po znaku. Úsek může mít shodný počáteční a koncový čas. Úseky používejte pro nalezení polohy v nahrávce nebo přípravu časovaného zobrazení a úplný text tam, kde záleží na znění a interpunkci. Tyto dvě reprezentace uchovávejte ve výsledném souboru odděleně.\n\nJazyk se rozpoznává automaticky bez ohledu na dodání volitelné jazykové nápovědy. Výrobce pro nápovědy dokumentuje kódy ISO 639-1 malými písmeny a vrací kód jazyka pro aplikační logiku i název jazyka pro zobrazení, pokud jsou známé. Odpověď uvádí jeden jazyk, nikoli všechny jazyky nahrávky, která mezi nimi přepíná. S výsledkem uchovávejte původní znění a dostupná jazyková metadata a nepovažujte požadavek na přepis za překlad.\n\nPro titulky seskupujte po sobě jdoucí časované úseky do čitelných titulků, místo abyste zobrazovali každé slovo samostatně. Užitečným výstupem je soubor SRT nebo WebVTT propojený s původním klipem, s hranicemi titulků podle pauz a přiměřeným množstvím textu na obrazovce. Kontrolujte chybějící časování a zajistěte, aby konec každého titulku následoval po jeho začátku. Seskupování titulků a formátování souboru jsou kroky aplikace vycházející z vráceného zarovnání a způsob zobrazení má odpovídat přehrávači i publiku.\n\nZdokumentované ovládání Transcribe 1 zahrnuje zvuk, jazykovou nápovědu a volbu časových značek. Značky mluvčích, strukturované repliky mluvčích, ovládání emočních událostí a nápovědy počtu mluvčích z Pro jsou samostatné funkce; nejsou součástí zdokumentovaného kontraktu odpovědi tohoto základního modelu. Před zpracováním zvolte požadovaný výstup: prostý čitelný text pro poznámku nebo text se zarovnáním pro navigaci při přehrávání a titulky. Zachování identifikátoru klipu, přepisu a dostupného časování dává výsledku hodnotu pro další fázi aplikace.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "916d4d9a42f06dd9075f0869390fcdabe67d828ac007259ce1f0530d234b93fd",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "cs",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Fish Audio: Transcribe 1</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zavřít\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/transcribe-1</code><button type=\"button\" id=\"copy-id\">Zkopírovat ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sekce karty modelu\"><button type=\"button\" data-card-jump=\"overview\">Úvod</button><button type=\"button\" data-card-jump=\"methods\">Vstupy a metody</button><button type=\"button\" data-card-jump=\"pricing\">Tarify</button><button type=\"button\" data-card-jump=\"examples\">Pří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=\"Metody 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\">Rozpoznávání</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 převádí krátké zvukové nahrávky na text s automatickým rozpoznáním jazyka a volitelnými časovými značkami jednotlivých slov. Přepis využijte pro hlasové poznámky, prohledávatelné klipy nebo přípravu titulků; časované úseky uchovávejte odděleně od čitelného úplného textu.</p><dl class=\"card-io\" data-card-io><div><dt>Přijímané vstupy</dt><dd>Zvuk</dd></div><div><dt>Výsledky</dt><dd>Text</dd></div></dl><details class=\"card-about\"><summary>O modelu</summary><p class=\"note-s\" data-model-method-boundary>Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.</p><div class=\"mabout\" id=\"m-about\"><p>Transcribe 1 je obecný model Fish Audio pro převod krátkých nahrávek z řeči na text. Přijímá zvukový soubor a vrací rozpoznaná slova jako text spolu s délkou nahrávky, volitelnými časovanými úseky a informacemi o jazyce, pokud jsou známé. Hodí se pro krátkou hlasovou poznámku, mluvený pokyn, výňatek z nahrávky nebo zvukový klip, který potřebuje čitelnou textovou podobu.</p><p>Příklad postupu s hlasovou poznámkou uchovává nahrávku společně s úplným přepisem a identifikátorem původního klipu. Následující krok aplikace může text prohledávat, poznámku uspořádat nebo vytvořit shrnutí při zachování mluveného zdroje. U příkazu přepis dodává aplikaci rozpoznaná slova; případná akce je samostatným krokem interpretace a provedení. U výňatku z rozhovoru zaznamenejte polohu klipu v úplném zvuku, aby bylo možné citaci ověřit na správném místě.</p><p>Výrobce přijímá WAV, MP3, AAC včetně M4A/MP4, FLAC a Ogg obsahující Opus nebo Vorbis. Nahrávky z prohlížeče ve WebM je pro tento model třeba převést do Ogg/Opus, MP3 nebo WAV; Pro dokumentuje nativní podporu dalších kontejnerů. Na jeden požadavek dodejte jeden zvukový soubor. Zdokumentovaný limit požadavku základního modelu je až 50 MiB, přičemž soubory MP3 a Opus musí zůstat pod 25 MiB. Velikost souboru a délka záznamu jsou odlišná hlediska: komprimovaný soubor se může vejít do limitu nahrávání, a přesto jeho zpracování trvat příliš dlouho.</p><p>Transcribe 1 je určen pro krátké nahrávky. Pro zvuk delší než několik minut výrobce doporučuje Pro; dlouhý požadavek na základní model může selhat při překročení časového limitu zpracování. Když připravujete delší zdroj k přepisu po krátkých klipech, zachovejte počáteční časový posun každého klipu a před spojením výsledků ověřte, že vrácený přepis pokrývá celý klip. K místním časům úseků přičtěte původní posun, aby navigace zůstala propojená s úplnou nahrávkou. Pokyny pro základní model nelze vykládat jako samostatný 60minutový limit Pro.</p><p>Odpověď výrobce obsahuje text, délku a úseky. Délka se vyjadřuje v sekundách a čitelný úplný přepis by měl být uchován jako hlavní znění klipu. Časové značky jsou volitelné: ignore_timestamps má v API výrobce výchozí hodnotu true, zatímco false žádá úseky na úrovni slov s textem a počátečním i koncovým časem v sekundách. Vyžádání zarovnání prodlužuje zpracování. Prázdné pole segments může znamenat vynechané časování, nepřítomnost řeči nebo dočasně nedostupné zarovnání, proto je nelze automaticky vykládat jako prázdný úplný přepis.</p><p>Úseky obvykle představují slova, v čínštině a japonštině také jeden či několik znaků. Jejich text vynechává interpunkci a může hodnotu normalizovat jinak než úplný přepis; nejde o kopii čitelné odpovědi znak po znaku. Úsek může mít shodný počáteční a koncový čas. Úseky používejte pro nalezení polohy v nahrávce nebo přípravu časovaného zobrazení a úplný text tam, kde záleží na znění a interpunkci. Tyto dvě reprezentace uchovávejte ve výsledném souboru odděleně.</p><p>Jazyk se rozpoznává automaticky bez ohledu na dodání volitelné jazykové nápovědy. Výrobce pro nápovědy dokumentuje kódy ISO 639-1 malými písmeny a vrací kód jazyka pro aplikační logiku i název jazyka pro zobrazení, pokud jsou známé. Odpověď uvádí jeden jazyk, nikoli všechny jazyky nahrávky, která mezi nimi přepíná. S výsledkem uchovávejte původní znění a dostupná jazyková metadata a nepovažujte požadavek na přepis za překlad.</p><p>Pro titulky seskupujte po sobě jdoucí časované úseky do čitelných titulků, místo abyste zobrazovali každé slovo samostatně. Užitečným výstupem je soubor SRT nebo WebVTT propojený s původním klipem, s hranicemi titulků podle pauz a přiměřeným množstvím textu na obrazovce. Kontrolujte chybějící časování a zajistěte, aby konec každého titulku následoval po jeho začátku. Seskupování titulků a formátování souboru jsou kroky aplikace vycházející z vráceného zarovnání a způsob zobrazení má odpovídat přehrávači i publiku.</p><p>Zdokumentované ovládání Transcribe 1 zahrnuje zvuk, jazykovou nápovědu a volbu časových značek. Značky mluvčích, strukturované repliky mluvčích, ovládání emočních událostí a nápovědy počtu mluvčích z Pro jsou samostatné funkce; nejsou součástí zdokumentovaného kontraktu odpovědi tohoto základního modelu. Před zpracováním zvolte požadovaný výstup: prostý čitelný text pro poznámku nebo text se zarovnáním pro navigaci při přehrávání a titulky. Zachování identifikátoru klipu, přepisu a dostupného časování dává výsledku hodnotu pro další fázi aplikace.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Dostupné v Ailoot · vstupy a metody</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Přepis řeč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></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Pole</th><th>Typ</th><th>Požadavek</th><th>Hodnoty a limity</th><th>Výchozí</th></tr></thead><tbody><tr><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žadavek\"><span class=\"card-cell-label\">Požadavek</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>fish-audio/transcribe-1</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr><tr><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žadavek\"><span class=\"card-cell-label\">Požadavek</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parametry a životní cyklus metody</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Kontrakt</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>model, input_audio</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_types</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>audio</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_conditions</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>Příklad načte váš skutečný neprázdný soubor PCM WAV, zakóduje všechny jeho bajty do base64 a odešle input_audio.format s hodnotou wav.</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> · přesné task_id z existujícího záznamu média spravovaného službou</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarify</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.</p><dl data-price-conditions><dt>Rychlý režim</dt><dd>Neuvedeno <span class=\"note-s\">Při výběru rychlého režimu</span></dd><dt>Režim flex</dt><dd>Neuvedeno <span class=\"note-s\">Při výběru režimu flex</span></dd><dt>Maximální intenzita uvažování</dt><dd>Neuvedeno <span class=\"note-s\">Když se při maximální intenzitě uvažování použije výchozí úprava (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Sazby Ailoot</h4><h4>Ceny podle konfigurace</h4><p class=\"note-s\">Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurace</th><th>Tabulka sazeb</th><th>Účtovací jednotka</th><th>Poplatek</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Základní sazby za tokeny</th><td data-cell-label=\"Tabulka sazeb\"><span class=\"card-cell-label\">Tabulka sazeb</span>Základní sazba</td><td data-cell-label=\"Účtovací jednotka\"><span class=\"card-cell-label\">Účtovací jednotka</span>—</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Vstup · Vstupní tokeny</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Výstup · Výstupní tokeny</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Vstup · Čtení z mezipaměti</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Vstup · Zápis do mezipaměti</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Vstup · Zápis do mezipaměti, 1 hodina</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div></td></tr><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>sekunda vstupního zvuku</th><td data-cell-label=\"Tabulka sazeb\"><span class=\"card-cell-label\">Tabulka sazeb</span>—</td><td data-cell-label=\"Účtovací jednotka\"><span class=\"card-cell-label\">Účtovací jednotka</span>za sekundu vstupního zvuku</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Vstup · sekunda vstupního zvuku</span> <b>$0.0002</b> <span class=\"price-unit\">za sekundu vstupního zvuku</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. <a href=\"/docs/cs/billing/reserve/\">Jak funguje rezervace a vyúčtování →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Příklady požadavků</h3><h4>Ailoot Ultra · Přepis řeč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-1361-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1361-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · skutečný soubor WAV a úplný původní výsledek</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Zkopírovat 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-1361-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1361-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 the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;fish-audio/transcribe-1&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/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 response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Přijímání a ukládání výsledků</h3><h4>Ailoot Ultra · Přepis řeči</h4><p class=\"note-s\">Celé původní tělo odpovědi, stav a předané hlavičky. Tento obslužný kód nepřidává žádnou univerzální strukturu JSON, textové pole ani obalovou strukturu úlohy.</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>Uchovejte všechny dokončené výsledky</h5><p class=\"note-s\">Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.</p><p class=\"note-s\">Uchovejte úplnou odpověď a hlavičky, všechny skutečné výstupy, původní vrácené identifikátory a všechna pole s údaji o využití. Obnovte původní operaci bez opětovného odeslání požadavku na vytvoření.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Pokud je nutné ověřit původní odpověď</h5><p class=\"note-s\">Uchovejte skutečné X-Client-Request-ID a celou odpověď. Načítejte původní soubory spravované službou a jejich přesné podepsané URL obsahu; vytvoření s nejistým výsledkem nikdy znovu neodesílejte.</p></div><details class=\"card-about\" data-output-fields><summary>Pole odpovědi</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Pole</th><th>Typ</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 (when present)</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Chyby a další kroky</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Odpověď</th><th>Podmínka</th><th>Další krok</th></tr></thead><tbody><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Tělo JSON nebo explicitně uvedené kanonické ID modelu jsou neplatné.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Uchovejte odpověď a opravte označené pole požadavku.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Klíč API Ailoot je neplatný.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Použijte svůj autorizovaný klíč API Ailoot.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>403 · <code>permission_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Skupina klíče nemá přístup k této metodě.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Uchovejte vrácené podrobnosti chyby.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Vybraná metoda nemá žádnou trasu s povoleným přístupem.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Uchovejte vrácené podrobnosti chyby.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Přijatý tarif nedokáže získat potřebné vstupní množství nebo jeho horní mez.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Uchovejte odpověď; použijte způsob zadání vstupu požadovaný přijatým tarifem.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>503 · <code></code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Potřebné úložiště, trasa, cena metody nebo rezervace nejsou dostupné.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Uchovejte celou původní odpověď. Nejasná rezervace neopravňuje k opětovnému odeslání.</td></tr><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>502 · <code>server_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Původní výsledek, údaje o využití nebo vyúčtování vyžadují kontrolu.</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Uchovejte skutečné ID požadavku a původní odpověď. Načítejte existující záznam spravovaný službou; požadavek na vytvoření znovu neodesílejte.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasy</h3><h4>Aliasy modelu</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=fish-audio%2Ftranscribe-1&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1</code></a></span></p><h4>Aliasy cest metod</h4><p class=\"note-s\">Použijte cesty metod uvedené výše.</p><h4>Související ID modelů</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Ftranscribe-1&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/transcribe-1",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Tělo JSON nebo explicitně uvedené kanonické ID modelu jsou neplatné.",
                "http_status": 400,
                "recovery": "Uchovejte odpověď a opravte označené pole požadavku.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Klíč API Ailoot je neplatný.",
                "http_status": 401,
                "recovery": "Použijte svůj autorizovaný klíč API Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Skupina klíče nemá přístup k této metodě.",
                "http_status": 403,
                "recovery": "Uchovejte vrácené podrobnosti chyby.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Vybraná metoda nemá žádnou trasu s povoleným přístupem.",
                "http_status": 404,
                "recovery": "Uchovejte vrácené podrobnosti chyby.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Přijatý tarif nedokáže získat potřebné vstupní množství nebo jeho horní mez.",
                "http_status": 422,
                "recovery": "Uchovejte odpověď; použijte způsob zadání vstupu požadovaný přijatým tarifem.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Potřebné úložiště, trasa, cena metody nebo rezervace nejsou dostupné.",
                "http_status": 503,
                "recovery": "Uchovejte celou původní odpověď. Nejasná rezervace neopravňuje k opětovnému odeslání.",
                "type": null
              },
              {
                "code": null,
                "condition": "Původní výsledek, údaje o využití nebo vyúčtování vyžadují kontrolu.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Uchovejte skutečné ID požadavku a původní odpověď. Načítejte existující záznam spravovaný službou; požadavek na vytvoření znovu neodesílejte.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Uchovejte skutečné X-Client-Request-ID a celou odpověď. Načítejte původní soubory spravované službou a jejich přesné podepsané URL obsahu; vytvoření s nejistým výsledkem nikdy znovu neodesílejte."
            },
            "outputs": {
              "all_results": "Uchovejte úplnou odpověď a hlavičky, všechny skutečné výstupy, původní vrácené identifikátory a všechna pole s údaji o využití. Obnovte původní operaci bez opětovného odeslání požadavku na vytvoření.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Celé původní tělo odpovědi, stav a předané hlavičky. Tento obslužný kód nepřidává žádnou univerzální strukturu JSON, textové pole ani obalovou strukturu úlohy."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "fish-audio/transcribe-1"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "fish-audio/transcribe-1"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Příklad načte váš skutečný neprázdný soubor PCM WAV, zakóduje všechny jeho bajty do base64 a odešle input_audio.format s hodnotou wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "přesné task_id z existujícího záznamu média spravovaného službou",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "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 the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'fish-audio/transcribe-1', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Přepis řeči",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "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",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.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",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "054e26fec82f3597d97b5caad6dbbb5498a40ad72e8ff9681ffc7cd5a6d8ed66",
    "input_html_sha256": "9969db7f7896c3234fd70d7d4f653b2dae70aa02086515f7e7e8dc3f13a149b0",
    "private_audit_sha256": "db86735f647a40368a7334c1668de3b7ddadbf7d97fbce14ed01d60da4f4786f",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/cs/fish-audio-transcribe-1/",
    "description": "Transcribe 1 převádí krátké zvukové nahrávky na text s automatickým rozpoznáním jazyka a volitelnými časovými značkami jednotlivých slov. Přepis využijte pro hlasové poznámky, prohledávatelné klipy nebo přípravu titulků; časované úseky uchovávejte odděleně od čitelného úplného textu.",
    "locale": "cs",
    "md_url": "https://ailoot.ai/models/cs/fish-audio-transcribe-1/index.md",
    "title": "Fish Audio: Transcribe 1 — Ailoot",
    "url": "https://ailoot.ai/models/cs/fish-audio-transcribe-1/"
  },
  "rawModel": {
    "about": "Transcribe 1 je obecný model Fish Audio pro převod krátkých nahrávek z řeči na text. Přijímá zvukový soubor a vrací rozpoznaná slova jako text spolu s délkou nahrávky, volitelnými časovanými úseky a informacemi o jazyce, pokud jsou známé. Hodí se pro krátkou hlasovou poznámku, mluvený pokyn, výňatek z nahrávky nebo zvukový klip, který potřebuje čitelnou textovou podobu.\n\nPříklad postupu s hlasovou poznámkou uchovává nahrávku společně s úplným přepisem a identifikátorem původního klipu. Následující krok aplikace může text prohledávat, poznámku uspořádat nebo vytvořit shrnutí při zachování mluveného zdroje. U příkazu přepis dodává aplikaci rozpoznaná slova; případná akce je samostatným krokem interpretace a provedení. U výňatku z rozhovoru zaznamenejte polohu klipu v úplném zvuku, aby bylo možné citaci ověřit na správném místě.\n\nVýrobce přijímá WAV, MP3, AAC včetně M4A/MP4, FLAC a Ogg obsahující Opus nebo Vorbis. Nahrávky z prohlížeče ve WebM je pro tento model třeba převést do Ogg/Opus, MP3 nebo WAV; Pro dokumentuje nativní podporu dalších kontejnerů. Na jeden požadavek dodejte jeden zvukový soubor. Zdokumentovaný limit požadavku základního modelu je až 50 MiB, přičemž soubory MP3 a Opus musí zůstat pod 25 MiB. Velikost souboru a délka záznamu jsou odlišná hlediska: komprimovaný soubor se může vejít do limitu nahrávání, a přesto jeho zpracování trvat příliš dlouho.\n\nTranscribe 1 je určen pro krátké nahrávky. Pro zvuk delší než několik minut výrobce doporučuje Pro; dlouhý požadavek na základní model může selhat při překročení časového limitu zpracování. Když připravujete delší zdroj k přepisu po krátkých klipech, zachovejte počáteční časový posun každého klipu a před spojením výsledků ověřte, že vrácený přepis pokrývá celý klip. K místním časům úseků přičtěte původní posun, aby navigace zůstala propojená s úplnou nahrávkou. Pokyny pro základní model nelze vykládat jako samostatný 60minutový limit Pro.\n\nOdpověď výrobce obsahuje text, délku a úseky. Délka se vyjadřuje v sekundách a čitelný úplný přepis by měl být uchován jako hlavní znění klipu. Časové značky jsou volitelné: ignore_timestamps má v API výrobce výchozí hodnotu true, zatímco false žádá úseky na úrovni slov s textem a počátečním i koncovým časem v sekundách. Vyžádání zarovnání prodlužuje zpracování. Prázdné pole segments může znamenat vynechané časování, nepřítomnost řeči nebo dočasně nedostupné zarovnání, proto je nelze automaticky vykládat jako prázdný úplný přepis.\n\nÚseky obvykle představují slova, v čínštině a japonštině také jeden či několik znaků. Jejich text vynechává interpunkci a může hodnotu normalizovat jinak než úplný přepis; nejde o kopii čitelné odpovědi znak po znaku. Úsek může mít shodný počáteční a koncový čas. Úseky používejte pro nalezení polohy v nahrávce nebo přípravu časovaného zobrazení a úplný text tam, kde záleží na znění a interpunkci. Tyto dvě reprezentace uchovávejte ve výsledném souboru odděleně.\n\nJazyk se rozpoznává automaticky bez ohledu na dodání volitelné jazykové nápovědy. Výrobce pro nápovědy dokumentuje kódy ISO 639-1 malými písmeny a vrací kód jazyka pro aplikační logiku i název jazyka pro zobrazení, pokud jsou známé. Odpověď uvádí jeden jazyk, nikoli všechny jazyky nahrávky, která mezi nimi přepíná. S výsledkem uchovávejte původní znění a dostupná jazyková metadata a nepovažujte požadavek na přepis za překlad.\n\nPro titulky seskupujte po sobě jdoucí časované úseky do čitelných titulků, místo abyste zobrazovali každé slovo samostatně. Užitečným výstupem je soubor SRT nebo WebVTT propojený s původním klipem, s hranicemi titulků podle pauz a přiměřeným množstvím textu na obrazovce. Kontrolujte chybějící časování a zajistěte, aby konec každého titulku následoval po jeho začátku. Seskupování titulků a formátování souboru jsou kroky aplikace vycházející z vráceného zarovnání a způsob zobrazení má odpovídat přehrávači i publiku.\n\nZdokumentované ovládání Transcribe 1 zahrnuje zvuk, jazykovou nápovědu a volbu časových značek. Značky mluvčích, strukturované repliky mluvčích, ovládání emočních událostí a nápovědy počtu mluvčích z Pro jsou samostatné funkce; nejsou součástí zdokumentovaného kontraktu odpovědi tohoto základního modelu. Před zpracováním zvolte požadovaný výstup: prostý čitelný text pro poznámku nebo text se zarovnáním pro navigaci při přehrávání a titulky. Zachování identifikátoru klipu, přepisu a dostupného časování dává výsledku hodnotu pro další fázi aplikace.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "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": "Kompletní ceník konfigurace v podrobnostech."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "fish-audio/transcribe-1",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Tělo JSON nebo explicitně uvedené kanonické ID modelu jsou neplatné.",
                "http_status": 400,
                "recovery": "Uchovejte odpověď a opravte označené pole požadavku.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Klíč API Ailoot je neplatný.",
                "http_status": 401,
                "recovery": "Použijte svůj autorizovaný klíč API Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Skupina klíče nemá přístup k této metodě.",
                "http_status": 403,
                "recovery": "Uchovejte vrácené podrobnosti chyby.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Vybraná metoda nemá žádnou trasu s povoleným přístupem.",
                "http_status": 404,
                "recovery": "Uchovejte vrácené podrobnosti chyby.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Přijatý tarif nedokáže získat potřebné vstupní množství nebo jeho horní mez.",
                "http_status": 422,
                "recovery": "Uchovejte odpověď; použijte způsob zadání vstupu požadovaný přijatým tarifem.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Potřebné úložiště, trasa, cena metody nebo rezervace nejsou dostupné.",
                "http_status": 503,
                "recovery": "Uchovejte celou původní odpověď. Nejasná rezervace neopravňuje k opětovnému odeslání.",
                "type": null
              },
              {
                "code": null,
                "condition": "Původní výsledek, údaje o využití nebo vyúčtování vyžadují kontrolu.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Uchovejte skutečné ID požadavku a původní odpověď. Načítejte existující záznam spravovaný službou; požadavek na vytvoření znovu neodesílejte.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Uchovejte skutečné X-Client-Request-ID a celou odpověď. Načítejte původní soubory spravované službou a jejich přesné podepsané URL obsahu; vytvoření s nejistým výsledkem nikdy znovu neodesílejte."
            },
            "outputs": {
              "all_results": "Uchovejte úplnou odpověď a hlavičky, všechny skutečné výstupy, původní vrácené identifikátory a všechna pole s údaji o využití. Obnovte původní operaci bez opětovného odeslání požadavku na vytvoření.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Celé původní tělo odpovědi, stav a předané hlavičky. Tento obslužný kód nepřidává žádnou univerzální strukturu JSON, textové pole ani obalovou strukturu úlohy."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "fish-audio/transcribe-1"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "fish-audio/transcribe-1"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Příklad načte váš skutečný neprázdný soubor PCM WAV, zakóduje všechny jeho bajty do base64 a odešle input_audio.format s hodnotou wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "přesné task_id z existujícího záznamu média spravovaného službou",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "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 the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'fish-audio/transcribe-1', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Přepis řeči",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "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",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.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",
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: Transcribe 1",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Transcribe 1 převádí krátké zvukové nahrávky na text s automatickým rozpoznáním jazyka a volitelnými časovými značkami jednotlivých slov. Přepis využijte pro hlasové poznámky, prohledávatelné klipy nebo přípravu titulků; časované úseky uchovávejte odděleně od čitelného úplného textu."
  },
  "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 převádí krátké zvukové nahrávky na text s automatickým rozpoznáním jazyka a volitelnými časovými značkami jednotlivých slov. Přepis využijte pro hlasové poznámky, prohledávatelné klipy nebo přípravu titulků; časované úseky uchovávejte odděleně od čitelného úplného textu.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "534d76cded2f94a901833ea15e212593ddd5e8391acac63bea7038c1abf51623",
    "renderer_sha256": "41721c81890b87836cd3fd41ef732d3276f5969e30822ba09962305294953718"
  },
  "sourceRevision": "1fc4c0393415c217c68b3611c24c6f7ea7b223db16688a36d4ed0ccf26da22ba"
}
