{
  "aboutHtml": "<p>A Transcribe 1 a Fish Audio általános beszédfelismerő modellje rövid felvételekhez. Hangfájlt fogad, és a felismert szavakat szövegként adja vissza a felvétel időtartamával, opcionális időzített szegmensekkel és az ismert nyelvi információkkal együtt. Rövid hangjegyzethez, szóbeli utasításhoz, felvételrészlethez vagy olvasható szöveges változatot igénylő hangkliphez hasznos.</p><p>Egy szemléltető hangjegyzet-folyamat együtt tartja a felvételt, a teljes leiratot és az eredeti klip azonosítóját. Egy későbbi alkalmazáslépés kereshet a szövegben, rendszerezheti a jegyzetet vagy összefoglalót készíthet a beszélt forrás megőrzésével. Parancsnál a leirat a felismert szavakat adja át az alkalmazásnak; bármely művelet külön értelmezési és végrehajtási lépés. Interjúrészletnél rögzítsd a klip helyét a teljes hanganyagban, hogy az idézet a megfelelő ponton ellenőrizhető legyen.</p><p>A gyártó WAV, MP3, AAC — beleértve az M4A/MP4-et —, FLAC és Opus- vagy Vorbis-hangot tartalmazó Ogg formátumot fogad. A böngészőben készült WebM-felvételeket ehhez a modellhez Ogg/Opus, MP3 vagy WAV formátumra kell alakítani; a Pro további konténerek natív támogatását dokumentálja. Kérésenként egy hangfájlt adj meg. Az alapmodell dokumentált kéréskerete legfeljebb 50 MiB, az MP3- és Opus-fájloknak 25 MiB alatt kell maradniuk. A fájlméret és a felvételhossz eltérő szempont: egy tömörített fájl beleférhet a feltöltési keretbe, miközben feldolgozása túl sokáig tart.</p><p>A Transcribe 1-et rövid felvételekhez tervezték. A gyártó a néhány percnél hosszabb hanghoz a Pro-t ajánlja; az alapmodell hosszú kérése sikertelen lehet, ha túllépi a feldolgozási időkorlátot. Hosszabb forrás rövid klipekben történő átírásakor őrizd meg minden klip kezdőeltolását, és összefűzés előtt győződj meg arról, hogy a visszaadott leirat lefedi a teljes klipet. A helyi szegmensidőkhöz add hozzá az eredeti eltolást, hogy a navigáció a teljes felvételhez kapcsolódjon. Az alapmodell útmutatását nem szabad a Pro külön 60 perces kereteként értelmezni.</p><p>A gyártói válasz szöveget, időtartamot és szegmenseket tartalmaz. Az időtartam másodpercben értendő, és az olvasható teljes leiratot kell a klip elsődleges szövegváltozataként megőrizni. Az időbélyegek opcionálisak: a gyártói API-ban az ignore_timestamps alapértéke true, a false pedig szószintű, szöveget, valamint másodpercben megadott kezdő- és végidőt tartalmazó szegmenseket kér. Az illesztés kérése növeli a feldolgozási időt. Az üres segments tömb jelenthet kihagyott időzítést, beszédhiányt vagy átmenetileg elérhetetlen illesztést, ezért nem értelmezhető automatikusan üres teljes leiratként.</p><p>A szegmensek általában szavak, kínai és japán esetén egy vagy néhány karakter. Szövegük nem tartalmaz írásjeleket, és egy értéket a teljes leirattól eltérően normalizálhat; nem az olvasható válasz karakterpontos másolatai. Egy szegmens kezdő- és végideje azonos is lehet. A szegmenseket a felvétel egy pontjának megtalálásához vagy időzített megjelenítéshez használd, a teljes szöveget pedig akkor, amikor a megfogalmazás és a központozás számít. Az eredményben tartsd külön ezt a két megjelenítési formát.</p><p>A nyelvet a rendszer automatikusan felismeri, függetlenül attól, hogy megadsz-e opcionális nyelvi támpontot. A gyártó kisbetűs ISO 639-1 kódokat dokumentál a támpontokhoz, és ismert nyelvnél az alkalmazáslogika számára nyelvkódot, a megjelenítéshez nyelvnevet ad vissza. A válasz egy nyelvet jelent, nem a nyelvek között váltó felvétel összes nyelvét. Az eredménnyel együtt őrizd meg a forrás megfogalmazását és a rendelkezésre álló nyelvi metaadatokat; az átírási kérést ne kezeld fordításként.</p><p>Feliratozási folyamatnál az egymást követő időzített szegmenseket olvasható felirategységekbe csoportosítsd, ne egyenként jelenítsd meg a szavakat. Hasznos kimenet az eredeti kliphez kapcsolt SRT- vagy WebVTT-fájl, a szünetekhez illeszkedő egységhatárokkal és a képernyőn kezelhető szövegmennyiséggel. Ellenőrizd a hiányzó időzítést, és azt, hogy minden egység vége a kezdete után legyen. A feliratcsoportosítás és fájlformázás a visszaadott illesztésre épülő alkalmazáslépések, megjelenítési döntéseiknek a lejátszóhoz és a közönséghez kell igazodniuk.</p><p>A Transcribe 1 dokumentált vezérlői a hang, a nyelvi támpont és az időbélyegválasztás. A Pro beszélőjelölői, strukturált beszélőváltásai, érzelmi eseményvezérlői és beszélőszámra utaló támpontjai külön funkciók; nem részei az alapmodell dokumentált válaszszerződésének. Feldolgozás előtt válaszd ki a kívánt eredményt: egyszerű, olvasható szöveg jegyzethez, vagy szöveg illesztéssel a lejátszási navigációhoz és feliratokhoz. A klipazonosító, a leirat és az elérhető időzítés megőrzése teszi az eredményt a következő alkalmazáslépésben használhatóvá.</p>",
  "aboutText": "A Transcribe 1 a Fish Audio általános beszédfelismerő modellje rövid felvételekhez. Hangfájlt fogad, és a felismert szavakat szövegként adja vissza a felvétel időtartamával, opcionális időzített szegmensekkel és az ismert nyelvi információkkal együtt. Rövid hangjegyzethez, szóbeli utasításhoz, felvételrészlethez vagy olvasható szöveges változatot igénylő hangkliphez hasznos.\n\nEgy szemléltető hangjegyzet-folyamat együtt tartja a felvételt, a teljes leiratot és az eredeti klip azonosítóját. Egy későbbi alkalmazáslépés kereshet a szövegben, rendszerezheti a jegyzetet vagy összefoglalót készíthet a beszélt forrás megőrzésével. Parancsnál a leirat a felismert szavakat adja át az alkalmazásnak; bármely művelet külön értelmezési és végrehajtási lépés. Interjúrészletnél rögzítsd a klip helyét a teljes hanganyagban, hogy az idézet a megfelelő ponton ellenőrizhető legyen.\n\nA gyártó WAV, MP3, AAC — beleértve az M4A/MP4-et —, FLAC és Opus- vagy Vorbis-hangot tartalmazó Ogg formátumot fogad. A böngészőben készült WebM-felvételeket ehhez a modellhez Ogg/Opus, MP3 vagy WAV formátumra kell alakítani; a Pro további konténerek natív támogatását dokumentálja. Kérésenként egy hangfájlt adj meg. Az alapmodell dokumentált kéréskerete legfeljebb 50 MiB, az MP3- és Opus-fájloknak 25 MiB alatt kell maradniuk. A fájlméret és a felvételhossz eltérő szempont: egy tömörített fájl beleférhet a feltöltési keretbe, miközben feldolgozása túl sokáig tart.\n\nA Transcribe 1-et rövid felvételekhez tervezték. A gyártó a néhány percnél hosszabb hanghoz a Pro-t ajánlja; az alapmodell hosszú kérése sikertelen lehet, ha túllépi a feldolgozási időkorlátot. Hosszabb forrás rövid klipekben történő átírásakor őrizd meg minden klip kezdőeltolását, és összefűzés előtt győződj meg arról, hogy a visszaadott leirat lefedi a teljes klipet. A helyi szegmensidőkhöz add hozzá az eredeti eltolást, hogy a navigáció a teljes felvételhez kapcsolódjon. Az alapmodell útmutatását nem szabad a Pro külön 60 perces kereteként értelmezni.\n\nA gyártói válasz szöveget, időtartamot és szegmenseket tartalmaz. Az időtartam másodpercben értendő, és az olvasható teljes leiratot kell a klip elsődleges szövegváltozataként megőrizni. Az időbélyegek opcionálisak: a gyártói API-ban az ignore_timestamps alapértéke true, a false pedig szószintű, szöveget, valamint másodpercben megadott kezdő- és végidőt tartalmazó szegmenseket kér. Az illesztés kérése növeli a feldolgozási időt. Az üres segments tömb jelenthet kihagyott időzítést, beszédhiányt vagy átmenetileg elérhetetlen illesztést, ezért nem értelmezhető automatikusan üres teljes leiratként.\n\nA szegmensek általában szavak, kínai és japán esetén egy vagy néhány karakter. Szövegük nem tartalmaz írásjeleket, és egy értéket a teljes leirattól eltérően normalizálhat; nem az olvasható válasz karakterpontos másolatai. Egy szegmens kezdő- és végideje azonos is lehet. A szegmenseket a felvétel egy pontjának megtalálásához vagy időzített megjelenítéshez használd, a teljes szöveget pedig akkor, amikor a megfogalmazás és a központozás számít. Az eredményben tartsd külön ezt a két megjelenítési formát.\n\nA nyelvet a rendszer automatikusan felismeri, függetlenül attól, hogy megadsz-e opcionális nyelvi támpontot. A gyártó kisbetűs ISO 639-1 kódokat dokumentál a támpontokhoz, és ismert nyelvnél az alkalmazáslogika számára nyelvkódot, a megjelenítéshez nyelvnevet ad vissza. A válasz egy nyelvet jelent, nem a nyelvek között váltó felvétel összes nyelvét. Az eredménnyel együtt őrizd meg a forrás megfogalmazását és a rendelkezésre álló nyelvi metaadatokat; az átírási kérést ne kezeld fordításként.\n\nFeliratozási folyamatnál az egymást követő időzített szegmenseket olvasható felirategységekbe csoportosítsd, ne egyenként jelenítsd meg a szavakat. Hasznos kimenet az eredeti kliphez kapcsolt SRT- vagy WebVTT-fájl, a szünetekhez illeszkedő egységhatárokkal és a képernyőn kezelhető szövegmennyiséggel. Ellenőrizd a hiányzó időzítést, és azt, hogy minden egység vége a kezdete után legyen. A feliratcsoportosítás és fájlformázás a visszaadott illesztésre épülő alkalmazáslépések, megjelenítési döntéseiknek a lejátszóhoz és a közönséghez kell igazodniuk.\n\nA Transcribe 1 dokumentált vezérlői a hang, a nyelvi támpont és az időbélyegválasztás. A Pro beszélőjelölői, strukturált beszélőváltásai, érzelmi eseményvezérlői és beszélőszámra utaló támpontjai külön funkciók; nem részei az alapmodell dokumentált válaszszerződésének. Feldolgozás előtt válaszd ki a kívánt eredményt: egyszerű, olvasható szöveg jegyzethez, vagy szöveg illesztéssel a lejátszási navigációhoz és feliratokhoz. A klipazonosító, a leirat és az elérhető időzítés megőrzése teszi az eredményt a következő alkalmazáslépésben használhatóvá.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "d9e72d19534f6b89923360a0c21ceec65aebdd979be700528e31770b4fbe83b9",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "hu",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Fish Audio: Transcribe 1</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Bezárás\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/transcribe-1</code><button type=\"button\" id=\"copy-id\">ID másolása</button></div><nav class=\"card-jump-nav\" aria-label=\"Modellkártya szakaszai\"><button type=\"button\" data-card-jump=\"overview\">Kezdő lépések</button><button type=\"button\" data-card-jump=\"methods\">Bemenetek és metódusok</button><button type=\"button\" data-card-jump=\"pricing\">Díjcsomagok</button><button type=\"button\" data-card-jump=\"examples\">Példák</button><button type=\"button\" data-card-jump=\"results\">Eredmények</button><button type=\"button\" data-card-jump=\"aliases\">Álnevek</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-metódusok\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1\">Felismerés</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Kezdő lépések</h3><p class=\"mdesc-full\">A Transcribe 1 rövid hangfelvételeket alakít szöveggé automatikus nyelvfelismeréssel és opcionális, szószintű időbélyegekkel. A leirat hangjegyzetekhez, kereshető klipekhez vagy feliratok előkészítéséhez használható; az időzített szegmenseket tartsd külön az olvasható teljes szövegtől.</p><dl class=\"card-io\" data-card-io><div><dt>Elfogadott bemenetek</dt><dd>Hang</dd></div><div><dt>Eredmények</dt><dd>Szöveg</dd></div></dl><details class=\"card-about\"><summary>A modellről</summary><p class=\"note-s\" data-model-method-boundary>Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.</p><div class=\"mabout\" id=\"m-about\"><p>A Transcribe 1 a Fish Audio általános beszédfelismerő modellje rövid felvételekhez. Hangfájlt fogad, és a felismert szavakat szövegként adja vissza a felvétel időtartamával, opcionális időzített szegmensekkel és az ismert nyelvi információkkal együtt. Rövid hangjegyzethez, szóbeli utasításhoz, felvételrészlethez vagy olvasható szöveges változatot igénylő hangkliphez hasznos.</p><p>Egy szemléltető hangjegyzet-folyamat együtt tartja a felvételt, a teljes leiratot és az eredeti klip azonosítóját. Egy későbbi alkalmazáslépés kereshet a szövegben, rendszerezheti a jegyzetet vagy összefoglalót készíthet a beszélt forrás megőrzésével. Parancsnál a leirat a felismert szavakat adja át az alkalmazásnak; bármely művelet külön értelmezési és végrehajtási lépés. Interjúrészletnél rögzítsd a klip helyét a teljes hanganyagban, hogy az idézet a megfelelő ponton ellenőrizhető legyen.</p><p>A gyártó WAV, MP3, AAC — beleértve az M4A/MP4-et —, FLAC és Opus- vagy Vorbis-hangot tartalmazó Ogg formátumot fogad. A böngészőben készült WebM-felvételeket ehhez a modellhez Ogg/Opus, MP3 vagy WAV formátumra kell alakítani; a Pro további konténerek natív támogatását dokumentálja. Kérésenként egy hangfájlt adj meg. Az alapmodell dokumentált kéréskerete legfeljebb 50 MiB, az MP3- és Opus-fájloknak 25 MiB alatt kell maradniuk. A fájlméret és a felvételhossz eltérő szempont: egy tömörített fájl beleférhet a feltöltési keretbe, miközben feldolgozása túl sokáig tart.</p><p>A Transcribe 1-et rövid felvételekhez tervezték. A gyártó a néhány percnél hosszabb hanghoz a Pro-t ajánlja; az alapmodell hosszú kérése sikertelen lehet, ha túllépi a feldolgozási időkorlátot. Hosszabb forrás rövid klipekben történő átírásakor őrizd meg minden klip kezdőeltolását, és összefűzés előtt győződj meg arról, hogy a visszaadott leirat lefedi a teljes klipet. A helyi szegmensidőkhöz add hozzá az eredeti eltolást, hogy a navigáció a teljes felvételhez kapcsolódjon. Az alapmodell útmutatását nem szabad a Pro külön 60 perces kereteként értelmezni.</p><p>A gyártói válasz szöveget, időtartamot és szegmenseket tartalmaz. Az időtartam másodpercben értendő, és az olvasható teljes leiratot kell a klip elsődleges szövegváltozataként megőrizni. Az időbélyegek opcionálisak: a gyártói API-ban az ignore_timestamps alapértéke true, a false pedig szószintű, szöveget, valamint másodpercben megadott kezdő- és végidőt tartalmazó szegmenseket kér. Az illesztés kérése növeli a feldolgozási időt. Az üres segments tömb jelenthet kihagyott időzítést, beszédhiányt vagy átmenetileg elérhetetlen illesztést, ezért nem értelmezhető automatikusan üres teljes leiratként.</p><p>A szegmensek általában szavak, kínai és japán esetén egy vagy néhány karakter. Szövegük nem tartalmaz írásjeleket, és egy értéket a teljes leirattól eltérően normalizálhat; nem az olvasható válasz karakterpontos másolatai. Egy szegmens kezdő- és végideje azonos is lehet. A szegmenseket a felvétel egy pontjának megtalálásához vagy időzített megjelenítéshez használd, a teljes szöveget pedig akkor, amikor a megfogalmazás és a központozás számít. Az eredményben tartsd külön ezt a két megjelenítési formát.</p><p>A nyelvet a rendszer automatikusan felismeri, függetlenül attól, hogy megadsz-e opcionális nyelvi támpontot. A gyártó kisbetűs ISO 639-1 kódokat dokumentál a támpontokhoz, és ismert nyelvnél az alkalmazáslogika számára nyelvkódot, a megjelenítéshez nyelvnevet ad vissza. A válasz egy nyelvet jelent, nem a nyelvek között váltó felvétel összes nyelvét. Az eredménnyel együtt őrizd meg a forrás megfogalmazását és a rendelkezésre álló nyelvi metaadatokat; az átírási kérést ne kezeld fordításként.</p><p>Feliratozási folyamatnál az egymást követő időzített szegmenseket olvasható felirategységekbe csoportosítsd, ne egyenként jelenítsd meg a szavakat. Hasznos kimenet az eredeti kliphez kapcsolt SRT- vagy WebVTT-fájl, a szünetekhez illeszkedő egységhatárokkal és a képernyőn kezelhető szövegmennyiséggel. Ellenőrizd a hiányzó időzítést, és azt, hogy minden egység vége a kezdete után legyen. A feliratcsoportosítás és fájlformázás a visszaadott illesztésre épülő alkalmazáslépések, megjelenítési döntéseiknek a lejátszóhoz és a közönséghez kell igazodniuk.</p><p>A Transcribe 1 dokumentált vezérlői a hang, a nyelvi támpont és az időbélyegválasztás. A Pro beszélőjelölői, strukturált beszélőváltásai, érzelmi eseményvezérlői és beszélőszámra utaló támpontjai külön funkciók; nem részei az alapmodell dokumentált válaszszerződésének. Feldolgozás előtt válaszd ki a kívánt eredményt: egyszerű, olvasható szöveg jegyzethez, vagy szöveg illesztéssel a lejátszási navigációhoz és feliratokhoz. A klipazonosító, a leirat és az elérhető időzítés megőrzése teszi az eredményt a következő alkalmazáslépésben használhatóvá.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Elérhető az Ailootban · bemenetek és metódusok</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Hang átírása</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Bemenet</dt><dd><code>audio</code></dd></div><div><dt>Kimenet</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Mező</th><th>Típus</th><th>Követelmény</th><th>Értékek és korlátok</th><th>Alapértelmezett</th></tr></thead><tbody><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>fish-audio/transcribe-1</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>object</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Metódus paraméterei és életciklusa</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Paraméter</th><th>Szerződés</th></tr></thead><tbody><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>content_type</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>application/json</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>required</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>model, input_audio</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>material_types</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>audio</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>material_conditions</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>A példa beolvassa az Ön tényleges, nem üres PCM WAV-fájlját, a fájl teljes bájttartalmát base64 formában kódolja, és az input_audio.format mezőt wav értékkel küldi el.</td></tr></tbody></table></div><p>Életciklus: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · pontos task_id egy meglévő, Önhöz tartozó médiarekordból</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Díjcsomagok</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.</p><dl data-price-conditions><dt>Gyors mód</dt><dd>Nincs megadva <span class=\"note-s\">Ha a gyors mód van kiválasztva</span></dd><dt>Flex mód</dt><dd>Nincs megadva <span class=\"note-s\">Ha a flex mód van kiválasztva</span></dd><dt>Maximális gondolkodási ráfordítás</dt><dd>Nincs megadva <span class=\"note-s\">Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-díjak</h4><h4>Árak beállításonként</h4><p class=\"note-s\">Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Beállítás</th><th>Díjtáblázat</th><th>Elszámolási egység</th><th>Díj</th></tr></thead><tbody><tr><th data-cell-label=\"Beállítás\" scope=\"row\"><span class=\"card-cell-label\">Beállítás</span>Tokenek alapdíjai</th><td data-cell-label=\"Díjtáblázat\"><span class=\"card-cell-label\">Díjtáblázat</span>Alapdíj</td><td data-cell-label=\"Elszámolási egység\"><span class=\"card-cell-label\">Elszámolási egység</span>—</td><td data-cell-label=\"Díj\"><span class=\"card-cell-label\">Díj</span><div><span>Bemenet · Bemeneti tokenek</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kimenet · Kimeneti tokenek</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Gyorsítótár olvasása</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Írás a gyorsítótárba</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Írás a gyorsítótárba, 1 óra</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Beállítás\" scope=\"row\"><span class=\"card-cell-label\">Beállítás</span>bemeneti hangmásodperc</th><td data-cell-label=\"Díjtáblázat\"><span class=\"card-cell-label\">Díjtáblázat</span>—</td><td data-cell-label=\"Elszámolási egység\"><span class=\"card-cell-label\">Elszámolási egység</span>bemeneti hangmásodpercenként</td><td data-cell-label=\"Díj\"><span class=\"card-cell-label\">Díj</span><div><span>Bemenet · bemeneti hangmásodperc</span> <b>$0.0002</b> <span class=\"price-unit\">bemeneti hangmásodpercenként</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. <a href=\"/docs/hu/billing/reserve/\">A foglalás és az elszámolás működése →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Példakérések</h3><h4>Ailoot Ultra · Hang átírása</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kódváltozatok\"><button class=\"cg-tab\" id=\"model-code-1361-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1361-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · tényleges WAV-fájl és a teljes eredeti eredmény</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kód másolása\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1361-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1361-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;fish-audio/transcribe-1&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Eredmények fogadása és mentése</h3><h4>Ailoot Ultra · Hang átírása</h4><p class=\"note-s\">A teljes eredeti választörzs, állapot és továbbított fejlécek. Ez a kezelő nem ad hozzá univerzális JSON-szerkezetet, szövegmezőt vagy feladatburkolót.</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>Őrizzen meg minden elkészült eredményt</h5><p class=\"note-s\">Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.</p><p class=\"note-s\">Őrizze meg a teljes választ és a fejléceket, minden tényleges kimenetet, az eredetileg visszaadott azonosítókat és az összes használati adatmezőt. Az eredeti műveletet állítsa helyre, a létrehozási kérés újbóli beküldése nélkül.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Ha az eredeti választ ellenőrizni kell</h5><p class=\"note-s\">Őrizze meg a tényleges X-Client-Request-ID értéket és a teljes választ. Kérdezze le az eredeti saját médiaállományokat és pontos aláírt tartalom-URL-címeiket; bizonytalan kimenetelű létrehozást soha ne küldjön be újra.</p></div><details class=\"card-about\" data-output-fields><summary>Válaszmezők</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Mező</th><th>Típus</th></tr></thead><tbody><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span></td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Hibák és következő lépések</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Válasz</th><th>Feltétel</th><th>Következő lépés</th></tr></thead><tbody><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>A JSON-törzs vagy a kifejezetten megadott kanonikus modellazonosító érvénytelen.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Őrizze meg a választ, és javítsa a kérés megjelölt mezőjét.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>Az Ailoot API-kulcs érvénytelen.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Használja az engedélyezett Ailoot API-kulcsát.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>403 · <code>permission_error</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>A kulcscsoport nem használhatja ezt a metódust.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Őrizze meg a visszaadott hiba részleteit.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>A kiválasztott metódushoz nincs engedélyezett útvonal.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Őrizze meg a visszaadott hiba részleteit.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>Az elfogadott tarifa nem tudja meghatározni a szükséges bemeneti mennyiséget vagy korlátot.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Őrizze meg a választ; használja az elfogadott tarifa által megkövetelt bemeneti formátumot.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>503 · <code></code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>A szükséges tároló, útvonal, metódusár vagy összegzárolás nem érhető el.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Őrizze meg a teljes eredeti választ. A bizonytalan összegzárolás nem jogosít fel az újraküldésre.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>502 · <code>server_error</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>Az eredeti eredményt, a felhasználást vagy az elszámolást ellenőrizni kell.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Őrizze meg a tényleges kérésazonosítót és az eredeti választ. A meglévő saját rekordot kérdezze le; ne küldje be újra a létrehozási kérést.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Álnevek</h3><h4>Modell álnevei</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=fish-audio%2Ftranscribe-1&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1</code></a></span></p><h4>Metódusútvonalak álnevei</h4><p class=\"note-s\">Használja a fent látható metódusútvonalakat.</p><h4>Kapcsolódó modellazonosítók</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Ftranscribe-1&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/transcribe-1",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "A JSON-törzs vagy a kifejezetten megadott kanonikus modellazonosító érvénytelen.",
                "http_status": 400,
                "recovery": "Őrizze meg a választ, és javítsa a kérés megjelölt mezőjét.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Az Ailoot API-kulcs érvénytelen.",
                "http_status": 401,
                "recovery": "Használja az engedélyezett Ailoot API-kulcsát.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "A kulcscsoport nem használhatja ezt a metódust.",
                "http_status": 403,
                "recovery": "Őrizze meg a visszaadott hiba részleteit.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "A kiválasztott metódushoz nincs engedélyezett útvonal.",
                "http_status": 404,
                "recovery": "Őrizze meg a visszaadott hiba részleteit.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Az elfogadott tarifa nem tudja meghatározni a szükséges bemeneti mennyiséget vagy korlátot.",
                "http_status": 422,
                "recovery": "Őrizze meg a választ; használja az elfogadott tarifa által megkövetelt bemeneti formátumot.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "A szükséges tároló, útvonal, metódusár vagy összegzárolás nem érhető el.",
                "http_status": 503,
                "recovery": "Őrizze meg a teljes eredeti választ. A bizonytalan összegzárolás nem jogosít fel az újraküldésre.",
                "type": null
              },
              {
                "code": null,
                "condition": "Az eredeti eredményt, a felhasználást vagy az elszámolást ellenőrizni kell.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Őrizze meg a tényleges kérésazonosítót és az eredeti választ. A meglévő saját rekordot kérdezze le; ne küldje be újra a létrehozási kérést.",
                "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": "Őrizze meg a tényleges X-Client-Request-ID értéket és a teljes választ. Kérdezze le az eredeti saját médiaállományokat és pontos aláírt tartalom-URL-címeiket; bizonytalan kimenetelű létrehozást soha ne küldjön be újra."
            },
            "outputs": {
              "all_results": "Őrizze meg a teljes választ és a fejléceket, minden tényleges kimenetet, az eredetileg visszaadott azonosítókat és az összes használati adatmezőt. Az eredeti műveletet állítsa helyre, a létrehozási kérés újbóli beküldése nélkül.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "A teljes eredeti választörzs, állapot és továbbított fejlécek. Ez a kezelő nem ad hozzá univerzális JSON-szerkezetet, szövegmezőt vagy feladatburkolót."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "fish-audio/transcribe-1"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "fish-audio/transcribe-1"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "A példa beolvassa az Ön tényleges, nem üres PCM WAV-fájlját, a fájl teljes bájttartalmát base64 formában kódolja, és az input_audio.format mezőt wav értékkel küldi el."
            ],
            "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": "pontos task_id egy meglévő, Önhöz tartozó médiarekordból",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'fish-audio/transcribe-1', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Hang átírása",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.0002
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "fish-audio/transcribe-1",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "bcd28545534339a45164c97a7d8f03055d22c21aed285e8a9db8e2a4b10c621d",
    "input_html_sha256": "aa91d191c0de534e3a99d0eba413d089eac01324fb1fcb3c45d454893fc824c6",
    "private_audit_sha256": "fc7b20ad532b032fdc5a7e46a25f3f62503086febccd74ef1ee2642e79f54888",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/hu/fish-audio-transcribe-1/",
    "description": "A Transcribe 1 rövid hangfelvételeket alakít szöveggé automatikus nyelvfelismeréssel és opcionális, szószintű időbélyegekkel. A leirat hangjegyzetekhez, kereshető klipekhez vagy feliratok előkészítéséhez használható; az időzített szegmenseket tartsd külön az olvasható teljes szövegtől.",
    "locale": "hu",
    "md_url": "https://ailoot.ai/models/hu/fish-audio-transcribe-1/index.md",
    "title": "Fish Audio: Transcribe 1 — Ailoot",
    "url": "https://ailoot.ai/models/hu/fish-audio-transcribe-1/"
  },
  "rawModel": {
    "about": "A Transcribe 1 a Fish Audio általános beszédfelismerő modellje rövid felvételekhez. Hangfájlt fogad, és a felismert szavakat szövegként adja vissza a felvétel időtartamával, opcionális időzített szegmensekkel és az ismert nyelvi információkkal együtt. Rövid hangjegyzethez, szóbeli utasításhoz, felvételrészlethez vagy olvasható szöveges változatot igénylő hangkliphez hasznos.\n\nEgy szemléltető hangjegyzet-folyamat együtt tartja a felvételt, a teljes leiratot és az eredeti klip azonosítóját. Egy későbbi alkalmazáslépés kereshet a szövegben, rendszerezheti a jegyzetet vagy összefoglalót készíthet a beszélt forrás megőrzésével. Parancsnál a leirat a felismert szavakat adja át az alkalmazásnak; bármely művelet külön értelmezési és végrehajtási lépés. Interjúrészletnél rögzítsd a klip helyét a teljes hanganyagban, hogy az idézet a megfelelő ponton ellenőrizhető legyen.\n\nA gyártó WAV, MP3, AAC — beleértve az M4A/MP4-et —, FLAC és Opus- vagy Vorbis-hangot tartalmazó Ogg formátumot fogad. A böngészőben készült WebM-felvételeket ehhez a modellhez Ogg/Opus, MP3 vagy WAV formátumra kell alakítani; a Pro további konténerek natív támogatását dokumentálja. Kérésenként egy hangfájlt adj meg. Az alapmodell dokumentált kéréskerete legfeljebb 50 MiB, az MP3- és Opus-fájloknak 25 MiB alatt kell maradniuk. A fájlméret és a felvételhossz eltérő szempont: egy tömörített fájl beleférhet a feltöltési keretbe, miközben feldolgozása túl sokáig tart.\n\nA Transcribe 1-et rövid felvételekhez tervezték. A gyártó a néhány percnél hosszabb hanghoz a Pro-t ajánlja; az alapmodell hosszú kérése sikertelen lehet, ha túllépi a feldolgozási időkorlátot. Hosszabb forrás rövid klipekben történő átírásakor őrizd meg minden klip kezdőeltolását, és összefűzés előtt győződj meg arról, hogy a visszaadott leirat lefedi a teljes klipet. A helyi szegmensidőkhöz add hozzá az eredeti eltolást, hogy a navigáció a teljes felvételhez kapcsolódjon. Az alapmodell útmutatását nem szabad a Pro külön 60 perces kereteként értelmezni.\n\nA gyártói válasz szöveget, időtartamot és szegmenseket tartalmaz. Az időtartam másodpercben értendő, és az olvasható teljes leiratot kell a klip elsődleges szövegváltozataként megőrizni. Az időbélyegek opcionálisak: a gyártói API-ban az ignore_timestamps alapértéke true, a false pedig szószintű, szöveget, valamint másodpercben megadott kezdő- és végidőt tartalmazó szegmenseket kér. Az illesztés kérése növeli a feldolgozási időt. Az üres segments tömb jelenthet kihagyott időzítést, beszédhiányt vagy átmenetileg elérhetetlen illesztést, ezért nem értelmezhető automatikusan üres teljes leiratként.\n\nA szegmensek általában szavak, kínai és japán esetén egy vagy néhány karakter. Szövegük nem tartalmaz írásjeleket, és egy értéket a teljes leirattól eltérően normalizálhat; nem az olvasható válasz karakterpontos másolatai. Egy szegmens kezdő- és végideje azonos is lehet. A szegmenseket a felvétel egy pontjának megtalálásához vagy időzített megjelenítéshez használd, a teljes szöveget pedig akkor, amikor a megfogalmazás és a központozás számít. Az eredményben tartsd külön ezt a két megjelenítési formát.\n\nA nyelvet a rendszer automatikusan felismeri, függetlenül attól, hogy megadsz-e opcionális nyelvi támpontot. A gyártó kisbetűs ISO 639-1 kódokat dokumentál a támpontokhoz, és ismert nyelvnél az alkalmazáslogika számára nyelvkódot, a megjelenítéshez nyelvnevet ad vissza. A válasz egy nyelvet jelent, nem a nyelvek között váltó felvétel összes nyelvét. Az eredménnyel együtt őrizd meg a forrás megfogalmazását és a rendelkezésre álló nyelvi metaadatokat; az átírási kérést ne kezeld fordításként.\n\nFeliratozási folyamatnál az egymást követő időzített szegmenseket olvasható felirategységekbe csoportosítsd, ne egyenként jelenítsd meg a szavakat. Hasznos kimenet az eredeti kliphez kapcsolt SRT- vagy WebVTT-fájl, a szünetekhez illeszkedő egységhatárokkal és a képernyőn kezelhető szövegmennyiséggel. Ellenőrizd a hiányzó időzítést, és azt, hogy minden egység vége a kezdete után legyen. A feliratcsoportosítás és fájlformázás a visszaadott illesztésre épülő alkalmazáslépések, megjelenítési döntéseiknek a lejátszóhoz és a közönséghez kell igazodniuk.\n\nA Transcribe 1 dokumentált vezérlői a hang, a nyelvi támpont és az időbélyegválasztás. A Pro beszélőjelölői, strukturált beszélőváltásai, érzelmi eseményvezérlői és beszélőszámra utaló támpontjai külön funkciók; nem részei az alapmodell dokumentált válaszszerződésének. Feldolgozás előtt válaszd ki a kívánt eredményt: egyszerű, olvasható szöveg jegyzethez, vagy szöveg illesztéssel a lejátszási navigációhoz és feliratokhoz. A klipazonosító, a leirat és az elérhető időzítés megőrzése teszi az eredményt a következő alkalmazáslépésben használhatóvá.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "A konfiguráció teljes árazása a részletekben."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "fish-audio/transcribe-1",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "A JSON-törzs vagy a kifejezetten megadott kanonikus modellazonosító érvénytelen.",
                "http_status": 400,
                "recovery": "Őrizze meg a választ, és javítsa a kérés megjelölt mezőjét.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Az Ailoot API-kulcs érvénytelen.",
                "http_status": 401,
                "recovery": "Használja az engedélyezett Ailoot API-kulcsát.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "A kulcscsoport nem használhatja ezt a metódust.",
                "http_status": 403,
                "recovery": "Őrizze meg a visszaadott hiba részleteit.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "A kiválasztott metódushoz nincs engedélyezett útvonal.",
                "http_status": 404,
                "recovery": "Őrizze meg a visszaadott hiba részleteit.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Az elfogadott tarifa nem tudja meghatározni a szükséges bemeneti mennyiséget vagy korlátot.",
                "http_status": 422,
                "recovery": "Őrizze meg a választ; használja az elfogadott tarifa által megkövetelt bemeneti formátumot.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "A szükséges tároló, útvonal, metódusár vagy összegzárolás nem érhető el.",
                "http_status": 503,
                "recovery": "Őrizze meg a teljes eredeti választ. A bizonytalan összegzárolás nem jogosít fel az újraküldésre.",
                "type": null
              },
              {
                "code": null,
                "condition": "Az eredeti eredményt, a felhasználást vagy az elszámolást ellenőrizni kell.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Őrizze meg a tényleges kérésazonosítót és az eredeti választ. A meglévő saját rekordot kérdezze le; ne küldje be újra a létrehozási kérést.",
                "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": "Őrizze meg a tényleges X-Client-Request-ID értéket és a teljes választ. Kérdezze le az eredeti saját médiaállományokat és pontos aláírt tartalom-URL-címeiket; bizonytalan kimenetelű létrehozást soha ne küldjön be újra."
            },
            "outputs": {
              "all_results": "Őrizze meg a teljes választ és a fejléceket, minden tényleges kimenetet, az eredetileg visszaadott azonosítókat és az összes használati adatmezőt. Az eredeti műveletet állítsa helyre, a létrehozási kérés újbóli beküldése nélkül.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "A teljes eredeti választörzs, állapot és továbbított fejlécek. Ez a kezelő nem ad hozzá univerzális JSON-szerkezetet, szövegmezőt vagy feladatburkolót."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "fish-audio/transcribe-1"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "fish-audio/transcribe-1"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "A példa beolvassa az Ön tényleges, nem üres PCM WAV-fájlját, a fájl teljes bájttartalmát base64 formában kódolja, és az input_audio.format mezőt wav értékkel küldi el."
            ],
            "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": "pontos task_id egy meglévő, Önhöz tartozó médiarekordból",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'fish-audio/transcribe-1', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Hang átírása",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.0002
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "fish-audio/transcribe-1",
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: Transcribe 1",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "A Transcribe 1 rövid hangfelvételeket alakít szöveggé automatikus nyelvfelismeréssel és opcionális, szószintű időbélyegekkel. A leirat hangjegyzetekhez, kereshető klipekhez vagy feliratok előkészítéséhez használható; az időzített szegmenseket tartsd külön az olvasható teljes szövegtől."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "A Transcribe 1 rövid hangfelvételeket alakít szöveggé automatikus nyelvfelismeréssel és opcionális, szószintű időbélyegekkel. A leirat hangjegyzetekhez, kereshető klipekhez vagy feliratok előkészítéséhez használható; az időzített szegmenseket tartsd külön az olvasható teljes szövegtől.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "60226ba41ffb3bd3edb0344be42fc7388cc8962d90c070f66cd28abdb5d0677b",
    "renderer_sha256": "59b0e30a0b251f9d98bf0bafcc7ef50440c33057c2bf9c9fadabbcaeefffb5bb"
  },
  "sourceRevision": "6b8cb87fe7c177a706c295d03904b5efd6d8de58fdbb00356625bcb09f74755f"
}
