{
  "aboutHtml": "<p>Universal-3.5 Pro je model rozpoznávání řeči AssemblyAI pro převod nahrané řeči na text. V profilu Sync z krátkého zvukového klipu vytvoří hotový přepis v jediné odpovědi. Hodí se pro hlasové zprávy, vstup push-to-talk a samostatné konverzační tahy, u nichž aplikace již ví, kdy má nahrávání skončit.</p><p>Zvuk připravte jako ohraničený klip. Požadavky AssemblyAI Sync přijímají délky od 80 milisekund do 120 sekund s maximální velikostí souboru 40 MB. Podporované formáty jsou WAV nebo surové PCM se znaménkem, 16 bity a pořadím bajtů little-endian. Zvuk může být mono nebo stereo, přičemž stereo se interně převádí do mono. Podporované vzorkovací frekvence jsou 8 kHz, 16 kHz, 22,05 kHz, 24 kHz, 32 kHz, 44,1 kHz a 48 kHz. Hlavička WAV dodává vzorkovací frekvenci a počet kanálů; surové PCM potřebuje tyto hodnoty dodat samostatně v konfiguraci přepisu.</p><p>Zachyťte celou promluvu a zachovejte nedotčený začátek i konec řeči. Praktickým původním zadáním je krátká hlasová zpráva produktové podpoře obsahující název produktu, identifikátor objednávky a požadavek. Zdrojový klip uchovejte, aby bylo možné přepis ověřit podle těchto důležitých detailů. Pro delší nahrávku připravte postup vhodný pro přepis dlouhých záznamů, místo abyste limit délky krátkého klipu považovali za tvrzení o celkové zvukové kapacitě modelu.</p><p>Výsledek obsahuje úplný přepis, seznam slov s mírou jistoty rozpoznání každého slova a celkovou míru jistoty mezi nulou a jedničkou. Poskytuje také délku odeslaného zvuku a identifikátor požadavku, takže je možné uchovat text ve spojení s původním klipem. Míru jistoty rozpoznání slov využijte k nalezení pasáží vyžadujících kontrolu poslechem, zejména názvů, čísel a oborové slovní zásoby důležitých pro aplikaci.</p><p>Časové značky slov jsou volitelné a ve výchozím stavu vypnuté. Při jejich vyžádání může každé zarovnané slovo nést začátek a konec v milisekundách vzhledem k začátku klipu. Profil výrobce tyto hodnoty vynechává, pokud slovo nelze zarovnat, místo aby vymýšlel přibližné časování. Přesnost časových značek je nejlepší pro anglický zvuk. Při přípravě zvýrazňování slov, prohledávatelného zobrazení zvukové vlny nebo zarovnání titulků chybějící časování výslovně zachovejte a před použitím jako hotové titulkové stopy porovnejte text s nahrávkou.</p><p>Kontextové zadání popisuje, o čem nahrávka je. Může pojmenovat obor, scénář nebo konkrétní detaily, které již aplikace zná, a jeho maximální délka je 6000 znaků. Začněte krátkým popisem odpovídajícím zvuku, například rozhovorem technické podpory o konkrétním zařízení. Zadání dodává kontext pro rozpoznávání; nejde o požadavek na přepsání sdělení mluvčího do jiného dokumentu.</p><p>Samostatný seznam klíčových termínů směruje rozpoznávání ke konkrétní slovní zásobě. Profil Sync přijímá až 100 termínů a 8000 znaků celkem v tomto seznamu. Používejte přesný zápis neobvyklých jmen, zkratek nebo produktových termínů a běžná dobře rozpoznávaná slova ze seznamu vynechte. Rozsáhlé nebo zbytečné seznamy mohou způsobit přehnané opravy, proto seznam zaměřte na slova důležitá v nahrávce. Kontextový popis a seznam slovní zásoby lze používat společně.</p><p>Předchozí konverzace může také pomoci vyložit krátkou odpověď. Dodejte dřívější promluvy chronologicky od nejstarší po nejnovější, zatímco aktuální zvuk zůstává tahem k přepisu. Dokumentovaný limit kontextu je 500 tahů nebo celkem 16 000 znaků. Pokud překročí tyto stropy nebo dostupný kontext modelu, odstraňují se nejprve nejstarší položky. To se hodí, když krátká odpověď obsahuje identifikátor nebo odkaz, jehož význam vychází z předchozí otázky.</p><p>Volba jazyka směruje rozpoznávání k jednomu nebo více očekávaným jazykům. Aktuální rozhraní Sync přijímá 32 jazykových kódů a při neuvedení volby používá angličtinu. U zvuku se střídáním jazyků uveďte očekávané jazyky. Vlastní kontextové zadání nahrazuje spravované výchozí zadání a přebíjí samostatné směrování jazykovými kódy, proto v něm pojmenujte očekávané jazyky, pokud potřebujete jazykový kontext i kontext scénáře. Přepis ponechte v jazycích, kterými se skutečně mluví, místo abyste přepis chápali jako pokyn k překladu.</p><p>Model se objevuje také v dalších postupech přepisu AssemblyAI, zatímco požadavky profilu Sync na krátké klipy a pole výsledku patří tomuto konkrétnímu rozhraní. Postup Dictation výrobce přidává samostatnou fázi úpravy textu; přepis a přeformulovaná zpráva jsou odlišné výstupy. Pokud pozdější úpravy nebo shrnutí vytvoří uhlazenou verzi, zachovejte rozpoznanou řeč, aby původní znění zůstalo dostupné pro srovnání.</p><p>Užitečné výstupy zahrnují přepsanou hlasovou zprávu, dokončený tah pro asistenta, krátký prohledávatelný přepis zvuku nebo časovaný seznam slov pro kontrolní rozhraní. Rozhodující slova ověřte podle nahrávky, zachovejte veškerá chybějící zarovnání a propojení klipu s vráceným textem. Výsledek rozpoznávání poskytuje dalšímu kroku aplikace přepis opřený o zdroj; odpověď na požadavek nebo úprava zprávy přísluší okolnímu postupu.</p>",
  "aboutText": "Universal-3.5 Pro je model rozpoznávání řeči AssemblyAI pro převod nahrané řeči na text. V profilu Sync z krátkého zvukového klipu vytvoří hotový přepis v jediné odpovědi. Hodí se pro hlasové zprávy, vstup push-to-talk a samostatné konverzační tahy, u nichž aplikace již ví, kdy má nahrávání skončit.\n\nZvuk připravte jako ohraničený klip. Požadavky AssemblyAI Sync přijímají délky od 80 milisekund do 120 sekund s maximální velikostí souboru 40 MB. Podporované formáty jsou WAV nebo surové PCM se znaménkem, 16 bity a pořadím bajtů little-endian. Zvuk může být mono nebo stereo, přičemž stereo se interně převádí do mono. Podporované vzorkovací frekvence jsou 8 kHz, 16 kHz, 22,05 kHz, 24 kHz, 32 kHz, 44,1 kHz a 48 kHz. Hlavička WAV dodává vzorkovací frekvenci a počet kanálů; surové PCM potřebuje tyto hodnoty dodat samostatně v konfiguraci přepisu.\n\nZachyťte celou promluvu a zachovejte nedotčený začátek i konec řeči. Praktickým původním zadáním je krátká hlasová zpráva produktové podpoře obsahující název produktu, identifikátor objednávky a požadavek. Zdrojový klip uchovejte, aby bylo možné přepis ověřit podle těchto důležitých detailů. Pro delší nahrávku připravte postup vhodný pro přepis dlouhých záznamů, místo abyste limit délky krátkého klipu považovali za tvrzení o celkové zvukové kapacitě modelu.\n\nVýsledek obsahuje úplný přepis, seznam slov s mírou jistoty rozpoznání každého slova a celkovou míru jistoty mezi nulou a jedničkou. Poskytuje také délku odeslaného zvuku a identifikátor požadavku, takže je možné uchovat text ve spojení s původním klipem. Míru jistoty rozpoznání slov využijte k nalezení pasáží vyžadujících kontrolu poslechem, zejména názvů, čísel a oborové slovní zásoby důležitých pro aplikaci.\n\nČasové značky slov jsou volitelné a ve výchozím stavu vypnuté. Při jejich vyžádání může každé zarovnané slovo nést začátek a konec v milisekundách vzhledem k začátku klipu. Profil výrobce tyto hodnoty vynechává, pokud slovo nelze zarovnat, místo aby vymýšlel přibližné časování. Přesnost časových značek je nejlepší pro anglický zvuk. Při přípravě zvýrazňování slov, prohledávatelného zobrazení zvukové vlny nebo zarovnání titulků chybějící časování výslovně zachovejte a před použitím jako hotové titulkové stopy porovnejte text s nahrávkou.\n\nKontextové zadání popisuje, o čem nahrávka je. Může pojmenovat obor, scénář nebo konkrétní detaily, které již aplikace zná, a jeho maximální délka je 6000 znaků. Začněte krátkým popisem odpovídajícím zvuku, například rozhovorem technické podpory o konkrétním zařízení. Zadání dodává kontext pro rozpoznávání; nejde o požadavek na přepsání sdělení mluvčího do jiného dokumentu.\n\nSamostatný seznam klíčových termínů směruje rozpoznávání ke konkrétní slovní zásobě. Profil Sync přijímá až 100 termínů a 8000 znaků celkem v tomto seznamu. Používejte přesný zápis neobvyklých jmen, zkratek nebo produktových termínů a běžná dobře rozpoznávaná slova ze seznamu vynechte. Rozsáhlé nebo zbytečné seznamy mohou způsobit přehnané opravy, proto seznam zaměřte na slova důležitá v nahrávce. Kontextový popis a seznam slovní zásoby lze používat společně.\n\nPředchozí konverzace může také pomoci vyložit krátkou odpověď. Dodejte dřívější promluvy chronologicky od nejstarší po nejnovější, zatímco aktuální zvuk zůstává tahem k přepisu. Dokumentovaný limit kontextu je 500 tahů nebo celkem 16 000 znaků. Pokud překročí tyto stropy nebo dostupný kontext modelu, odstraňují se nejprve nejstarší položky. To se hodí, když krátká odpověď obsahuje identifikátor nebo odkaz, jehož význam vychází z předchozí otázky.\n\nVolba jazyka směruje rozpoznávání k jednomu nebo více očekávaným jazykům. Aktuální rozhraní Sync přijímá 32 jazykových kódů a při neuvedení volby používá angličtinu. U zvuku se střídáním jazyků uveďte očekávané jazyky. Vlastní kontextové zadání nahrazuje spravované výchozí zadání a přebíjí samostatné směrování jazykovými kódy, proto v něm pojmenujte očekávané jazyky, pokud potřebujete jazykový kontext i kontext scénáře. Přepis ponechte v jazycích, kterými se skutečně mluví, místo abyste přepis chápali jako pokyn k překladu.\n\nModel se objevuje také v dalších postupech přepisu AssemblyAI, zatímco požadavky profilu Sync na krátké klipy a pole výsledku patří tomuto konkrétnímu rozhraní. Postup Dictation výrobce přidává samostatnou fázi úpravy textu; přepis a přeformulovaná zpráva jsou odlišné výstupy. Pokud pozdější úpravy nebo shrnutí vytvoří uhlazenou verzi, zachovejte rozpoznanou řeč, aby původní znění zůstalo dostupné pro srovnání.\n\nUžitečné výstupy zahrnují přepsanou hlasovou zprávu, dokončený tah pro asistenta, krátký prohledávatelný přepis zvuku nebo časovaný seznam slov pro kontrolní rozhraní. Rozhodující slova ověřte podle nahrávky, zachovejte veškerá chybějící zarovnání a propojení klipu s vráceným textem. Výsledek rozpoznávání poskytuje dalšímu kroku aplikace přepis opřený o zdroj; odpověď na požadavek nebo úprava zprávy přísluší okolnímu postupu.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "329da3bf2f537f1a107b7d9e086cba8a0aaf2a9dd37c421ced7c01fb90b752c9",
    "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\">AssemblyAI: Universal-3.5 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zavřít\">×</button></div><div class=\"idline\"><span>AssemblyAI /</span><code>assemblyai/universal-3-5-pro</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|assemblyai%2Funiversal-3-5-pro\">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\">Universal-3.5 Pro je model AssemblyAI pro převod řeči na text, který z krátkého zvukového klipu vrací hotový přepis v jedné odpovědi. Profil Sync přidává míru jistoty rozpoznání jednotlivých slov, volitelné časové značky slov, vodítka ke slovní zásobě a kontext předchozí konverzace pro hlasové vstupy a postupy push-to-talk.</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>Universal-3.5 Pro je model rozpoznávání řeči AssemblyAI pro převod nahrané řeči na text. V profilu Sync z krátkého zvukového klipu vytvoří hotový přepis v jediné odpovědi. Hodí se pro hlasové zprávy, vstup push-to-talk a samostatné konverzační tahy, u nichž aplikace již ví, kdy má nahrávání skončit.</p><p>Zvuk připravte jako ohraničený klip. Požadavky AssemblyAI Sync přijímají délky od 80 milisekund do 120 sekund s maximální velikostí souboru 40 MB. Podporované formáty jsou WAV nebo surové PCM se znaménkem, 16 bity a pořadím bajtů little-endian. Zvuk může být mono nebo stereo, přičemž stereo se interně převádí do mono. Podporované vzorkovací frekvence jsou 8 kHz, 16 kHz, 22,05 kHz, 24 kHz, 32 kHz, 44,1 kHz a 48 kHz. Hlavička WAV dodává vzorkovací frekvenci a počet kanálů; surové PCM potřebuje tyto hodnoty dodat samostatně v konfiguraci přepisu.</p><p>Zachyťte celou promluvu a zachovejte nedotčený začátek i konec řeči. Praktickým původním zadáním je krátká hlasová zpráva produktové podpoře obsahující název produktu, identifikátor objednávky a požadavek. Zdrojový klip uchovejte, aby bylo možné přepis ověřit podle těchto důležitých detailů. Pro delší nahrávku připravte postup vhodný pro přepis dlouhých záznamů, místo abyste limit délky krátkého klipu považovali za tvrzení o celkové zvukové kapacitě modelu.</p><p>Výsledek obsahuje úplný přepis, seznam slov s mírou jistoty rozpoznání každého slova a celkovou míru jistoty mezi nulou a jedničkou. Poskytuje také délku odeslaného zvuku a identifikátor požadavku, takže je možné uchovat text ve spojení s původním klipem. Míru jistoty rozpoznání slov využijte k nalezení pasáží vyžadujících kontrolu poslechem, zejména názvů, čísel a oborové slovní zásoby důležitých pro aplikaci.</p><p>Časové značky slov jsou volitelné a ve výchozím stavu vypnuté. Při jejich vyžádání může každé zarovnané slovo nést začátek a konec v milisekundách vzhledem k začátku klipu. Profil výrobce tyto hodnoty vynechává, pokud slovo nelze zarovnat, místo aby vymýšlel přibližné časování. Přesnost časových značek je nejlepší pro anglický zvuk. Při přípravě zvýrazňování slov, prohledávatelného zobrazení zvukové vlny nebo zarovnání titulků chybějící časování výslovně zachovejte a před použitím jako hotové titulkové stopy porovnejte text s nahrávkou.</p><p>Kontextové zadání popisuje, o čem nahrávka je. Může pojmenovat obor, scénář nebo konkrétní detaily, které již aplikace zná, a jeho maximální délka je 6000 znaků. Začněte krátkým popisem odpovídajícím zvuku, například rozhovorem technické podpory o konkrétním zařízení. Zadání dodává kontext pro rozpoznávání; nejde o požadavek na přepsání sdělení mluvčího do jiného dokumentu.</p><p>Samostatný seznam klíčových termínů směruje rozpoznávání ke konkrétní slovní zásobě. Profil Sync přijímá až 100 termínů a 8000 znaků celkem v tomto seznamu. Používejte přesný zápis neobvyklých jmen, zkratek nebo produktových termínů a běžná dobře rozpoznávaná slova ze seznamu vynechte. Rozsáhlé nebo zbytečné seznamy mohou způsobit přehnané opravy, proto seznam zaměřte na slova důležitá v nahrávce. Kontextový popis a seznam slovní zásoby lze používat společně.</p><p>Předchozí konverzace může také pomoci vyložit krátkou odpověď. Dodejte dřívější promluvy chronologicky od nejstarší po nejnovější, zatímco aktuální zvuk zůstává tahem k přepisu. Dokumentovaný limit kontextu je 500 tahů nebo celkem 16 000 znaků. Pokud překročí tyto stropy nebo dostupný kontext modelu, odstraňují se nejprve nejstarší položky. To se hodí, když krátká odpověď obsahuje identifikátor nebo odkaz, jehož význam vychází z předchozí otázky.</p><p>Volba jazyka směruje rozpoznávání k jednomu nebo více očekávaným jazykům. Aktuální rozhraní Sync přijímá 32 jazykových kódů a při neuvedení volby používá angličtinu. U zvuku se střídáním jazyků uveďte očekávané jazyky. Vlastní kontextové zadání nahrazuje spravované výchozí zadání a přebíjí samostatné směrování jazykovými kódy, proto v něm pojmenujte očekávané jazyky, pokud potřebujete jazykový kontext i kontext scénáře. Přepis ponechte v jazycích, kterými se skutečně mluví, místo abyste přepis chápali jako pokyn k překladu.</p><p>Model se objevuje také v dalších postupech přepisu AssemblyAI, zatímco požadavky profilu Sync na krátké klipy a pole výsledku patří tomuto konkrétnímu rozhraní. Postup Dictation výrobce přidává samostatnou fázi úpravy textu; přepis a přeformulovaná zpráva jsou odlišné výstupy. Pokud pozdější úpravy nebo shrnutí vytvoří uhlazenou verzi, zachovejte rozpoznanou řeč, aby původní znění zůstalo dostupné pro srovnání.</p><p>Užitečné výstupy zahrnují přepsanou hlasovou zprávu, dokončený tah pro asistenta, krátký prohledávatelný přepis zvuku nebo časovaný seznam slov pro kontrolní rozhraní. Rozhodující slova ověřte podle nahrávky, zachovejte veškerá chybějící zarovnání a propojení klipu s vráceným textem. Výsledek rozpoznávání poskytuje dalšímu kroku aplikace přepis opřený o zdroj; odpověď na požadavek nebo úprava zprávy přísluší okolnímu postupu.</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>assemblyai/universal-3-5-pro</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.00025</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-1073-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1073-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-1073-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1073-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;assemblyai/universal-3-5-pro&#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=assemblyai%2Funiversal-3-5-pro&amp;route=Ultra&amp;caller=assemblyai%2Funiversal-3-5-pro&amp;fmt=transcriptions\"><code>assemblyai/universal-3-5-pro</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=assemblyai%2Funiversal-3-5-pro&amp;route=Ultra&amp;caller=assemblyai%2Funiversal-3-5-pro&amp;fmt=transcriptions\"><code>assemblyai/universal-3-5-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "assemblyai/universal-3-5-pro",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|assemblyai%2Funiversal-3-5-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "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": [
                  "assemblyai/universal-3-5-pro"
                ],
                "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": [
                    "assemblyai/universal-3-5-pro"
                  ],
                  "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": "assemblyai/universal-3-5-pro"
              },
              "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.00025",
                "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.00025",
                "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': 'assemblyai/universal-3-5-pro', '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.00025
          }
        },
        "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.00025",
                "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.00025",
                "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": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00025",
            "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.00025",
            "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": "assemblyai/universal-3-5-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "a483b718c9b0cc828f3fbd33caeea2e69607053a95329539fa1f35e316f1cd86",
    "input_html_sha256": "7d831ca83b3e1695dca50d66338f6808d0473424feab2ccc7b1d59bf2f378ead",
    "private_audit_sha256": "a0861223e1f6af1593311afde98867f72c96eb489848166e812336cda518ba30",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/cs/assemblyai-universal-3-5-pro/",
    "description": "Universal-3.5 Pro je model AssemblyAI pro převod řeči na text, který z krátkého zvukového klipu vrací hotový přepis v jedné odpovědi. Profil Sync přidává míru jistoty rozpoznání jednotlivých slov, volitelné časové značky slov, vodítka ke slovní zásobě a kontext předchozí konverzace pro hlasové vstupy a postupy push-to-talk.",
    "locale": "cs",
    "md_url": "https://ailoot.ai/models/cs/assemblyai-universal-3-5-pro/index.md",
    "title": "AssemblyAI: Universal-3.5 Pro — Ailoot",
    "url": "https://ailoot.ai/models/cs/assemblyai-universal-3-5-pro/"
  },
  "rawModel": {
    "about": "Universal-3.5 Pro je model rozpoznávání řeči AssemblyAI pro převod nahrané řeči na text. V profilu Sync z krátkého zvukového klipu vytvoří hotový přepis v jediné odpovědi. Hodí se pro hlasové zprávy, vstup push-to-talk a samostatné konverzační tahy, u nichž aplikace již ví, kdy má nahrávání skončit.\n\nZvuk připravte jako ohraničený klip. Požadavky AssemblyAI Sync přijímají délky od 80 milisekund do 120 sekund s maximální velikostí souboru 40 MB. Podporované formáty jsou WAV nebo surové PCM se znaménkem, 16 bity a pořadím bajtů little-endian. Zvuk může být mono nebo stereo, přičemž stereo se interně převádí do mono. Podporované vzorkovací frekvence jsou 8 kHz, 16 kHz, 22,05 kHz, 24 kHz, 32 kHz, 44,1 kHz a 48 kHz. Hlavička WAV dodává vzorkovací frekvenci a počet kanálů; surové PCM potřebuje tyto hodnoty dodat samostatně v konfiguraci přepisu.\n\nZachyťte celou promluvu a zachovejte nedotčený začátek i konec řeči. Praktickým původním zadáním je krátká hlasová zpráva produktové podpoře obsahující název produktu, identifikátor objednávky a požadavek. Zdrojový klip uchovejte, aby bylo možné přepis ověřit podle těchto důležitých detailů. Pro delší nahrávku připravte postup vhodný pro přepis dlouhých záznamů, místo abyste limit délky krátkého klipu považovali za tvrzení o celkové zvukové kapacitě modelu.\n\nVýsledek obsahuje úplný přepis, seznam slov s mírou jistoty rozpoznání každého slova a celkovou míru jistoty mezi nulou a jedničkou. Poskytuje také délku odeslaného zvuku a identifikátor požadavku, takže je možné uchovat text ve spojení s původním klipem. Míru jistoty rozpoznání slov využijte k nalezení pasáží vyžadujících kontrolu poslechem, zejména názvů, čísel a oborové slovní zásoby důležitých pro aplikaci.\n\nČasové značky slov jsou volitelné a ve výchozím stavu vypnuté. Při jejich vyžádání může každé zarovnané slovo nést začátek a konec v milisekundách vzhledem k začátku klipu. Profil výrobce tyto hodnoty vynechává, pokud slovo nelze zarovnat, místo aby vymýšlel přibližné časování. Přesnost časových značek je nejlepší pro anglický zvuk. Při přípravě zvýrazňování slov, prohledávatelného zobrazení zvukové vlny nebo zarovnání titulků chybějící časování výslovně zachovejte a před použitím jako hotové titulkové stopy porovnejte text s nahrávkou.\n\nKontextové zadání popisuje, o čem nahrávka je. Může pojmenovat obor, scénář nebo konkrétní detaily, které již aplikace zná, a jeho maximální délka je 6000 znaků. Začněte krátkým popisem odpovídajícím zvuku, například rozhovorem technické podpory o konkrétním zařízení. Zadání dodává kontext pro rozpoznávání; nejde o požadavek na přepsání sdělení mluvčího do jiného dokumentu.\n\nSamostatný seznam klíčových termínů směruje rozpoznávání ke konkrétní slovní zásobě. Profil Sync přijímá až 100 termínů a 8000 znaků celkem v tomto seznamu. Používejte přesný zápis neobvyklých jmen, zkratek nebo produktových termínů a běžná dobře rozpoznávaná slova ze seznamu vynechte. Rozsáhlé nebo zbytečné seznamy mohou způsobit přehnané opravy, proto seznam zaměřte na slova důležitá v nahrávce. Kontextový popis a seznam slovní zásoby lze používat společně.\n\nPředchozí konverzace může také pomoci vyložit krátkou odpověď. Dodejte dřívější promluvy chronologicky od nejstarší po nejnovější, zatímco aktuální zvuk zůstává tahem k přepisu. Dokumentovaný limit kontextu je 500 tahů nebo celkem 16 000 znaků. Pokud překročí tyto stropy nebo dostupný kontext modelu, odstraňují se nejprve nejstarší položky. To se hodí, když krátká odpověď obsahuje identifikátor nebo odkaz, jehož význam vychází z předchozí otázky.\n\nVolba jazyka směruje rozpoznávání k jednomu nebo více očekávaným jazykům. Aktuální rozhraní Sync přijímá 32 jazykových kódů a při neuvedení volby používá angličtinu. U zvuku se střídáním jazyků uveďte očekávané jazyky. Vlastní kontextové zadání nahrazuje spravované výchozí zadání a přebíjí samostatné směrování jazykovými kódy, proto v něm pojmenujte očekávané jazyky, pokud potřebujete jazykový kontext i kontext scénáře. Přepis ponechte v jazycích, kterými se skutečně mluví, místo abyste přepis chápali jako pokyn k překladu.\n\nModel se objevuje také v dalších postupech přepisu AssemblyAI, zatímco požadavky profilu Sync na krátké klipy a pole výsledku patří tomuto konkrétnímu rozhraní. Postup Dictation výrobce přidává samostatnou fázi úpravy textu; přepis a přeformulovaná zpráva jsou odlišné výstupy. Pokud pozdější úpravy nebo shrnutí vytvoří uhlazenou verzi, zachovejte rozpoznanou řeč, aby původní znění zůstalo dostupné pro srovnání.\n\nUžitečné výstupy zahrnují přepsanou hlasovou zprávu, dokončený tah pro asistenta, krátký prohledávatelný přepis zvuku nebo časovaný seznam slov pro kontrolní rozhraní. Rozhodující slova ověřte podle nahrávky, zachovejte veškerá chybějící zarovnání a propojení klipu s vráceným textem. Výsledek rozpoznávání poskytuje dalšímu kroku aplikace přepis opřený o zdroj; odpověď na požadavek nebo úprava zprávy přísluší okolnímu postupu.",
    "alias_of": null,
    "aliases": [],
    "author": "AssemblyAI",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00025",
            "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.00025",
            "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": "assemblyai/universal-3-5-pro",
    "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": [
                  "assemblyai/universal-3-5-pro"
                ],
                "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": [
                    "assemblyai/universal-3-5-pro"
                  ],
                  "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": "assemblyai/universal-3-5-pro"
              },
              "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.00025",
                "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.00025",
                "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': 'assemblyai/universal-3-5-pro', '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.00025
          }
        },
        "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.00025",
                "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.00025",
                "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": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00025",
            "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.00025",
            "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": "assemblyai/universal-3-5-pro",
        "request_model_id": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "AssemblyAI: Universal-3.5 Pro",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Universal-3.5 Pro je model AssemblyAI pro převod řeči na text, který z krátkého zvukového klipu vrací hotový přepis v jedné odpovědi. Profil Sync přidává míru jistoty rozpoznání jednotlivých slov, volitelné časové značky slov, vodítka ke slovní zásobě a kontext předchozí konverzace pro hlasové vstupy a postupy push-to-talk."
  },
  "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": "Universal-3.5 Pro je model AssemblyAI pro převod řeči na text, který z krátkého zvukového klipu vrací hotový přepis v jedné odpovědi. Profil Sync přidává míru jistoty rozpoznání jednotlivých slov, volitelné časové značky slov, vodítka ke slovní zásobě a kontext předchozí konverzace pro hlasové vstupy a postupy push-to-talk.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "a7f5aaef18c2b1b6f0e59c6f9b344cd3d3ae2cbd852fe198a87582948700eb5a",
    "renderer_sha256": "41721c81890b87836cd3fd41ef732d3276f5969e30822ba09962305294953718"
  },
  "sourceRevision": "7611d888a8a06f2701de6e5d7e1b5639603cbc765d142eed2a1d79eb3624317b"
}
