{
  "aboutHtml": "<p>ElevenLabs Scribe v2 on tallennetun äänen, litteroinnin ja tekstityksen eräajona toimiva puheentunnistusmalli. Se perustuu Scribe v1:een ja käsittelee aiempaa paremmin pitkiä tallenteita, taukoja, äänensävyn muutoksia ja pitkiä hiljaisia jaksoja. Tuloksena on kirjoitettua puhetta, jossa on aikatiedot sekä valinnaiset puhuja- ja äänitapahtumamerkinnät. Scribe v2 Realtime on erillinen reaaliaikainen litterointiversio. Tämän mallin tarkoitus on käsitellä kokonaisia tallenteita.</p><p>Valmistaja dokumentoi yli 90 kielen tunnistuksen ja automaattisen kielentunnistuksen, myös tallenteissa, joissa kieli vaihtuu. Vihje tunnetusta kielestä voi auttaa mallia tulkitsemaan ääntä. Valmistele selkeä tallenne, säilytä alkuperäinen kieli ja nimet sekä vältä voimakasta äänen leikkautumista tai tarpeetonta käsittelyä, joka poistaa puheen yksityiskohtia. Yleisiä dokumentoituja syötemuotoja ovat WAV, MP3, FLAC, M4A, AAC, OGG, Opus ja WebM. Valitse litterointitoteutuksen tukema syötemuoto ja säilytä lähdetallenne tarkistusta varten.</p><p>Vakiovastaus sisältää tunnistetun tekstin, tiedot tunnistetusta kielestä ja aikaleimattujen sanojen sarjan. Sanatietueet voivat sisältää alku- ja loppuajat, puhujatunnisteet ja tunnistuksen logaritmisen todennäköisyyden. Näiden ansiosta tulos sopii tekstityksiin, haettaviin haastatteluihin tai editoriin, joka siirtyy takaisin olennaiseen ääneen. Säilytä aikaleimattu tulos lähdeäänen yhteydessä. Esimerkiksi podcastin tuotos voi olla muokattava litterointi ja sanatasolla kohdistettu tietue, jonka avulla korjaukset löytyvät ennen tekstitysten järjestämistä.</p><p>Puhujien erottelu merkitsee, kuka puhuu milloinkin usean puhujan äänessä. Valmistaja dokumentoi tuen enintään 32 puhujalle. Ota toiminto käyttöön, kun puheenvuorot ovat tärkeitä, ja anna perusteltu puhujamäärä, jos se tiedetään. Erota tunnistettu puhujatunniste varmennetusta henkilön nimestä. Tarkista haastattelun tai kokouksen puheenvuorojen vaihtuminen tallenteesta erityisesti silloin, kun äänet menevät päällekkäin tai kuulostavat samanlaisilta. Tunniste auttaa jäsentämään litterointia, mutta ei itsenäisesti osoita puhujan henkilöllisyyttä.</p><p>Tallenteen rakenne, jossa kullakin kanavalla on yksi puhuja, eroaa usean äänen yhdistämisestä yhteen kanavaan. Valmistajan rajapinta voi käsitellä enintään viisi kanavaa erikseen ja palauttaa erilliset litteroinnit tai ajan mukaan järjestetyn yhdistetyn litteroinnin kanavaindekseineen. Säilytä tämä kanavarakenne, kun sillä on merkitystä. Eri kanaviin jaetun puhelutallenteen yhdistäminen ennen litterointia voi hävittää hyödyllisen puhujatietojen lähteen. Pidä kanavaan perustuva kohdistus erillään sekoitetusta äänestä päätellystä puhujien erottelusta. Yhdistetty kanavavastaus edellyttää aikaleimoja eikä voi sisältää entiteettien tunnistusta tai peittämistä.</p><p>Avaintermikehote ohjaa nimien, tuotetermien ja erikoissanaston tunnistusta asiayhteyden avulla. Nykyinen eräajodokumentaatio sallii enintään 1 000 termiä. Kunkin termin on oltava alle 50 merkkiä pitkä ja enintään viiden sanan mittainen. Anna olennaiset kirjoitusasut laajan asiaankuulumattoman luettelon sijaan. Anna teknistä haastattelua varten todennäköisesti esiintyvät tuotenimet ja lyhenteet ja tarkista sitten ne tuloksesta aikaleimojen kohdalta. Avaintermit painottavat tunnistusta. Ne eivät ole ohjeita lisätä termiä, jota tallenne ei tue.</p><p>Valitse litteroinnin käyttötarkoitus ennen siistimistä. Sanatarkka tallenne säilyttää puhutun sanamuodon, kun taas dokumentoitu no-verbatim-vaihtoehto poistaa täytesanat, kesken jääneet aloitukset ja puheen sujumattomuudet, jotta tulos olisi luettavampi. Dynaaminen äänitapahtumien tunnistus voi merkitä muita kuin puhetapahtumia, kuten naurua tai askelia. Viimeistelty litterointi voi sopia tekstityksiin tai lukemiseen, mutta se ei saa huomaamatta korvata alkuperäistä tallennetta, kun toistot, korjaukset tai muut äänet ovat tehtävälle tärkeitä.</p><p>Valmistaja dokumentoi myös entiteettien tunnistuksen ja kokeellisen litteroinnin muokkauksen. Litteroinnin muokkausta ei voi yhdistää valmistajan rajapinnassa entiteettien tunnistukseen, entiteettien peittämiseen tai monikanavaiseen litterointiin. Tunnistetut entiteetit antavat rakenteiset sijainnit litteroinnin valituille tiedoille. Valinnainen entiteettien peittäminen peittää tunnistetun tekstin korvaavilla tunnisteilla. Se edellyttää entiteettien tunnistusta, eikä entiteettiluetteloa palauteta peittämisen ollessa käytössä. Peittäminen tapahtuu litteroinnin aikana yleisellä korvausmerkinnällä, luokkatunnisteella tai numeroidulla luokkatunnisteella. Automaattinen peittäminen voi jättää arkaluonteista sisältöä havaitsematta, joten tarkista peitetty litterointi ennen sen jakamista. Luonnollisella kielellä tehty muokkaus palauttaa muokatun tekstin alkuperäisen tuloksen rinnalle ja säilyttää alkuperäisen aika- ja puhujatietueen käytettävissä. Pidä nämä tuotokset erillisinä. Korjattu kirjoitusasu tai uudelleen muotoiltu lause saattaa vaatia uuden tarkistuksen ennen kohdistamista ääneen tai käyttöä myöhemmässä tietojen poiminnassa. Nämä ominaisuudet käsittelevät litterointia, mutta eivät osoita, että jokainen tärkeä yksityiskohta tunnistettiin oikein.</p><p>Tarkista valmista litterointia varten nimet, numerot, kiellot ja puhujanvaihdokset palaamalla vastaavaan ääneen. Kiinnitä huomiota hiljaisiin kohtiin, päällekkäiseen puheeseen ja kielenvaihtoihin sen sijaan, että arvioisit laatua vain tekstin sujuvuudesta. Säilytä epävarma sanamuoto korjattavaksi sen sijaan, että täydentäisit kuulumattoman kohdan uskottavalla lauseella. Hyödyllinen tulos on tarkistettu tekstitallenne, jossa on käyttötarkoituksen edellyttämät aika- ja puhujatiedot. Litterointi voi tämän jälkeen toimia erillisen yhteenvedon, käännöksen tai analyysin syötteenä.</p>",
  "aboutText": "ElevenLabs Scribe v2 on tallennetun äänen, litteroinnin ja tekstityksen eräajona toimiva puheentunnistusmalli. Se perustuu Scribe v1:een ja käsittelee aiempaa paremmin pitkiä tallenteita, taukoja, äänensävyn muutoksia ja pitkiä hiljaisia jaksoja. Tuloksena on kirjoitettua puhetta, jossa on aikatiedot sekä valinnaiset puhuja- ja äänitapahtumamerkinnät. Scribe v2 Realtime on erillinen reaaliaikainen litterointiversio. Tämän mallin tarkoitus on käsitellä kokonaisia tallenteita.\n\nValmistaja dokumentoi yli 90 kielen tunnistuksen ja automaattisen kielentunnistuksen, myös tallenteissa, joissa kieli vaihtuu. Vihje tunnetusta kielestä voi auttaa mallia tulkitsemaan ääntä. Valmistele selkeä tallenne, säilytä alkuperäinen kieli ja nimet sekä vältä voimakasta äänen leikkautumista tai tarpeetonta käsittelyä, joka poistaa puheen yksityiskohtia. Yleisiä dokumentoituja syötemuotoja ovat WAV, MP3, FLAC, M4A, AAC, OGG, Opus ja WebM. Valitse litterointitoteutuksen tukema syötemuoto ja säilytä lähdetallenne tarkistusta varten.\n\nVakiovastaus sisältää tunnistetun tekstin, tiedot tunnistetusta kielestä ja aikaleimattujen sanojen sarjan. Sanatietueet voivat sisältää alku- ja loppuajat, puhujatunnisteet ja tunnistuksen logaritmisen todennäköisyyden. Näiden ansiosta tulos sopii tekstityksiin, haettaviin haastatteluihin tai editoriin, joka siirtyy takaisin olennaiseen ääneen. Säilytä aikaleimattu tulos lähdeäänen yhteydessä. Esimerkiksi podcastin tuotos voi olla muokattava litterointi ja sanatasolla kohdistettu tietue, jonka avulla korjaukset löytyvät ennen tekstitysten järjestämistä.\n\nPuhujien erottelu merkitsee, kuka puhuu milloinkin usean puhujan äänessä. Valmistaja dokumentoi tuen enintään 32 puhujalle. Ota toiminto käyttöön, kun puheenvuorot ovat tärkeitä, ja anna perusteltu puhujamäärä, jos se tiedetään. Erota tunnistettu puhujatunniste varmennetusta henkilön nimestä. Tarkista haastattelun tai kokouksen puheenvuorojen vaihtuminen tallenteesta erityisesti silloin, kun äänet menevät päällekkäin tai kuulostavat samanlaisilta. Tunniste auttaa jäsentämään litterointia, mutta ei itsenäisesti osoita puhujan henkilöllisyyttä.\n\nTallenteen rakenne, jossa kullakin kanavalla on yksi puhuja, eroaa usean äänen yhdistämisestä yhteen kanavaan. Valmistajan rajapinta voi käsitellä enintään viisi kanavaa erikseen ja palauttaa erilliset litteroinnit tai ajan mukaan järjestetyn yhdistetyn litteroinnin kanavaindekseineen. Säilytä tämä kanavarakenne, kun sillä on merkitystä. Eri kanaviin jaetun puhelutallenteen yhdistäminen ennen litterointia voi hävittää hyödyllisen puhujatietojen lähteen. Pidä kanavaan perustuva kohdistus erillään sekoitetusta äänestä päätellystä puhujien erottelusta. Yhdistetty kanavavastaus edellyttää aikaleimoja eikä voi sisältää entiteettien tunnistusta tai peittämistä.\n\nAvaintermikehote ohjaa nimien, tuotetermien ja erikoissanaston tunnistusta asiayhteyden avulla. Nykyinen eräajodokumentaatio sallii enintään 1 000 termiä. Kunkin termin on oltava alle 50 merkkiä pitkä ja enintään viiden sanan mittainen. Anna olennaiset kirjoitusasut laajan asiaankuulumattoman luettelon sijaan. Anna teknistä haastattelua varten todennäköisesti esiintyvät tuotenimet ja lyhenteet ja tarkista sitten ne tuloksesta aikaleimojen kohdalta. Avaintermit painottavat tunnistusta. Ne eivät ole ohjeita lisätä termiä, jota tallenne ei tue.\n\nValitse litteroinnin käyttötarkoitus ennen siistimistä. Sanatarkka tallenne säilyttää puhutun sanamuodon, kun taas dokumentoitu no-verbatim-vaihtoehto poistaa täytesanat, kesken jääneet aloitukset ja puheen sujumattomuudet, jotta tulos olisi luettavampi. Dynaaminen äänitapahtumien tunnistus voi merkitä muita kuin puhetapahtumia, kuten naurua tai askelia. Viimeistelty litterointi voi sopia tekstityksiin tai lukemiseen, mutta se ei saa huomaamatta korvata alkuperäistä tallennetta, kun toistot, korjaukset tai muut äänet ovat tehtävälle tärkeitä.\n\nValmistaja dokumentoi myös entiteettien tunnistuksen ja kokeellisen litteroinnin muokkauksen. Litteroinnin muokkausta ei voi yhdistää valmistajan rajapinnassa entiteettien tunnistukseen, entiteettien peittämiseen tai monikanavaiseen litterointiin. Tunnistetut entiteetit antavat rakenteiset sijainnit litteroinnin valituille tiedoille. Valinnainen entiteettien peittäminen peittää tunnistetun tekstin korvaavilla tunnisteilla. Se edellyttää entiteettien tunnistusta, eikä entiteettiluetteloa palauteta peittämisen ollessa käytössä. Peittäminen tapahtuu litteroinnin aikana yleisellä korvausmerkinnällä, luokkatunnisteella tai numeroidulla luokkatunnisteella. Automaattinen peittäminen voi jättää arkaluonteista sisältöä havaitsematta, joten tarkista peitetty litterointi ennen sen jakamista. Luonnollisella kielellä tehty muokkaus palauttaa muokatun tekstin alkuperäisen tuloksen rinnalle ja säilyttää alkuperäisen aika- ja puhujatietueen käytettävissä. Pidä nämä tuotokset erillisinä. Korjattu kirjoitusasu tai uudelleen muotoiltu lause saattaa vaatia uuden tarkistuksen ennen kohdistamista ääneen tai käyttöä myöhemmässä tietojen poiminnassa. Nämä ominaisuudet käsittelevät litterointia, mutta eivät osoita, että jokainen tärkeä yksityiskohta tunnistettiin oikein.\n\nTarkista valmista litterointia varten nimet, numerot, kiellot ja puhujanvaihdokset palaamalla vastaavaan ääneen. Kiinnitä huomiota hiljaisiin kohtiin, päällekkäiseen puheeseen ja kielenvaihtoihin sen sijaan, että arvioisit laatua vain tekstin sujuvuudesta. Säilytä epävarma sanamuoto korjattavaksi sen sijaan, että täydentäisit kuulumattoman kohdan uskottavalla lauseella. Hyödyllinen tulos on tarkistettu tekstitallenne, jossa on käyttötarkoituksen edellyttämät aika- ja puhujatiedot. Litterointi voi tämän jälkeen toimia erillisen yhteenvedon, käännöksen tai analyysin syötteenä.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "a2cace8b12499a8c10e782ec1ecfe1cbec0bdc2c441b608d58bace01a4ff8ac4",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "fi",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">ElevenLabs: Scribe v2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sulje\">×</button></div><div class=\"idline\"><span>ElevenLabs /</span><code>elevenlabs/scribe-v2</code><button type=\"button\" id=\"copy-id\">Kopioi ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Mallikortin osiot\"><button type=\"button\" data-card-jump=\"overview\">Aloitus</button><button type=\"button\" data-card-jump=\"methods\">Syötteet &amp; menetelmät</button><button type=\"button\" data-card-jump=\"pricing\">Hinnoittelu</button><button type=\"button\" data-card-jump=\"examples\">Esimerkit</button><button type=\"button\" data-card-jump=\"results\">Tulokset</button><button type=\"button\" data-card-jump=\"aliases\">Aliakset</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-menetelmät\"><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|elevenlabs%2Fscribe-v2\">Tunnistus</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\">Aloitus</h3><p class=\"mdesc-full\">ElevenLabs Scribe v2 litteroi tallennettua ääntä yli 90 kielellä käyttäen sanakohtaisia aikaleimoja, valinnaista puhujien erottelua ja muiden kuin puhetapahtumien tunnisteita. Se on suunniteltu pitkiin tallenteisiin, tekstityksiin ja muokattaviin litterointeihin. Käytössä ovat kontekstuaaliset avaintermit sekä sanatarkka tai siistitty litterointi.</p><dl class=\"card-io\" data-card-io><div><dt>Hyväksytyt syötteet</dt><dd>Ääni</dd></div><div><dt>Tulokset</dt><dd>Teksti</dd></div></dl><details class=\"card-about\"><summary>Tietoa mallista</summary><p class=\"note-s\" data-model-method-boundary>Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.</p><div class=\"mabout\" id=\"m-about\"><p>ElevenLabs Scribe v2 on tallennetun äänen, litteroinnin ja tekstityksen eräajona toimiva puheentunnistusmalli. Se perustuu Scribe v1:een ja käsittelee aiempaa paremmin pitkiä tallenteita, taukoja, äänensävyn muutoksia ja pitkiä hiljaisia jaksoja. Tuloksena on kirjoitettua puhetta, jossa on aikatiedot sekä valinnaiset puhuja- ja äänitapahtumamerkinnät. Scribe v2 Realtime on erillinen reaaliaikainen litterointiversio. Tämän mallin tarkoitus on käsitellä kokonaisia tallenteita.</p><p>Valmistaja dokumentoi yli 90 kielen tunnistuksen ja automaattisen kielentunnistuksen, myös tallenteissa, joissa kieli vaihtuu. Vihje tunnetusta kielestä voi auttaa mallia tulkitsemaan ääntä. Valmistele selkeä tallenne, säilytä alkuperäinen kieli ja nimet sekä vältä voimakasta äänen leikkautumista tai tarpeetonta käsittelyä, joka poistaa puheen yksityiskohtia. Yleisiä dokumentoituja syötemuotoja ovat WAV, MP3, FLAC, M4A, AAC, OGG, Opus ja WebM. Valitse litterointitoteutuksen tukema syötemuoto ja säilytä lähdetallenne tarkistusta varten.</p><p>Vakiovastaus sisältää tunnistetun tekstin, tiedot tunnistetusta kielestä ja aikaleimattujen sanojen sarjan. Sanatietueet voivat sisältää alku- ja loppuajat, puhujatunnisteet ja tunnistuksen logaritmisen todennäköisyyden. Näiden ansiosta tulos sopii tekstityksiin, haettaviin haastatteluihin tai editoriin, joka siirtyy takaisin olennaiseen ääneen. Säilytä aikaleimattu tulos lähdeäänen yhteydessä. Esimerkiksi podcastin tuotos voi olla muokattava litterointi ja sanatasolla kohdistettu tietue, jonka avulla korjaukset löytyvät ennen tekstitysten järjestämistä.</p><p>Puhujien erottelu merkitsee, kuka puhuu milloinkin usean puhujan äänessä. Valmistaja dokumentoi tuen enintään 32 puhujalle. Ota toiminto käyttöön, kun puheenvuorot ovat tärkeitä, ja anna perusteltu puhujamäärä, jos se tiedetään. Erota tunnistettu puhujatunniste varmennetusta henkilön nimestä. Tarkista haastattelun tai kokouksen puheenvuorojen vaihtuminen tallenteesta erityisesti silloin, kun äänet menevät päällekkäin tai kuulostavat samanlaisilta. Tunniste auttaa jäsentämään litterointia, mutta ei itsenäisesti osoita puhujan henkilöllisyyttä.</p><p>Tallenteen rakenne, jossa kullakin kanavalla on yksi puhuja, eroaa usean äänen yhdistämisestä yhteen kanavaan. Valmistajan rajapinta voi käsitellä enintään viisi kanavaa erikseen ja palauttaa erilliset litteroinnit tai ajan mukaan järjestetyn yhdistetyn litteroinnin kanavaindekseineen. Säilytä tämä kanavarakenne, kun sillä on merkitystä. Eri kanaviin jaetun puhelutallenteen yhdistäminen ennen litterointia voi hävittää hyödyllisen puhujatietojen lähteen. Pidä kanavaan perustuva kohdistus erillään sekoitetusta äänestä päätellystä puhujien erottelusta. Yhdistetty kanavavastaus edellyttää aikaleimoja eikä voi sisältää entiteettien tunnistusta tai peittämistä.</p><p>Avaintermikehote ohjaa nimien, tuotetermien ja erikoissanaston tunnistusta asiayhteyden avulla. Nykyinen eräajodokumentaatio sallii enintään 1 000 termiä. Kunkin termin on oltava alle 50 merkkiä pitkä ja enintään viiden sanan mittainen. Anna olennaiset kirjoitusasut laajan asiaankuulumattoman luettelon sijaan. Anna teknistä haastattelua varten todennäköisesti esiintyvät tuotenimet ja lyhenteet ja tarkista sitten ne tuloksesta aikaleimojen kohdalta. Avaintermit painottavat tunnistusta. Ne eivät ole ohjeita lisätä termiä, jota tallenne ei tue.</p><p>Valitse litteroinnin käyttötarkoitus ennen siistimistä. Sanatarkka tallenne säilyttää puhutun sanamuodon, kun taas dokumentoitu no-verbatim-vaihtoehto poistaa täytesanat, kesken jääneet aloitukset ja puheen sujumattomuudet, jotta tulos olisi luettavampi. Dynaaminen äänitapahtumien tunnistus voi merkitä muita kuin puhetapahtumia, kuten naurua tai askelia. Viimeistelty litterointi voi sopia tekstityksiin tai lukemiseen, mutta se ei saa huomaamatta korvata alkuperäistä tallennetta, kun toistot, korjaukset tai muut äänet ovat tehtävälle tärkeitä.</p><p>Valmistaja dokumentoi myös entiteettien tunnistuksen ja kokeellisen litteroinnin muokkauksen. Litteroinnin muokkausta ei voi yhdistää valmistajan rajapinnassa entiteettien tunnistukseen, entiteettien peittämiseen tai monikanavaiseen litterointiin. Tunnistetut entiteetit antavat rakenteiset sijainnit litteroinnin valituille tiedoille. Valinnainen entiteettien peittäminen peittää tunnistetun tekstin korvaavilla tunnisteilla. Se edellyttää entiteettien tunnistusta, eikä entiteettiluetteloa palauteta peittämisen ollessa käytössä. Peittäminen tapahtuu litteroinnin aikana yleisellä korvausmerkinnällä, luokkatunnisteella tai numeroidulla luokkatunnisteella. Automaattinen peittäminen voi jättää arkaluonteista sisältöä havaitsematta, joten tarkista peitetty litterointi ennen sen jakamista. Luonnollisella kielellä tehty muokkaus palauttaa muokatun tekstin alkuperäisen tuloksen rinnalle ja säilyttää alkuperäisen aika- ja puhujatietueen käytettävissä. Pidä nämä tuotokset erillisinä. Korjattu kirjoitusasu tai uudelleen muotoiltu lause saattaa vaatia uuden tarkistuksen ennen kohdistamista ääneen tai käyttöä myöhemmässä tietojen poiminnassa. Nämä ominaisuudet käsittelevät litterointia, mutta eivät osoita, että jokainen tärkeä yksityiskohta tunnistettiin oikein.</p><p>Tarkista valmista litterointia varten nimet, numerot, kiellot ja puhujanvaihdokset palaamalla vastaavaan ääneen. Kiinnitä huomiota hiljaisiin kohtiin, päällekkäiseen puheeseen ja kielenvaihtoihin sen sijaan, että arvioisit laatua vain tekstin sujuvuudesta. Säilytä epävarma sanamuoto korjattavaksi sen sijaan, että täydentäisit kuulumattoman kohdan uskottavalla lauseella. Hyödyllinen tulos on tarkistettu tekstitallenne, jossa on käyttötarkoituksen edellyttämät aika- ja puhujatiedot. Litterointi voi tämän jälkeen toimia erillisen yhteenvedon, käännöksen tai analyysin syötteenä.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Saatavilla Ailootissa · syötteet &amp; menetelmät</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Litterointi</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Syötetyypit</dt><dd><code>audio</code></dd></div><div><dt>Tulostyypit</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Kenttä</th><th>Tyyppi</th><th>Vaatimus</th><th>Arvot &amp; rajat</th><th>Oletus</th></tr></thead><tbody><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>elevenlabs/scribe-v2</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>object</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Menetelmän parametrit ja elinkaari</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametri</th><th>Sopimus</th></tr></thead><tbody><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>content_type</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>application/json</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>required</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>model, input_audio</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>material_types</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>audio</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>material_conditions</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>Esimerkki lukee todellisen, ei-tyhjän PCM WAV -tiedostosi, koodaa tiedoston kaikki tavut base64-muotoon ja lähettää input_audio.format-kentän arvona wav.</td></tr></tbody></table></div><p>Elinkaari: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · täsmällinen task_id olemassa olevasta käyttäjälle kuuluvasta mediatietueesta</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\">Hinnoittelu</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.</p><dl data-price-conditions><dt>Nopea tila</dt><dd>Ei määritetty <span class=\"note-s\">Kun nopea tila on valittu</span></dd><dt>Flex-tila</dt><dd>Ei määritetty <span class=\"note-s\">Kun flex-tila on valittu</span></dd><dt>Päättelyn enimmäisteho</dt><dd>Ei määritetty <span class=\"note-s\">Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-hinnat</h4><h4>Hinnat asetusten mukaan</h4><p class=\"note-s\">Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Asetukset</th><th>Hinnasto</th><th>Laskutusyksikkö</th><th>Veloitus</th></tr></thead><tbody><tr><th data-cell-label=\"Asetukset\" scope=\"row\"><span class=\"card-cell-label\">Asetukset</span>Tokenien perushinnat</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>Perushinta</td><td data-cell-label=\"Laskutusyksikkö\"><span class=\"card-cell-label\">Laskutusyksikkö</span>—</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Syöte · Syötetokenit</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Tuloste · Tulostokenit</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistin luku</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistiin kirjoitus</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistiin kirjoitus, 1 tunti</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div></td></tr><tr><th data-cell-label=\"Asetukset\" scope=\"row\"><span class=\"card-cell-label\">Asetukset</span>äänisyötteen sekunti</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>—</td><td data-cell-label=\"Laskutusyksikkö\"><span class=\"card-cell-label\">Laskutusyksikkö</span>syöteäänen sekuntia kohden</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Syöte · äänisyötteen sekunti</span> <b>$0.0001222222222222</b> <span class=\"price-unit\">syöteäänen sekuntia kohden</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. <a href=\"/docs/fi/billing/reserve/\">Varauksen ja lopullisen veloituksen toiminta →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Esimerkkipyynnöt</h3><h4>Ailoot Ultra · Litterointi</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Koodivaihtoehdot\"><button class=\"cg-tab\" id=\"model-code-1328-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1328-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · todellinen WAV-tiedosto ja koko alkuperäinen tulos</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopioi koodi\"><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-1328-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1328-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;elevenlabs/scribe-v2&#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\">Vastaanota ja tallenna tulokset</h3><h4>Ailoot Ultra · Litterointi</h4><p class=\"note-s\">Koko alkuperäinen vastaussisältö, tila ja välitetyt otsakkeet. Tämä käsittelijä ei lisää yleistä JSON-rakennetta, tekstikenttää tai tehtävän käärettä.</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>Säilytä kaikki valmistuneet tulokset</h5><p class=\"note-s\">Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.</p><p class=\"note-s\">Säilytä koko vastaus ja otsakkeet, jokainen todellinen tuloste, alkuperäiset palautetut tunnisteet ja kaikki käyttötietokentät. Selvitä alkuperäisen operaation tila lähettämättä luontipyyntöä uudelleen.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jos alkuperäinen vastaus on tarkistettava</h5><p class=\"note-s\">Säilytä todellinen X-Client-Request-ID ja koko vastaus. Lue alkuperäisiä käyttäjälle kuuluvia aineistoja ja niiden täsmällisiä allekirjoitettuja sisällön URL-osoitteita; älä koskaan lähetä epävarmaa luontipyyntöä uudelleen.</p></div><details class=\"card-about\" data-output-fields><summary>Vastauksen kentät</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Kenttä</th><th>Tyyppi</th></tr></thead><tbody><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span></td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Virheet ja seuraavat vaiheet</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Vastaus</th><th>Ehto</th><th>Seuraava vaihe</th></tr></thead><tbody><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>JSON-sisältö tai nimenomainen kanoninen mallin tunniste on virheellinen.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Säilytä vastaus ja korjaa ilmoitettu pyyntökenttä.</td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Ailoot API -avain on virheellinen.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Käytä käyttöön oikeutettua Ailoot API -avaintasi.</td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>403 · <code>permission_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Avaimen ryhmällä ei ole käyttöoikeutta tähän menetelmään.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Säilytä palautetut virheen lisätiedot.</td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Valitulla menetelmällä ei ole käyttöön hyväksyttyä reittiä.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Säilytä palautetut virheen lisätiedot.</td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Hyväksytyn hinnaston edellyttämää syötemäärää tai sen rajaa ei saada selville.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Säilytä vastaus; käytä hyväksytyn hinnaston edellyttämää syötteen esitysmuotoa.</td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>503 · <code></code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Vaadittu tallennustila, reitti, menetelmän hinta tai katevaraus ei ole saatavilla.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Säilytä koko alkuperäinen vastaus. Epävarma katevaraus ei oikeuta uudelleenlähetykseen.</td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>502 · <code>server_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Alkuperäinen tulos, käyttötiedot tai veloituksen lopullinen kirjaus on tarkistettava.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Säilytä todellinen pyynnön tunniste ja alkuperäinen vastaus. Lue olemassa olevaa käyttäjälle kuuluvaa tietuetta; älä lähetä luontipyyntöä uudelleen.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliakset</h3><h4>Mallin aliakset</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=elevenlabs%2Fscribe-v2&amp;route=Ultra&amp;caller=elevenlabs%2Fscribe-v2&amp;fmt=transcriptions\"><code>elevenlabs/scribe-v2</code></a></span></p><h4>Menetelmäpolkujen aliakset</h4><p class=\"note-s\">Käytä yllä näytettyjä menetelmäpolkuja.</p><h4>Liittyvät kutsujan ID:t</h4><p class=\"note-s\"><a href=\"#m=elevenlabs%2Fscribe-v2&amp;route=Ultra&amp;caller=elevenlabs%2Fscribe-v2&amp;fmt=transcriptions\"><code>elevenlabs/scribe-v2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "elevenlabs/scribe-v2",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|elevenlabs%2Fscribe-v2",
      "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": "JSON-sisältö tai nimenomainen kanoninen mallin tunniste on virheellinen.",
                "http_status": 400,
                "recovery": "Säilytä vastaus ja korjaa ilmoitettu pyyntökenttä.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API -avain on virheellinen.",
                "http_status": 401,
                "recovery": "Käytä käyttöön oikeutettua Ailoot API -avaintasi.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Avaimen ryhmällä ei ole käyttöoikeutta tähän menetelmään.",
                "http_status": 403,
                "recovery": "Säilytä palautetut virheen lisätiedot.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Valitulla menetelmällä ei ole käyttöön hyväksyttyä reittiä.",
                "http_status": 404,
                "recovery": "Säilytä palautetut virheen lisätiedot.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Hyväksytyn hinnaston edellyttämää syötemäärää tai sen rajaa ei saada selville.",
                "http_status": 422,
                "recovery": "Säilytä vastaus; käytä hyväksytyn hinnaston edellyttämää syötteen esitysmuotoa.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Vaadittu tallennustila, reitti, menetelmän hinta tai katevaraus ei ole saatavilla.",
                "http_status": 503,
                "recovery": "Säilytä koko alkuperäinen vastaus. Epävarma katevaraus ei oikeuta uudelleenlähetykseen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Alkuperäinen tulos, käyttötiedot tai veloituksen lopullinen kirjaus on tarkistettava.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Säilytä todellinen pyynnön tunniste ja alkuperäinen vastaus. Lue olemassa olevaa käyttäjälle kuuluvaa tietuetta; älä lähetä luontipyyntöä uudelleen.",
                "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": "Säilytä todellinen X-Client-Request-ID ja koko vastaus. Lue alkuperäisiä käyttäjälle kuuluvia aineistoja ja niiden täsmällisiä allekirjoitettuja sisällön URL-osoitteita; älä koskaan lähetä epävarmaa luontipyyntöä uudelleen."
            },
            "outputs": {
              "all_results": "Säilytä koko vastaus ja otsakkeet, jokainen todellinen tuloste, alkuperäiset palautetut tunnisteet ja kaikki käyttötietokentät. Selvitä alkuperäisen operaation tila lähettämättä luontipyyntöä uudelleen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Koko alkuperäinen vastaussisältö, tila ja välitetyt otsakkeet. Tämä käsittelijä ei lisää yleistä JSON-rakennetta, tekstikenttää tai tehtävän käärettä."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "elevenlabs/scribe-v2"
                ],
                "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": [
                    "elevenlabs/scribe-v2"
                  ],
                  "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": "elevenlabs/scribe-v2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Esimerkki lukee todellisen, ei-tyhjän PCM WAV -tiedostosi, koodaa tiedoston kaikki tavut base64-muotoon ja lähettää input_audio.format-kentän arvona 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": "täsmällinen task_id olemassa olevasta käyttäjälle kuuluvasta mediatietueesta",
                "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.0001222222222222",
                "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.0001222222222222",
                "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': 'elevenlabs/scribe-v2', '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": "Litterointi",
        "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.0001222222222222
          }
        },
        "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.0001222222222222",
                "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.0001222222222222",
                "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": "elevenlabs/scribe-v2",
        "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.0001222222222222",
            "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.0001222222222222",
            "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": "elevenlabs/scribe-v2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "4ce062b4f376c58db5c8567c4014d3d9e7da6c04044333c6aed5b1e174c0cec1",
    "input_html_sha256": "eecf895f1faa0dd87374f19f513ef86c27d6e2395024906798aff146429037d6",
    "private_audit_sha256": "aebbc1b9e7c2df33a6a98f6896697e4dfb0589f132d7280677e7a38825dec51c",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fi/elevenlabs-scribe-v2/",
    "description": "ElevenLabs Scribe v2 litteroi tallennettua ääntä yli 90 kielellä käyttäen sanakohtaisia aikaleimoja, valinnaista puhujien erottelua ja muiden kuin puhetapahtumien tunnisteita. Se on suunniteltu pitkiin tallenteisiin, tekstityksiin ja muokattaviin litterointeihin. Käytössä ovat kontekstuaaliset avaintermit sekä sanatarkka tai siistitty litterointi.",
    "locale": "fi",
    "md_url": "https://ailoot.ai/models/fi/elevenlabs-scribe-v2/index.md",
    "title": "ElevenLabs: Scribe v2 — Ailoot",
    "url": "https://ailoot.ai/models/fi/elevenlabs-scribe-v2/"
  },
  "rawModel": {
    "about": "ElevenLabs Scribe v2 on tallennetun äänen, litteroinnin ja tekstityksen eräajona toimiva puheentunnistusmalli. Se perustuu Scribe v1:een ja käsittelee aiempaa paremmin pitkiä tallenteita, taukoja, äänensävyn muutoksia ja pitkiä hiljaisia jaksoja. Tuloksena on kirjoitettua puhetta, jossa on aikatiedot sekä valinnaiset puhuja- ja äänitapahtumamerkinnät. Scribe v2 Realtime on erillinen reaaliaikainen litterointiversio. Tämän mallin tarkoitus on käsitellä kokonaisia tallenteita.\n\nValmistaja dokumentoi yli 90 kielen tunnistuksen ja automaattisen kielentunnistuksen, myös tallenteissa, joissa kieli vaihtuu. Vihje tunnetusta kielestä voi auttaa mallia tulkitsemaan ääntä. Valmistele selkeä tallenne, säilytä alkuperäinen kieli ja nimet sekä vältä voimakasta äänen leikkautumista tai tarpeetonta käsittelyä, joka poistaa puheen yksityiskohtia. Yleisiä dokumentoituja syötemuotoja ovat WAV, MP3, FLAC, M4A, AAC, OGG, Opus ja WebM. Valitse litterointitoteutuksen tukema syötemuoto ja säilytä lähdetallenne tarkistusta varten.\n\nVakiovastaus sisältää tunnistetun tekstin, tiedot tunnistetusta kielestä ja aikaleimattujen sanojen sarjan. Sanatietueet voivat sisältää alku- ja loppuajat, puhujatunnisteet ja tunnistuksen logaritmisen todennäköisyyden. Näiden ansiosta tulos sopii tekstityksiin, haettaviin haastatteluihin tai editoriin, joka siirtyy takaisin olennaiseen ääneen. Säilytä aikaleimattu tulos lähdeäänen yhteydessä. Esimerkiksi podcastin tuotos voi olla muokattava litterointi ja sanatasolla kohdistettu tietue, jonka avulla korjaukset löytyvät ennen tekstitysten järjestämistä.\n\nPuhujien erottelu merkitsee, kuka puhuu milloinkin usean puhujan äänessä. Valmistaja dokumentoi tuen enintään 32 puhujalle. Ota toiminto käyttöön, kun puheenvuorot ovat tärkeitä, ja anna perusteltu puhujamäärä, jos se tiedetään. Erota tunnistettu puhujatunniste varmennetusta henkilön nimestä. Tarkista haastattelun tai kokouksen puheenvuorojen vaihtuminen tallenteesta erityisesti silloin, kun äänet menevät päällekkäin tai kuulostavat samanlaisilta. Tunniste auttaa jäsentämään litterointia, mutta ei itsenäisesti osoita puhujan henkilöllisyyttä.\n\nTallenteen rakenne, jossa kullakin kanavalla on yksi puhuja, eroaa usean äänen yhdistämisestä yhteen kanavaan. Valmistajan rajapinta voi käsitellä enintään viisi kanavaa erikseen ja palauttaa erilliset litteroinnit tai ajan mukaan järjestetyn yhdistetyn litteroinnin kanavaindekseineen. Säilytä tämä kanavarakenne, kun sillä on merkitystä. Eri kanaviin jaetun puhelutallenteen yhdistäminen ennen litterointia voi hävittää hyödyllisen puhujatietojen lähteen. Pidä kanavaan perustuva kohdistus erillään sekoitetusta äänestä päätellystä puhujien erottelusta. Yhdistetty kanavavastaus edellyttää aikaleimoja eikä voi sisältää entiteettien tunnistusta tai peittämistä.\n\nAvaintermikehote ohjaa nimien, tuotetermien ja erikoissanaston tunnistusta asiayhteyden avulla. Nykyinen eräajodokumentaatio sallii enintään 1 000 termiä. Kunkin termin on oltava alle 50 merkkiä pitkä ja enintään viiden sanan mittainen. Anna olennaiset kirjoitusasut laajan asiaankuulumattoman luettelon sijaan. Anna teknistä haastattelua varten todennäköisesti esiintyvät tuotenimet ja lyhenteet ja tarkista sitten ne tuloksesta aikaleimojen kohdalta. Avaintermit painottavat tunnistusta. Ne eivät ole ohjeita lisätä termiä, jota tallenne ei tue.\n\nValitse litteroinnin käyttötarkoitus ennen siistimistä. Sanatarkka tallenne säilyttää puhutun sanamuodon, kun taas dokumentoitu no-verbatim-vaihtoehto poistaa täytesanat, kesken jääneet aloitukset ja puheen sujumattomuudet, jotta tulos olisi luettavampi. Dynaaminen äänitapahtumien tunnistus voi merkitä muita kuin puhetapahtumia, kuten naurua tai askelia. Viimeistelty litterointi voi sopia tekstityksiin tai lukemiseen, mutta se ei saa huomaamatta korvata alkuperäistä tallennetta, kun toistot, korjaukset tai muut äänet ovat tehtävälle tärkeitä.\n\nValmistaja dokumentoi myös entiteettien tunnistuksen ja kokeellisen litteroinnin muokkauksen. Litteroinnin muokkausta ei voi yhdistää valmistajan rajapinnassa entiteettien tunnistukseen, entiteettien peittämiseen tai monikanavaiseen litterointiin. Tunnistetut entiteetit antavat rakenteiset sijainnit litteroinnin valituille tiedoille. Valinnainen entiteettien peittäminen peittää tunnistetun tekstin korvaavilla tunnisteilla. Se edellyttää entiteettien tunnistusta, eikä entiteettiluetteloa palauteta peittämisen ollessa käytössä. Peittäminen tapahtuu litteroinnin aikana yleisellä korvausmerkinnällä, luokkatunnisteella tai numeroidulla luokkatunnisteella. Automaattinen peittäminen voi jättää arkaluonteista sisältöä havaitsematta, joten tarkista peitetty litterointi ennen sen jakamista. Luonnollisella kielellä tehty muokkaus palauttaa muokatun tekstin alkuperäisen tuloksen rinnalle ja säilyttää alkuperäisen aika- ja puhujatietueen käytettävissä. Pidä nämä tuotokset erillisinä. Korjattu kirjoitusasu tai uudelleen muotoiltu lause saattaa vaatia uuden tarkistuksen ennen kohdistamista ääneen tai käyttöä myöhemmässä tietojen poiminnassa. Nämä ominaisuudet käsittelevät litterointia, mutta eivät osoita, että jokainen tärkeä yksityiskohta tunnistettiin oikein.\n\nTarkista valmista litterointia varten nimet, numerot, kiellot ja puhujanvaihdokset palaamalla vastaavaan ääneen. Kiinnitä huomiota hiljaisiin kohtiin, päällekkäiseen puheeseen ja kielenvaihtoihin sen sijaan, että arvioisit laatua vain tekstin sujuvuudesta. Säilytä epävarma sanamuoto korjattavaksi sen sijaan, että täydentäisit kuulumattoman kohdan uskottavalla lauseella. Hyödyllinen tulos on tarkistettu tekstitallenne, jossa on käyttötarkoituksen edellyttämät aika- ja puhujatiedot. Litterointi voi tämän jälkeen toimia erillisen yhteenvedon, käännöksen tai analyysin syötteenä.",
    "alias_of": null,
    "aliases": [],
    "author": "ElevenLabs",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001222222222222",
            "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.0001222222222222",
            "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": "Konfiguraation täydet hintatiedot lisätiedoissa."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "elevenlabs/scribe-v2",
    "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": "JSON-sisältö tai nimenomainen kanoninen mallin tunniste on virheellinen.",
                "http_status": 400,
                "recovery": "Säilytä vastaus ja korjaa ilmoitettu pyyntökenttä.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API -avain on virheellinen.",
                "http_status": 401,
                "recovery": "Käytä käyttöön oikeutettua Ailoot API -avaintasi.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Avaimen ryhmällä ei ole käyttöoikeutta tähän menetelmään.",
                "http_status": 403,
                "recovery": "Säilytä palautetut virheen lisätiedot.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Valitulla menetelmällä ei ole käyttöön hyväksyttyä reittiä.",
                "http_status": 404,
                "recovery": "Säilytä palautetut virheen lisätiedot.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Hyväksytyn hinnaston edellyttämää syötemäärää tai sen rajaa ei saada selville.",
                "http_status": 422,
                "recovery": "Säilytä vastaus; käytä hyväksytyn hinnaston edellyttämää syötteen esitysmuotoa.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Vaadittu tallennustila, reitti, menetelmän hinta tai katevaraus ei ole saatavilla.",
                "http_status": 503,
                "recovery": "Säilytä koko alkuperäinen vastaus. Epävarma katevaraus ei oikeuta uudelleenlähetykseen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Alkuperäinen tulos, käyttötiedot tai veloituksen lopullinen kirjaus on tarkistettava.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Säilytä todellinen pyynnön tunniste ja alkuperäinen vastaus. Lue olemassa olevaa käyttäjälle kuuluvaa tietuetta; älä lähetä luontipyyntöä uudelleen.",
                "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": "Säilytä todellinen X-Client-Request-ID ja koko vastaus. Lue alkuperäisiä käyttäjälle kuuluvia aineistoja ja niiden täsmällisiä allekirjoitettuja sisällön URL-osoitteita; älä koskaan lähetä epävarmaa luontipyyntöä uudelleen."
            },
            "outputs": {
              "all_results": "Säilytä koko vastaus ja otsakkeet, jokainen todellinen tuloste, alkuperäiset palautetut tunnisteet ja kaikki käyttötietokentät. Selvitä alkuperäisen operaation tila lähettämättä luontipyyntöä uudelleen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Koko alkuperäinen vastaussisältö, tila ja välitetyt otsakkeet. Tämä käsittelijä ei lisää yleistä JSON-rakennetta, tekstikenttää tai tehtävän käärettä."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "elevenlabs/scribe-v2"
                ],
                "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": [
                    "elevenlabs/scribe-v2"
                  ],
                  "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": "elevenlabs/scribe-v2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Esimerkki lukee todellisen, ei-tyhjän PCM WAV -tiedostosi, koodaa tiedoston kaikki tavut base64-muotoon ja lähettää input_audio.format-kentän arvona 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": "täsmällinen task_id olemassa olevasta käyttäjälle kuuluvasta mediatietueesta",
                "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.0001222222222222",
                "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.0001222222222222",
                "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': 'elevenlabs/scribe-v2', '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": "Litterointi",
        "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.0001222222222222
          }
        },
        "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.0001222222222222",
                "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.0001222222222222",
                "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": "elevenlabs/scribe-v2",
        "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.0001222222222222",
            "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.0001222222222222",
            "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": "elevenlabs/scribe-v2",
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra"
      }
    ],
    "name": "ElevenLabs: Scribe v2",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "ElevenLabs Scribe v2 litteroi tallennettua ääntä yli 90 kielellä käyttäen sanakohtaisia aikaleimoja, valinnaista puhujien erottelua ja muiden kuin puhetapahtumien tunnisteita. Se on suunniteltu pitkiin tallenteisiin, tekstityksiin ja muokattaviin litterointeihin. Käytössä ovat kontekstuaaliset avaintermit sekä sanatarkka tai siistitty litterointi."
  },
  "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": "ElevenLabs Scribe v2 litteroi tallennettua ääntä yli 90 kielellä käyttäen sanakohtaisia aikaleimoja, valinnaista puhujien erottelua ja muiden kuin puhetapahtumien tunnisteita. Se on suunniteltu pitkiin tallenteisiin, tekstityksiin ja muokattaviin litterointeihin. Käytössä ovat kontekstuaaliset avaintermit sekä sanatarkka tai siistitty litterointi.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "d97921b2402ac138e9e32ed79a0e1b45cbe77483a38588996268b29d60d79bf5",
    "renderer_sha256": "303a59603e2bc29ba8fda690e95fd32cec68de223d92e26054a88babff801dd7"
  },
  "sourceRevision": "8a69fcc5b036e402940b78d2084146019b1e654e5e05fb73fe797b2804b33e44"
}
