{
  "aboutHtml": "<p>Transcribe 1 je splošni model podjetja Fish Audio za pretvorbo govora v besedilo pri kratkih posnetkih. Sprejme zvočno datoteko in vrne prepoznane besede kot besedilo, skupaj s trajanjem posnetka, neobveznimi časovno označenimi odseki in podatki o jeziku, kadar so znani. Model je uporaben za kratko glasovno beležko, govorjeno navodilo, odlomek posnetka ali zvočni izsek, ki potrebuje berljivo besedilno predstavitev.</p><p>Ponazoritveni potek za glasovne beležke hrani posnetek skupaj s celotnim prepisom in identifikatorjem izvirnega izseka. Poznejši korak aplikacije lahko po tem besedilu išče, uredi beležko ali pripravi povzetek ter ohrani govorjeni vir. Pri ukazu prepis aplikaciji priskrbi prepoznane besede; vsako dejanje je ločen korak interpretacije in izvedbe. Pri odlomku intervjuja zabeležite položaj izseka v celotnem zvoku, da je citat mogoče preveriti na pravem mestu.</p><p>Proizvajalec sprejema WAV, MP3, AAC, vključno z M4A/MP4, FLAC in Ogg z Opus ali Vorbis. Brskalniške posnetke WebM je treba za ta model pretvoriti v Ogg/Opus, MP3 ali WAV; Pro ima dokumentirano nativno podporo dodatnim vsebnikom. Predložite eno zvočno datoteko na zahtevo. Dokumentirana omejitev zahteve osnovnega modela je do 50 MiB, datoteke MP3 in Opus pa morajo ostati pod 25 MiB. Velikost datoteke in dolžina posnetka sta različna vidika: stisnjena datoteka lahko ustreza omejitvi nalaganja, vendar se še vedno predolgo obdeluje.</p><p>Transcribe 1 je zasnovan za kratke posnetke. Proizvajalec priporoča Pro za zvok, daljši od nekaj minut; dolga zahteva osnovnemu modelu lahko odpove, če preseže časovno omejitev obdelave. Pri pripravi daljšega vira za prepis kratkih izsekov ohranite začetni odmik vsakega izseka in pred združevanjem rezultatov potrdite, da vrnjeni prepis zajema celoten izsek. Izvirni odmik prištejte lokalnim časom odsekov, da bo navigacija ostala povezana s celotnim posnetkom. Navodil za osnovni model ne razlagajte kot ločeno 60-minutno omejitev modela Pro.</p><p>Proizvajalčev odgovor vključuje text, duration in segments. Trajanje je izraženo v sekundah, berljivi celotni prepis pa naj ostane primarno besedilo izseka. Časovne oznake so neobvezne: ignore_timestamps ima v proizvajalčevem API privzeto vrednost true, vrednost false pa zahteva odseke na ravni besed s text ter časoma start in end v sekundah. Zahteva za časovno poravnavo podaljša obdelavo. Prazno polje segments lahko pomeni preskočeno časovno označevanje, odsotnost govora ali začasno nedostopno poravnavo, zato ga ne razlagajte samodejno kot prazen celotni prepis.</p><p>Odseki so praviloma besede, pri kitajščini in japonščini pa znak ali nekaj znakov. Njihovo besedilo izpušča ločila in lahko vrednost normalizira drugače kot celotni prepis; ni kopija berljivega odgovora znak za znakom. Odsek ima lahko enak začetni in končni čas. Odseke uporabite za iskanje položaja v posnetku ali pripravo časovno usklajenega prikaza, celotno besedilo pa tam, kjer sta pomembna ubeseditev in ločila. Ti predstavitvi v končnem izdelku ohranite ločeni.</p><p>Jezik se zazna samodejno, ne glede na to, ali predložite neobvezen namig o jeziku. Proizvajalec za namige dokumentira kode ISO 639-1 z malimi črkami in, kadar je jezik znan, vrne kodo za logiko aplikacije ter ime jezika za prikaz. Odgovor navaja en jezik, ne vseh jezikov v posnetku, ki med njimi prehaja. Izvirno besedilo in razpoložljive jezikovne metapodatke ohranite z rezultatom, namesto da zahtevo za prepis obravnavate kot prevajanje.</p><p>Za pripravo podnapisov združite zaporedne časovno označene odseke v berljive podnapisne enote, namesto da prikazujete eno besedo naenkrat. Uporaben izhod je datoteka SRT ali WebVTT, povezana z izvirnim izsekom, z mejami enot, ki ustrezajo premorom, in obvladljivo količino besedila na zaslonu. Preverite manjkajoče časovne podatke in zagotovite, da je konec vsake enote za njenim začetkom. Združevanje podnapisov in oblikovanje datoteke sta koraka aplikacije, zgrajena na vrnjeni poravnavi; prikazne izbire naj ustrezajo predvajalniku in občinstvu.</p><p>Dokumentirane nastavitve Transcribe 1 so zvok, namig o jeziku in izbira časovnih oznak. Oznake govorcev, strukturirane govorne replike, nastavitve čustvenih dogodkov in namigi o številu govorcev pri Pro so ločene funkcije; niso del dokumentirane specifikacije odgovora tega osnovnega modela. Pred obdelavo izberite potreben izdelek: navadno berljivo besedilo za beležko ali besedilo s poravnavo za navigacijo pri predvajanju in podnapise. Ohranitev identifikatorja izseka, prepisa in vseh razpoložljivih časovnih podatkov naredi rezultat uporaben v naslednji fazi aplikacije.</p>",
  "aboutText": "Transcribe 1 je splošni model podjetja Fish Audio za pretvorbo govora v besedilo pri kratkih posnetkih. Sprejme zvočno datoteko in vrne prepoznane besede kot besedilo, skupaj s trajanjem posnetka, neobveznimi časovno označenimi odseki in podatki o jeziku, kadar so znani. Model je uporaben za kratko glasovno beležko, govorjeno navodilo, odlomek posnetka ali zvočni izsek, ki potrebuje berljivo besedilno predstavitev.\n\nPonazoritveni potek za glasovne beležke hrani posnetek skupaj s celotnim prepisom in identifikatorjem izvirnega izseka. Poznejši korak aplikacije lahko po tem besedilu išče, uredi beležko ali pripravi povzetek ter ohrani govorjeni vir. Pri ukazu prepis aplikaciji priskrbi prepoznane besede; vsako dejanje je ločen korak interpretacije in izvedbe. Pri odlomku intervjuja zabeležite položaj izseka v celotnem zvoku, da je citat mogoče preveriti na pravem mestu.\n\nProizvajalec sprejema WAV, MP3, AAC, vključno z M4A/MP4, FLAC in Ogg z Opus ali Vorbis. Brskalniške posnetke WebM je treba za ta model pretvoriti v Ogg/Opus, MP3 ali WAV; Pro ima dokumentirano nativno podporo dodatnim vsebnikom. Predložite eno zvočno datoteko na zahtevo. Dokumentirana omejitev zahteve osnovnega modela je do 50 MiB, datoteke MP3 in Opus pa morajo ostati pod 25 MiB. Velikost datoteke in dolžina posnetka sta različna vidika: stisnjena datoteka lahko ustreza omejitvi nalaganja, vendar se še vedno predolgo obdeluje.\n\nTranscribe 1 je zasnovan za kratke posnetke. Proizvajalec priporoča Pro za zvok, daljši od nekaj minut; dolga zahteva osnovnemu modelu lahko odpove, če preseže časovno omejitev obdelave. Pri pripravi daljšega vira za prepis kratkih izsekov ohranite začetni odmik vsakega izseka in pred združevanjem rezultatov potrdite, da vrnjeni prepis zajema celoten izsek. Izvirni odmik prištejte lokalnim časom odsekov, da bo navigacija ostala povezana s celotnim posnetkom. Navodil za osnovni model ne razlagajte kot ločeno 60-minutno omejitev modela Pro.\n\nProizvajalčev odgovor vključuje text, duration in segments. Trajanje je izraženo v sekundah, berljivi celotni prepis pa naj ostane primarno besedilo izseka. Časovne oznake so neobvezne: ignore_timestamps ima v proizvajalčevem API privzeto vrednost true, vrednost false pa zahteva odseke na ravni besed s text ter časoma start in end v sekundah. Zahteva za časovno poravnavo podaljša obdelavo. Prazno polje segments lahko pomeni preskočeno časovno označevanje, odsotnost govora ali začasno nedostopno poravnavo, zato ga ne razlagajte samodejno kot prazen celotni prepis.\n\nOdseki so praviloma besede, pri kitajščini in japonščini pa znak ali nekaj znakov. Njihovo besedilo izpušča ločila in lahko vrednost normalizira drugače kot celotni prepis; ni kopija berljivega odgovora znak za znakom. Odsek ima lahko enak začetni in končni čas. Odseke uporabite za iskanje položaja v posnetku ali pripravo časovno usklajenega prikaza, celotno besedilo pa tam, kjer sta pomembna ubeseditev in ločila. Ti predstavitvi v končnem izdelku ohranite ločeni.\n\nJezik se zazna samodejno, ne glede na to, ali predložite neobvezen namig o jeziku. Proizvajalec za namige dokumentira kode ISO 639-1 z malimi črkami in, kadar je jezik znan, vrne kodo za logiko aplikacije ter ime jezika za prikaz. Odgovor navaja en jezik, ne vseh jezikov v posnetku, ki med njimi prehaja. Izvirno besedilo in razpoložljive jezikovne metapodatke ohranite z rezultatom, namesto da zahtevo za prepis obravnavate kot prevajanje.\n\nZa pripravo podnapisov združite zaporedne časovno označene odseke v berljive podnapisne enote, namesto da prikazujete eno besedo naenkrat. Uporaben izhod je datoteka SRT ali WebVTT, povezana z izvirnim izsekom, z mejami enot, ki ustrezajo premorom, in obvladljivo količino besedila na zaslonu. Preverite manjkajoče časovne podatke in zagotovite, da je konec vsake enote za njenim začetkom. Združevanje podnapisov in oblikovanje datoteke sta koraka aplikacije, zgrajena na vrnjeni poravnavi; prikazne izbire naj ustrezajo predvajalniku in občinstvu.\n\nDokumentirane nastavitve Transcribe 1 so zvok, namig o jeziku in izbira časovnih oznak. Oznake govorcev, strukturirane govorne replike, nastavitve čustvenih dogodkov in namigi o številu govorcev pri Pro so ločene funkcije; niso del dokumentirane specifikacije odgovora tega osnovnega modela. Pred obdelavo izberite potreben izdelek: navadno berljivo besedilo za beležko ali besedilo s poravnavo za navigacijo pri predvajanju in podnapise. Ohranitev identifikatorja izseka, prepisa in vseh razpoložljivih časovnih podatkov naredi rezultat uporaben v naslednji fazi aplikacije.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "2f3190d0fe58815aab5d1ab2e0469dd48e9acd8b7cf95170cf7d13a677ff6309",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "sl",
  "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=\"Zapri\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/transcribe-1</code><button type=\"button\" id=\"copy-id\">Kopiraj ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Razdelki kartice modela\"><button type=\"button\" data-card-jump=\"overview\">Začetek</button><button type=\"button\" data-card-jump=\"methods\">Vhodi in metode</button><button type=\"button\" data-card-jump=\"pricing\">Cenik</button><button type=\"button\" data-card-jump=\"examples\">Primeri</button><button type=\"button\" data-card-jump=\"results\">Rezultati</button><button type=\"button\" data-card-jump=\"aliases\">Druga imena</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metode API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1\">Prepoznavanje</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\">Začetek</h3><p class=\"mdesc-full\">Transcribe 1 pretvarja kratke zvočne posnetke v besedilo s samodejnim prepoznavanjem jezika in neobveznimi časovnimi oznakami posameznih besed. Prepis uporabite za glasovne beležke, iskljive posnetke ali pripravo podnapisov, pri čemer časovno označene odseke hranite ločeno od berljivega celotnega besedila.</p><dl class=\"card-io\" data-card-io><div><dt>Dovoljeni vhodi</dt><dd>Zvok</dd></div><div><dt>Rezultati</dt><dd>Besedilo</dd></div></dl><details class=\"card-about\"><summary>O modelu</summary><p class=\"note-s\" data-model-method-boundary>Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.</p><div class=\"mabout\" id=\"m-about\"><p>Transcribe 1 je splošni model podjetja Fish Audio za pretvorbo govora v besedilo pri kratkih posnetkih. Sprejme zvočno datoteko in vrne prepoznane besede kot besedilo, skupaj s trajanjem posnetka, neobveznimi časovno označenimi odseki in podatki o jeziku, kadar so znani. Model je uporaben za kratko glasovno beležko, govorjeno navodilo, odlomek posnetka ali zvočni izsek, ki potrebuje berljivo besedilno predstavitev.</p><p>Ponazoritveni potek za glasovne beležke hrani posnetek skupaj s celotnim prepisom in identifikatorjem izvirnega izseka. Poznejši korak aplikacije lahko po tem besedilu išče, uredi beležko ali pripravi povzetek ter ohrani govorjeni vir. Pri ukazu prepis aplikaciji priskrbi prepoznane besede; vsako dejanje je ločen korak interpretacije in izvedbe. Pri odlomku intervjuja zabeležite položaj izseka v celotnem zvoku, da je citat mogoče preveriti na pravem mestu.</p><p>Proizvajalec sprejema WAV, MP3, AAC, vključno z M4A/MP4, FLAC in Ogg z Opus ali Vorbis. Brskalniške posnetke WebM je treba za ta model pretvoriti v Ogg/Opus, MP3 ali WAV; Pro ima dokumentirano nativno podporo dodatnim vsebnikom. Predložite eno zvočno datoteko na zahtevo. Dokumentirana omejitev zahteve osnovnega modela je do 50 MiB, datoteke MP3 in Opus pa morajo ostati pod 25 MiB. Velikost datoteke in dolžina posnetka sta različna vidika: stisnjena datoteka lahko ustreza omejitvi nalaganja, vendar se še vedno predolgo obdeluje.</p><p>Transcribe 1 je zasnovan za kratke posnetke. Proizvajalec priporoča Pro za zvok, daljši od nekaj minut; dolga zahteva osnovnemu modelu lahko odpove, če preseže časovno omejitev obdelave. Pri pripravi daljšega vira za prepis kratkih izsekov ohranite začetni odmik vsakega izseka in pred združevanjem rezultatov potrdite, da vrnjeni prepis zajema celoten izsek. Izvirni odmik prištejte lokalnim časom odsekov, da bo navigacija ostala povezana s celotnim posnetkom. Navodil za osnovni model ne razlagajte kot ločeno 60-minutno omejitev modela Pro.</p><p>Proizvajalčev odgovor vključuje text, duration in segments. Trajanje je izraženo v sekundah, berljivi celotni prepis pa naj ostane primarno besedilo izseka. Časovne oznake so neobvezne: ignore_timestamps ima v proizvajalčevem API privzeto vrednost true, vrednost false pa zahteva odseke na ravni besed s text ter časoma start in end v sekundah. Zahteva za časovno poravnavo podaljša obdelavo. Prazno polje segments lahko pomeni preskočeno časovno označevanje, odsotnost govora ali začasno nedostopno poravnavo, zato ga ne razlagajte samodejno kot prazen celotni prepis.</p><p>Odseki so praviloma besede, pri kitajščini in japonščini pa znak ali nekaj znakov. Njihovo besedilo izpušča ločila in lahko vrednost normalizira drugače kot celotni prepis; ni kopija berljivega odgovora znak za znakom. Odsek ima lahko enak začetni in končni čas. Odseke uporabite za iskanje položaja v posnetku ali pripravo časovno usklajenega prikaza, celotno besedilo pa tam, kjer sta pomembna ubeseditev in ločila. Ti predstavitvi v končnem izdelku ohranite ločeni.</p><p>Jezik se zazna samodejno, ne glede na to, ali predložite neobvezen namig o jeziku. Proizvajalec za namige dokumentira kode ISO 639-1 z malimi črkami in, kadar je jezik znan, vrne kodo za logiko aplikacije ter ime jezika za prikaz. Odgovor navaja en jezik, ne vseh jezikov v posnetku, ki med njimi prehaja. Izvirno besedilo in razpoložljive jezikovne metapodatke ohranite z rezultatom, namesto da zahtevo za prepis obravnavate kot prevajanje.</p><p>Za pripravo podnapisov združite zaporedne časovno označene odseke v berljive podnapisne enote, namesto da prikazujete eno besedo naenkrat. Uporaben izhod je datoteka SRT ali WebVTT, povezana z izvirnim izsekom, z mejami enot, ki ustrezajo premorom, in obvladljivo količino besedila na zaslonu. Preverite manjkajoče časovne podatke in zagotovite, da je konec vsake enote za njenim začetkom. Združevanje podnapisov in oblikovanje datoteke sta koraka aplikacije, zgrajena na vrnjeni poravnavi; prikazne izbire naj ustrezajo predvajalniku in občinstvu.</p><p>Dokumentirane nastavitve Transcribe 1 so zvok, namig o jeziku in izbira časovnih oznak. Oznake govorcev, strukturirane govorne replike, nastavitve čustvenih dogodkov in namigi o številu govorcev pri Pro so ločene funkcije; niso del dokumentirane specifikacije odgovora tega osnovnega modela. Pred obdelavo izberite potreben izdelek: navadno berljivo besedilo za beležko ali besedilo s poravnavo za navigacijo pri predvajanju in podnapise. Ohranitev identifikatorja izseka, prepisa in vseh razpoložljivih časovnih podatkov naredi rezultat uporaben v naslednji fazi aplikacije.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Na voljo v Ailoot · vhodi in metode</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Prepisovanje</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Vhod</dt><dd><code>audio</code></dd></div><div><dt>Izhod</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Polje</th><th>Vrsta</th><th>Zahteva</th><th>Vrednosti in omejitve</th><th>Privzeto</th></tr></thead><tbody><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Obvezno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>fish-audio/transcribe-1</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>object</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Obvezno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parametri in življenjski cikel metode</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Specifikacija</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>model, input_audio</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>audio</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_conditions</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>Primer prebere vašo dejansko neprazno datoteko PCM WAV, vse njene bajte kodira kot base64 in pošlje input_audio.format kot wav.</td></tr></tbody></table></div><p>Življenjski cikel: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · natančni task_id iz obstoječega zapisa medija v vaši lasti</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\">Cenik</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.</p><dl data-price-conditions><dt>Hitri način</dt><dd>Ni navedeno <span class=\"note-s\">Ko je izbran hitri način</span></dd><dt>Način flex</dt><dd>Ni navedeno <span class=\"note-s\">Ko je izbran način flex</span></dd><dt>Najvišja raven razmišljanja</dt><dd>Ni navedeno <span class=\"note-s\">Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Cene Ailoot</h4><h4>Cene po nastavitvah</h4><p class=\"note-s\">Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Nastavitev</th><th>Cenovna lestvica</th><th>Obračunska enota</th><th>Strošek</th></tr></thead><tbody><tr><th data-cell-label=\"Nastavitev\" scope=\"row\"><span class=\"card-cell-label\">Nastavitev</span>Osnovne cene žetonov</th><td data-cell-label=\"Cenovna lestvica\"><span class=\"card-cell-label\">Cenovna lestvica</span>Osnovna cena</td><td data-cell-label=\"Obračunska enota\"><span class=\"card-cell-label\">Obračunska enota</span>—</td><td data-cell-label=\"Strošek\"><span class=\"card-cell-label\">Strošek</span><div><span>Vhod · Vhodni žetoni</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Izhod · Izhodni žetoni</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Vhod · Branje predpomnilnika</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Vhod · Zapis v predpomnilnik</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Vhod · Zapis v predpomnilnik, 1 ura</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div></td></tr><tr><th data-cell-label=\"Nastavitev\" scope=\"row\"><span class=\"card-cell-label\">Nastavitev</span>sekunda vhodnega zvoka</th><td data-cell-label=\"Cenovna lestvica\"><span class=\"card-cell-label\">Cenovna lestvica</span>—</td><td data-cell-label=\"Obračunska enota\"><span class=\"card-cell-label\">Obračunska enota</span>na sekundo vhodnega zvoka</td><td data-cell-label=\"Strošek\"><span class=\"card-cell-label\">Strošek</span><div><span>Vhod · sekunda vhodnega zvoka</span> <b>$0.0002</b> <span class=\"price-unit\">na sekundo vhodnega zvoka</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. <a href=\"/docs/sl/billing/reserve/\">Kako delujeta rezervacija in obračun →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Primeri zahtev</h3><h4>Ailoot Ultra · Prepisovanje</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Primeri kode\"><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 · dejanska datoteka WAV in celoten izvirni rezultat</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiraj kodo\"><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\">Prejmi in shrani rezultate</h3><h4>Ailoot Ultra · Prepisovanje</h4><p class=\"note-s\">Celotno izvirno telo odgovora, stanje in posredovane glave. Ta obdelovalnik ne dodaja univerzalne strukture JSON, besedilnega polja ali ovoja opravila.</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>Ohrani vse dokončane rezultate</h5><p class=\"note-s\">Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.</p><p class=\"note-s\">Shranite celoten odgovor in glave, vse dejanske izhode, izvirne vrnjene identifikatorje in vsa polja s podatki o porabi. Pridobite podatke izvirne operacije brez ponovnega pošiljanja zahteve za ustvarjanje.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Če je treba preveriti izvirni odgovor</h5><p class=\"note-s\">Ohranite dejanski X-Client-Request-ID in celoten odgovor. Berite prvotna sredstva v vaši lasti in njihove natančne podpisane URL-je vsebine; negotovega ustvarjanja nikoli ne oddajte znova.</p></div><details class=\"card-about\" data-output-fields><summary>Polja odgovora</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Polje</th><th>Vrsta</th></tr></thead><tbody><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span></td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Napake in naslednji koraki</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Odgovor</th><th>Pogoj</th><th>Naslednji korak</th></tr></thead><tbody><tr><th data-cell-label=\"Odgovor\" scope=\"row\"><span class=\"card-cell-label\">Odgovor</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Pogoj\"><span class=\"card-cell-label\">Pogoj</span>Telo JSON ali izrecni kanonični ID modela ni veljaven.</td><td data-cell-label=\"Naslednji korak\"><span class=\"card-cell-label\">Naslednji korak</span>Ohranite odgovor in popravite navedeno polje zahteve.</td></tr><tr><th data-cell-label=\"Odgovor\" scope=\"row\"><span class=\"card-cell-label\">Odgovor</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Pogoj\"><span class=\"card-cell-label\">Pogoj</span>Ključ Ailoot API ni veljaven.</td><td data-cell-label=\"Naslednji korak\"><span class=\"card-cell-label\">Naslednji korak</span>Uporabite svoj pooblaščeni ključ Ailoot API.</td></tr><tr><th data-cell-label=\"Odgovor\" scope=\"row\"><span class=\"card-cell-label\">Odgovor</span>403 · <code>permission_error</code></th><td data-cell-label=\"Pogoj\"><span class=\"card-cell-label\">Pogoj</span>Skupina ključa ne dovoljuje te metode.</td><td data-cell-label=\"Naslednji korak\"><span class=\"card-cell-label\">Naslednji korak</span>Ohranite vrnjene podrobnosti napake.</td></tr><tr><th data-cell-label=\"Odgovor\" scope=\"row\"><span class=\"card-cell-label\">Odgovor</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Pogoj\"><span class=\"card-cell-label\">Pogoj</span>Izbrana metoda nima dovoljene poti.</td><td data-cell-label=\"Naslednji korak\"><span class=\"card-cell-label\">Naslednji korak</span>Ohranite vrnjene podrobnosti napake.</td></tr><tr><th data-cell-label=\"Odgovor\" scope=\"row\"><span class=\"card-cell-label\">Odgovor</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Pogoj\"><span class=\"card-cell-label\">Pogoj</span>Sprejeta tarifa ne more pridobiti zahtevane vhodne količine ali meje.</td><td data-cell-label=\"Naslednji korak\"><span class=\"card-cell-label\">Naslednji korak</span>Ohranite odgovor; uporabite vhodno predstavitev, ki jo zahteva sprejeta tarifa.</td></tr><tr><th data-cell-label=\"Odgovor\" scope=\"row\"><span class=\"card-cell-label\">Odgovor</span>503 · <code></code></th><td data-cell-label=\"Pogoj\"><span class=\"card-cell-label\">Pogoj</span>Zahtevana shramba, pot, cena metode ali rezervacija ni na voljo.</td><td data-cell-label=\"Naslednji korak\"><span class=\"card-cell-label\">Naslednji korak</span>Ohranite celoten prvotni odgovor. Negotova rezervacija ne dovoljuje ponovne oddaje.</td></tr><tr><th data-cell-label=\"Odgovor\" scope=\"row\"><span class=\"card-cell-label\">Odgovor</span>502 · <code>server_error</code></th><td data-cell-label=\"Pogoj\"><span class=\"card-cell-label\">Pogoj</span>Prvotni rezultat, porabo ali obračun je treba preveriti.</td><td data-cell-label=\"Naslednji korak\"><span class=\"card-cell-label\">Naslednji korak</span>Ohranite dejanski ID zahteve in prvotni odgovor. Berite obstoječi zapis v vaši lasti; ustvarjanja ne oddajte znova.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Druga imena</h3><h4>Druga imena modelov</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>Druga imena poti metod</h4><p class=\"note-s\">Uporabite zgoraj navedene poti metod.</p><h4>Povezani ID-ji za klic</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": "Telo JSON ali izrecni kanonični ID modela ni veljaven.",
                "http_status": 400,
                "recovery": "Ohranite odgovor in popravite navedeno polje zahteve.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ključ Ailoot API ni veljaven.",
                "http_status": 401,
                "recovery": "Uporabite svoj pooblaščeni ključ Ailoot API.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Skupina ključa ne dovoljuje te metode.",
                "http_status": 403,
                "recovery": "Ohranite vrnjene podrobnosti napake.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Izbrana metoda nima dovoljene poti.",
                "http_status": 404,
                "recovery": "Ohranite vrnjene podrobnosti napake.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Sprejeta tarifa ne more pridobiti zahtevane vhodne količine ali meje.",
                "http_status": 422,
                "recovery": "Ohranite odgovor; uporabite vhodno predstavitev, ki jo zahteva sprejeta tarifa.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Zahtevana shramba, pot, cena metode ali rezervacija ni na voljo.",
                "http_status": 503,
                "recovery": "Ohranite celoten prvotni odgovor. Negotova rezervacija ne dovoljuje ponovne oddaje.",
                "type": null
              },
              {
                "code": null,
                "condition": "Prvotni rezultat, porabo ali obračun je treba preveriti.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Ohranite dejanski ID zahteve in prvotni odgovor. Berite obstoječi zapis v vaši lasti; ustvarjanja ne oddajte znova.",
                "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": "Ohranite dejanski X-Client-Request-ID in celoten odgovor. Berite prvotna sredstva v vaši lasti in njihove natančne podpisane URL-je vsebine; negotovega ustvarjanja nikoli ne oddajte znova."
            },
            "outputs": {
              "all_results": "Shranite celoten odgovor in glave, vse dejanske izhode, izvirne vrnjene identifikatorje in vsa polja s podatki o porabi. Pridobite podatke izvirne operacije brez ponovnega pošiljanja zahteve za ustvarjanje.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Celotno izvirno telo odgovora, stanje in posredovane glave. Ta obdelovalnik ne dodaja univerzalne strukture JSON, besedilnega polja ali ovoja opravila."
            },
            "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": [
              "Primer prebere vašo dejansko neprazno datoteko PCM WAV, vse njene bajte kodira kot base64 in pošlje input_audio.format kot wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "natančni task_id iz obstoječega zapisa medija v vaši lasti",
                "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": "Prepisovanje",
        "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": "5bdf8660088d5a2d1fa2fc768ee559488960acd93d290f389fff91d2b56d6451",
    "input_html_sha256": "f6f08da1275918f2649efc012ec127ac5813126cb76b78851bd9b7de5090c69b",
    "private_audit_sha256": "21a1c2a45ea8b1e94c8e2c6709c272262681a5581eb8b10e7fc265c640840710",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/sl/fish-audio-transcribe-1/",
    "description": "Transcribe 1 pretvarja kratke zvočne posnetke v besedilo s samodejnim prepoznavanjem jezika in neobveznimi časovnimi oznakami posameznih besed. Prepis uporabite za glasovne beležke, iskljive posnetke ali pripravo podnapisov, pri čemer časovno označene odseke hranite ločeno od berljivega celotnega besedila.",
    "locale": "sl",
    "md_url": "https://ailoot.ai/models/sl/fish-audio-transcribe-1/index.md",
    "title": "Fish Audio: Transcribe 1 — Ailoot",
    "url": "https://ailoot.ai/models/sl/fish-audio-transcribe-1/"
  },
  "rawModel": {
    "about": "Transcribe 1 je splošni model podjetja Fish Audio za pretvorbo govora v besedilo pri kratkih posnetkih. Sprejme zvočno datoteko in vrne prepoznane besede kot besedilo, skupaj s trajanjem posnetka, neobveznimi časovno označenimi odseki in podatki o jeziku, kadar so znani. Model je uporaben za kratko glasovno beležko, govorjeno navodilo, odlomek posnetka ali zvočni izsek, ki potrebuje berljivo besedilno predstavitev.\n\nPonazoritveni potek za glasovne beležke hrani posnetek skupaj s celotnim prepisom in identifikatorjem izvirnega izseka. Poznejši korak aplikacije lahko po tem besedilu išče, uredi beležko ali pripravi povzetek ter ohrani govorjeni vir. Pri ukazu prepis aplikaciji priskrbi prepoznane besede; vsako dejanje je ločen korak interpretacije in izvedbe. Pri odlomku intervjuja zabeležite položaj izseka v celotnem zvoku, da je citat mogoče preveriti na pravem mestu.\n\nProizvajalec sprejema WAV, MP3, AAC, vključno z M4A/MP4, FLAC in Ogg z Opus ali Vorbis. Brskalniške posnetke WebM je treba za ta model pretvoriti v Ogg/Opus, MP3 ali WAV; Pro ima dokumentirano nativno podporo dodatnim vsebnikom. Predložite eno zvočno datoteko na zahtevo. Dokumentirana omejitev zahteve osnovnega modela je do 50 MiB, datoteke MP3 in Opus pa morajo ostati pod 25 MiB. Velikost datoteke in dolžina posnetka sta različna vidika: stisnjena datoteka lahko ustreza omejitvi nalaganja, vendar se še vedno predolgo obdeluje.\n\nTranscribe 1 je zasnovan za kratke posnetke. Proizvajalec priporoča Pro za zvok, daljši od nekaj minut; dolga zahteva osnovnemu modelu lahko odpove, če preseže časovno omejitev obdelave. Pri pripravi daljšega vira za prepis kratkih izsekov ohranite začetni odmik vsakega izseka in pred združevanjem rezultatov potrdite, da vrnjeni prepis zajema celoten izsek. Izvirni odmik prištejte lokalnim časom odsekov, da bo navigacija ostala povezana s celotnim posnetkom. Navodil za osnovni model ne razlagajte kot ločeno 60-minutno omejitev modela Pro.\n\nProizvajalčev odgovor vključuje text, duration in segments. Trajanje je izraženo v sekundah, berljivi celotni prepis pa naj ostane primarno besedilo izseka. Časovne oznake so neobvezne: ignore_timestamps ima v proizvajalčevem API privzeto vrednost true, vrednost false pa zahteva odseke na ravni besed s text ter časoma start in end v sekundah. Zahteva za časovno poravnavo podaljša obdelavo. Prazno polje segments lahko pomeni preskočeno časovno označevanje, odsotnost govora ali začasno nedostopno poravnavo, zato ga ne razlagajte samodejno kot prazen celotni prepis.\n\nOdseki so praviloma besede, pri kitajščini in japonščini pa znak ali nekaj znakov. Njihovo besedilo izpušča ločila in lahko vrednost normalizira drugače kot celotni prepis; ni kopija berljivega odgovora znak za znakom. Odsek ima lahko enak začetni in končni čas. Odseke uporabite za iskanje položaja v posnetku ali pripravo časovno usklajenega prikaza, celotno besedilo pa tam, kjer sta pomembna ubeseditev in ločila. Ti predstavitvi v končnem izdelku ohranite ločeni.\n\nJezik se zazna samodejno, ne glede na to, ali predložite neobvezen namig o jeziku. Proizvajalec za namige dokumentira kode ISO 639-1 z malimi črkami in, kadar je jezik znan, vrne kodo za logiko aplikacije ter ime jezika za prikaz. Odgovor navaja en jezik, ne vseh jezikov v posnetku, ki med njimi prehaja. Izvirno besedilo in razpoložljive jezikovne metapodatke ohranite z rezultatom, namesto da zahtevo za prepis obravnavate kot prevajanje.\n\nZa pripravo podnapisov združite zaporedne časovno označene odseke v berljive podnapisne enote, namesto da prikazujete eno besedo naenkrat. Uporaben izhod je datoteka SRT ali WebVTT, povezana z izvirnim izsekom, z mejami enot, ki ustrezajo premorom, in obvladljivo količino besedila na zaslonu. Preverite manjkajoče časovne podatke in zagotovite, da je konec vsake enote za njenim začetkom. Združevanje podnapisov in oblikovanje datoteke sta koraka aplikacije, zgrajena na vrnjeni poravnavi; prikazne izbire naj ustrezajo predvajalniku in občinstvu.\n\nDokumentirane nastavitve Transcribe 1 so zvok, namig o jeziku in izbira časovnih oznak. Oznake govorcev, strukturirane govorne replike, nastavitve čustvenih dogodkov in namigi o številu govorcev pri Pro so ločene funkcije; niso del dokumentirane specifikacije odgovora tega osnovnega modela. Pred obdelavo izberite potreben izdelek: navadno berljivo besedilo za beležko ali besedilo s poravnavo za navigacijo pri predvajanju in podnapise. Ohranitev identifikatorja izseka, prepisa in vseh razpoložljivih časovnih podatkov naredi rezultat uporaben v naslednji fazi aplikacije.",
    "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": "Celoten cenik konfiguracije je v podrobnostih."
      }
    ],
    "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": "Telo JSON ali izrecni kanonični ID modela ni veljaven.",
                "http_status": 400,
                "recovery": "Ohranite odgovor in popravite navedeno polje zahteve.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ključ Ailoot API ni veljaven.",
                "http_status": 401,
                "recovery": "Uporabite svoj pooblaščeni ključ Ailoot API.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Skupina ključa ne dovoljuje te metode.",
                "http_status": 403,
                "recovery": "Ohranite vrnjene podrobnosti napake.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Izbrana metoda nima dovoljene poti.",
                "http_status": 404,
                "recovery": "Ohranite vrnjene podrobnosti napake.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Sprejeta tarifa ne more pridobiti zahtevane vhodne količine ali meje.",
                "http_status": 422,
                "recovery": "Ohranite odgovor; uporabite vhodno predstavitev, ki jo zahteva sprejeta tarifa.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Zahtevana shramba, pot, cena metode ali rezervacija ni na voljo.",
                "http_status": 503,
                "recovery": "Ohranite celoten prvotni odgovor. Negotova rezervacija ne dovoljuje ponovne oddaje.",
                "type": null
              },
              {
                "code": null,
                "condition": "Prvotni rezultat, porabo ali obračun je treba preveriti.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Ohranite dejanski ID zahteve in prvotni odgovor. Berite obstoječi zapis v vaši lasti; ustvarjanja ne oddajte znova.",
                "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": "Ohranite dejanski X-Client-Request-ID in celoten odgovor. Berite prvotna sredstva v vaši lasti in njihove natančne podpisane URL-je vsebine; negotovega ustvarjanja nikoli ne oddajte znova."
            },
            "outputs": {
              "all_results": "Shranite celoten odgovor in glave, vse dejanske izhode, izvirne vrnjene identifikatorje in vsa polja s podatki o porabi. Pridobite podatke izvirne operacije brez ponovnega pošiljanja zahteve za ustvarjanje.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Celotno izvirno telo odgovora, stanje in posredovane glave. Ta obdelovalnik ne dodaja univerzalne strukture JSON, besedilnega polja ali ovoja opravila."
            },
            "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": [
              "Primer prebere vašo dejansko neprazno datoteko PCM WAV, vse njene bajte kodira kot base64 in pošlje input_audio.format kot wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "natančni task_id iz obstoječega zapisa medija v vaši lasti",
                "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": "Prepisovanje",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.0002
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "fish-audio/transcribe-1",
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: Transcribe 1",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Transcribe 1 pretvarja kratke zvočne posnetke v besedilo s samodejnim prepoznavanjem jezika in neobveznimi časovnimi oznakami posameznih besed. Prepis uporabite za glasovne beležke, iskljive posnetke ali pripravo podnapisov, pri čemer časovno označene odseke hranite ločeno od berljivega celotnega besedila."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Transcribe 1 pretvarja kratke zvočne posnetke v besedilo s samodejnim prepoznavanjem jezika in neobveznimi časovnimi oznakami posameznih besed. Prepis uporabite za glasovne beležke, iskljive posnetke ali pripravo podnapisov, pri čemer časovno označene odseke hranite ločeno od berljivega celotnega besedila.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "847334ac3c8c58de4db737262a3cae354c18d173be6489a44ddccf266a06109c",
    "renderer_sha256": "dcba2271c18b0f9570a8b166e8d1e3166f121e096a58609c3a46da31562a1bf2"
  },
  "sourceRevision": "9e21ae6bc81321f0af3f1ca91cb49895db3eca770cffb1e4a6c5e682b3c0e546"
}
