{
  "aboutHtml": "<p>Whisper large-v3 on julkaistu OpenAI:n puheentunnistuksen tarkistuspiste, jossa on noin 1.55 miljardia parametria. Se on monikielinen enkooderi–dekooderimalli: ääni syötetään enkooderiin ja dekooderi ennustaa tekstiä sekä tehtävään liittyviä tokeneita. Päätehtävät ovat puheen litterointi lähdekielellä ja puheen kääntäminen englanniksi. Kyse on avoimen painojulkaisun malli-identiteetistä, joka pidetään erillään isännöidyn palvelun mallitunnisteesta sekä kyseisen palvelun lataus- ja vastausmuotosäännöistä.</p><p>Large-v3 säilyttää aiempien suurten Whisper-tarkistuspisteiden arkkitehtuurin kahdella ilmoitetulla muutoksella: spektrogrammisyöte käyttää 128 Mel-taajuuskaistaa 80:n sijaan, ja se lisää kantoninkiinan kielitokenin. Valmistajan mallikortti kuvaa koulutuksen perustuvan miljoonaan tuntiin heikosti merkittyä ääntä ja neljään miljoonaan tuntiin Whisper large-v2:lla valmisteltua pseudomerkittyä ääntä. Tätä yhdistelmää käytettiin kahden koulutusepookin ajan. Julkaisu on tietty large-v3-tarkistuspiste, ei yleisnimi jokaiselle Whisper-perheen mallille.</p><p>Dokumentoitu päättelytyönkulku suorittaa oletusarvoisesti litteroinnin ja säilyttää tallenteessa puhutun kielen. Se voi tunnistaa lähdekielen automaattisesti tai vastaanottaa tunnetun kielivalinnan. Käännöstehtävässä monikielinen large-malli tuottaa englanninkielisen tekstin muunkielisestä puheesta. Valitse tehtävä nimenomaisesti: samankielinen litterointi ja englanninkielinen käännös ovat eri tuotoksia. Säilytä haastattelussa alkuperäiskielinen sanamuoto; määritä englanninkielistä viiteasiakirjaa varten, että haluttu tulos on puhutun sisällön käännös.</p><p>Äänen valmistelu on osa syötepolkua. OpenAI:n lataaja purkaa tallenteen monoaaltomuodoksi ja muuntaa näytteenottotaajuudeksi 16 kHz. Mallin akustinen vastaanottokenttä on 30 sekuntia. Tämä on käsittelyikkuna, ei kokonaisen haastattelun tai luennon enimmäispituus. Pitkän aineiston päättely voi edetä peräkkäin liukuvissa ikkunoissa tai jakaa pitkän tallenteen päällekkäisiin osiin ja yhdistää niiden litteroinnit. Valmistajan mallikortti kuvaa peräkkäisen käsittelyn tarkkuuden ollessa etusijalla ja ositetun käsittelyn silloin, kun yhden pitkän tallenteen läpimenoaika on tärkeämpi.</p><p>Julkaistu konfiguraatio ilmoittaa yksittäiselle dekoodausjaksolle 448 dekooderipositiota. Pidemmät tallenteet käsitellään pitkän aineiston prosessilla sen sijaan, että lukua pidettäisiin yleisenä litteroinnin rajana. Dokumentoitu työnkulku voi palauttaa tunnistetun tekstin rinnalla segmentti- tai sanatason aikaleimat. Ajoitustiedot auttavat tallenteessa liikkumista ja tekstitysten valmistelua, kun taas lopullinen tekstityssäiliö tai litterointitiedoston muoto on erillinen tulosteen muotoiluvalinta. Säilytä tallenteen ajoitus äänen valmistelussa, jos litterointi kohdistetaan alkuperäiseen aineistoon.</p><p>Whisperin tarkoitus on puheen tunnistaminen ja kääntäminen. Luennon litterointi, haastattelumuistio tai haettava puheaineistokokoelma on käytännön tulos; tiivistäminen tai tulkinta voi seurata erillisenä tekstin käsittelyvaiheena. Mallikortti ei vahvista luotettavaa automaattista puhujaluokittelua tai diarisaatiota perustarkistuspisteen vakiotulokseksi. Jos tehtävä vaatii puhujamerkintöjä, vaatimus täytyy käsitellä erikseen tarkkaa litterointia koskevasta väitteestä. Hyödyllinen tehtävänanto määrittää lähdekielen, litteroinnin tai englanninkielisen käännöksen tarpeen sekä ajoitustietojen tarpeen.</p><p>Olennaisia rajoituksia ovat koskaan puhumattoman tekstin keksiminen ja toisteinen teksti, jotka liittyvät heikosti valvottuun koulutukseen kohinaisella aineistolla ja sekvenssistä sekvenssiin -rakenteeseen. Tunnistuksen laatu vaihtelee kielten, aksenttien ja murteiden välillä ja on heikompi, kun koulutusmateriaalia on vähemmän. Kohinan, erikoissanaston ja päällekkäisen puheen tulee siksi esiintyä soveltuvuuden arviointiin käytetyssä näytteessä. Vertaa nimiä, määriä ja tärkeitä lausumia tallenteeseen ja tarkista puheettomat kohdat tai toistuvat rivit sen sijaan, että pitäisit sujuvaa litterointia todisteena jokaisen sanan kuulemisesta.</p><p>Kokonainen tulos säilyttää tunnistetun tekstin, sen kielen ja pyydetyn ajoituksen sekä viittauksen alkuperäiseen tallenteeseen. Pidä litterointi erillään myöhemmästä muokkauksesta: korjattu julkaisulitterointi voi poistaa täytesanoja, kun taas tunnistettu litterointi säilyttää mallin todellisen palautteen. Myös large-v3:n identiteetti ja käännöskyky tulee pitää erillään nopeammasta Turbo-versiosta. Todellinen käsittelynopeus riippuu kielestä, puhenopeudesta, laitteistosta ja päättelymenetelmästä; pelkkä tarkistuspisteen nimi ei takaa tiettyä isännöityä viivettä, enimmäislatauskokoa tai sovelluksessa käytössä olevaa reittiä.</p>",
  "aboutText": "Whisper large-v3 on julkaistu OpenAI:n puheentunnistuksen tarkistuspiste, jossa on noin 1.55 miljardia parametria. Se on monikielinen enkooderi–dekooderimalli: ääni syötetään enkooderiin ja dekooderi ennustaa tekstiä sekä tehtävään liittyviä tokeneita. Päätehtävät ovat puheen litterointi lähdekielellä ja puheen kääntäminen englanniksi. Kyse on avoimen painojulkaisun malli-identiteetistä, joka pidetään erillään isännöidyn palvelun mallitunnisteesta sekä kyseisen palvelun lataus- ja vastausmuotosäännöistä.\n\nLarge-v3 säilyttää aiempien suurten Whisper-tarkistuspisteiden arkkitehtuurin kahdella ilmoitetulla muutoksella: spektrogrammisyöte käyttää 128 Mel-taajuuskaistaa 80:n sijaan, ja se lisää kantoninkiinan kielitokenin. Valmistajan mallikortti kuvaa koulutuksen perustuvan miljoonaan tuntiin heikosti merkittyä ääntä ja neljään miljoonaan tuntiin Whisper large-v2:lla valmisteltua pseudomerkittyä ääntä. Tätä yhdistelmää käytettiin kahden koulutusepookin ajan. Julkaisu on tietty large-v3-tarkistuspiste, ei yleisnimi jokaiselle Whisper-perheen mallille.\n\nDokumentoitu päättelytyönkulku suorittaa oletusarvoisesti litteroinnin ja säilyttää tallenteessa puhutun kielen. Se voi tunnistaa lähdekielen automaattisesti tai vastaanottaa tunnetun kielivalinnan. Käännöstehtävässä monikielinen large-malli tuottaa englanninkielisen tekstin muunkielisestä puheesta. Valitse tehtävä nimenomaisesti: samankielinen litterointi ja englanninkielinen käännös ovat eri tuotoksia. Säilytä haastattelussa alkuperäiskielinen sanamuoto; määritä englanninkielistä viiteasiakirjaa varten, että haluttu tulos on puhutun sisällön käännös.\n\nÄänen valmistelu on osa syötepolkua. OpenAI:n lataaja purkaa tallenteen monoaaltomuodoksi ja muuntaa näytteenottotaajuudeksi 16 kHz. Mallin akustinen vastaanottokenttä on 30 sekuntia. Tämä on käsittelyikkuna, ei kokonaisen haastattelun tai luennon enimmäispituus. Pitkän aineiston päättely voi edetä peräkkäin liukuvissa ikkunoissa tai jakaa pitkän tallenteen päällekkäisiin osiin ja yhdistää niiden litteroinnit. Valmistajan mallikortti kuvaa peräkkäisen käsittelyn tarkkuuden ollessa etusijalla ja ositetun käsittelyn silloin, kun yhden pitkän tallenteen läpimenoaika on tärkeämpi.\n\nJulkaistu konfiguraatio ilmoittaa yksittäiselle dekoodausjaksolle 448 dekooderipositiota. Pidemmät tallenteet käsitellään pitkän aineiston prosessilla sen sijaan, että lukua pidettäisiin yleisenä litteroinnin rajana. Dokumentoitu työnkulku voi palauttaa tunnistetun tekstin rinnalla segmentti- tai sanatason aikaleimat. Ajoitustiedot auttavat tallenteessa liikkumista ja tekstitysten valmistelua, kun taas lopullinen tekstityssäiliö tai litterointitiedoston muoto on erillinen tulosteen muotoiluvalinta. Säilytä tallenteen ajoitus äänen valmistelussa, jos litterointi kohdistetaan alkuperäiseen aineistoon.\n\nWhisperin tarkoitus on puheen tunnistaminen ja kääntäminen. Luennon litterointi, haastattelumuistio tai haettava puheaineistokokoelma on käytännön tulos; tiivistäminen tai tulkinta voi seurata erillisenä tekstin käsittelyvaiheena. Mallikortti ei vahvista luotettavaa automaattista puhujaluokittelua tai diarisaatiota perustarkistuspisteen vakiotulokseksi. Jos tehtävä vaatii puhujamerkintöjä, vaatimus täytyy käsitellä erikseen tarkkaa litterointia koskevasta väitteestä. Hyödyllinen tehtävänanto määrittää lähdekielen, litteroinnin tai englanninkielisen käännöksen tarpeen sekä ajoitustietojen tarpeen.\n\nOlennaisia rajoituksia ovat koskaan puhumattoman tekstin keksiminen ja toisteinen teksti, jotka liittyvät heikosti valvottuun koulutukseen kohinaisella aineistolla ja sekvenssistä sekvenssiin -rakenteeseen. Tunnistuksen laatu vaihtelee kielten, aksenttien ja murteiden välillä ja on heikompi, kun koulutusmateriaalia on vähemmän. Kohinan, erikoissanaston ja päällekkäisen puheen tulee siksi esiintyä soveltuvuuden arviointiin käytetyssä näytteessä. Vertaa nimiä, määriä ja tärkeitä lausumia tallenteeseen ja tarkista puheettomat kohdat tai toistuvat rivit sen sijaan, että pitäisit sujuvaa litterointia todisteena jokaisen sanan kuulemisesta.\n\nKokonainen tulos säilyttää tunnistetun tekstin, sen kielen ja pyydetyn ajoituksen sekä viittauksen alkuperäiseen tallenteeseen. Pidä litterointi erillään myöhemmästä muokkauksesta: korjattu julkaisulitterointi voi poistaa täytesanoja, kun taas tunnistettu litterointi säilyttää mallin todellisen palautteen. Myös large-v3:n identiteetti ja käännöskyky tulee pitää erillään nopeammasta Turbo-versiosta. Todellinen käsittelynopeus riippuu kielestä, puhenopeudesta, laitteistosta ja päättelymenetelmästä; pelkkä tarkistuspisteen nimi ei takaa tiettyä isännöityä viivettä, enimmäislatauskokoa tai sovelluksessa käytössä olevaa reittiä.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "59d41662b3cbf25a2212e8d84c39f0b501629282c7334690e7f9cca45d9c1d40",
    "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\">O</span><h2 id=\"sheet-title\">OpenAI: Whisper Large V3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sulje\">×</button></div><div class=\"idline\"><span>OpenAI /</span><code>openai/whisper-large-v3</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|openai%2Fwhisper-large-v3\">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\">Whisper large-v3 on OpenAI:n avoimen painojulkaisun monikielinen puheentunnistuksen tarkistuspiste litterointiin ja puheen kääntämiseen englanniksi. Se muuntaa tallennetun puheen tekstiksi ja tarjoaa dokumentoidun kielenvalinnan, aikaleimat sekä pitkien tallenteiden käsittelyn 30 sekunnin akustisen ikkunan ulkopuolella.</p><dl class=\"card-io\" data-card-io><div><dt>Hyväksytyt syötteet</dt><dd>Ääni</dd></div><div><dt>Tulokset</dt><dd>transcription</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>Whisper large-v3 on julkaistu OpenAI:n puheentunnistuksen tarkistuspiste, jossa on noin 1.55 miljardia parametria. Se on monikielinen enkooderi–dekooderimalli: ääni syötetään enkooderiin ja dekooderi ennustaa tekstiä sekä tehtävään liittyviä tokeneita. Päätehtävät ovat puheen litterointi lähdekielellä ja puheen kääntäminen englanniksi. Kyse on avoimen painojulkaisun malli-identiteetistä, joka pidetään erillään isännöidyn palvelun mallitunnisteesta sekä kyseisen palvelun lataus- ja vastausmuotosäännöistä.</p><p>Large-v3 säilyttää aiempien suurten Whisper-tarkistuspisteiden arkkitehtuurin kahdella ilmoitetulla muutoksella: spektrogrammisyöte käyttää 128 Mel-taajuuskaistaa 80:n sijaan, ja se lisää kantoninkiinan kielitokenin. Valmistajan mallikortti kuvaa koulutuksen perustuvan miljoonaan tuntiin heikosti merkittyä ääntä ja neljään miljoonaan tuntiin Whisper large-v2:lla valmisteltua pseudomerkittyä ääntä. Tätä yhdistelmää käytettiin kahden koulutusepookin ajan. Julkaisu on tietty large-v3-tarkistuspiste, ei yleisnimi jokaiselle Whisper-perheen mallille.</p><p>Dokumentoitu päättelytyönkulku suorittaa oletusarvoisesti litteroinnin ja säilyttää tallenteessa puhutun kielen. Se voi tunnistaa lähdekielen automaattisesti tai vastaanottaa tunnetun kielivalinnan. Käännöstehtävässä monikielinen large-malli tuottaa englanninkielisen tekstin muunkielisestä puheesta. Valitse tehtävä nimenomaisesti: samankielinen litterointi ja englanninkielinen käännös ovat eri tuotoksia. Säilytä haastattelussa alkuperäiskielinen sanamuoto; määritä englanninkielistä viiteasiakirjaa varten, että haluttu tulos on puhutun sisällön käännös.</p><p>Äänen valmistelu on osa syötepolkua. OpenAI:n lataaja purkaa tallenteen monoaaltomuodoksi ja muuntaa näytteenottotaajuudeksi 16 kHz. Mallin akustinen vastaanottokenttä on 30 sekuntia. Tämä on käsittelyikkuna, ei kokonaisen haastattelun tai luennon enimmäispituus. Pitkän aineiston päättely voi edetä peräkkäin liukuvissa ikkunoissa tai jakaa pitkän tallenteen päällekkäisiin osiin ja yhdistää niiden litteroinnit. Valmistajan mallikortti kuvaa peräkkäisen käsittelyn tarkkuuden ollessa etusijalla ja ositetun käsittelyn silloin, kun yhden pitkän tallenteen läpimenoaika on tärkeämpi.</p><p>Julkaistu konfiguraatio ilmoittaa yksittäiselle dekoodausjaksolle 448 dekooderipositiota. Pidemmät tallenteet käsitellään pitkän aineiston prosessilla sen sijaan, että lukua pidettäisiin yleisenä litteroinnin rajana. Dokumentoitu työnkulku voi palauttaa tunnistetun tekstin rinnalla segmentti- tai sanatason aikaleimat. Ajoitustiedot auttavat tallenteessa liikkumista ja tekstitysten valmistelua, kun taas lopullinen tekstityssäiliö tai litterointitiedoston muoto on erillinen tulosteen muotoiluvalinta. Säilytä tallenteen ajoitus äänen valmistelussa, jos litterointi kohdistetaan alkuperäiseen aineistoon.</p><p>Whisperin tarkoitus on puheen tunnistaminen ja kääntäminen. Luennon litterointi, haastattelumuistio tai haettava puheaineistokokoelma on käytännön tulos; tiivistäminen tai tulkinta voi seurata erillisenä tekstin käsittelyvaiheena. Mallikortti ei vahvista luotettavaa automaattista puhujaluokittelua tai diarisaatiota perustarkistuspisteen vakiotulokseksi. Jos tehtävä vaatii puhujamerkintöjä, vaatimus täytyy käsitellä erikseen tarkkaa litterointia koskevasta väitteestä. Hyödyllinen tehtävänanto määrittää lähdekielen, litteroinnin tai englanninkielisen käännöksen tarpeen sekä ajoitustietojen tarpeen.</p><p>Olennaisia rajoituksia ovat koskaan puhumattoman tekstin keksiminen ja toisteinen teksti, jotka liittyvät heikosti valvottuun koulutukseen kohinaisella aineistolla ja sekvenssistä sekvenssiin -rakenteeseen. Tunnistuksen laatu vaihtelee kielten, aksenttien ja murteiden välillä ja on heikompi, kun koulutusmateriaalia on vähemmän. Kohinan, erikoissanaston ja päällekkäisen puheen tulee siksi esiintyä soveltuvuuden arviointiin käytetyssä näytteessä. Vertaa nimiä, määriä ja tärkeitä lausumia tallenteeseen ja tarkista puheettomat kohdat tai toistuvat rivit sen sijaan, että pitäisit sujuvaa litterointia todisteena jokaisen sanan kuulemisesta.</p><p>Kokonainen tulos säilyttää tunnistetun tekstin, sen kielen ja pyydetyn ajoituksen sekä viittauksen alkuperäiseen tallenteeseen. Pidä litterointi erillään myöhemmästä muokkauksesta: korjattu julkaisulitterointi voi poistaa täytesanoja, kun taas tunnistettu litterointi säilyttää mallin todellisen palautteen. Myös large-v3:n identiteetti ja käännöskyky tulee pitää erillään nopeammasta Turbo-versiosta. Todellinen käsittelynopeus riippuu kielestä, puhenopeudesta, laitteistosta ja päättelymenetelmästä; pelkkä tarkistuspisteen nimi ei takaa tiettyä isännöityä viivettä, enimmäislatauskokoa tai sovelluksessa käytössä olevaa reittiä.</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 · Puheentunnistus</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>transcription</code></dd></div><div><dt>Tulosteen muoto</dt><dd>json</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 data-parameter-availability=\"source_interface\"><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>openai/whisper-large-v3</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">language</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>Valinnainen</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><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">temperature</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>number</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Vähimmäismäärä: 0</div><div>Enimmäismäärä: 1</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">response_format</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>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>json, verbose_json</div></td><td data-cell-label=\"Oletus\" data-default=\"known\"><span class=\"card-cell-label\">Oletus</span>json</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">timestamp_granularities</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>array</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</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><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">provider</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>Valinnainen</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=\"card-about\" data-material-combinations><summary>Syöteaineistojen yhdistelmät</summary><p class=\"note-s\"><b>speech_to_text</b> · Pakollinen: actual matching-format audio file</p></details><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_types</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>application/json, multipart/form-data</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>JSON_audio</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>todelliset raakaäänen tavut base64-muodossa ja niitä vastaava muoto</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>multipart_required</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>model, file</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>multipart_cap_bytes</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>26214400</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>optional_controls</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>language, temperature, response_format, timestamp_granularities, provider</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>default_response_format</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>json</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>optional_features</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>Yksityiskohtainen tulos, diarize/keyterms sekä URL tai suurempi suoraan pyyntöön sisällytetty ääni edellyttävät juuri kyseisen mallin ja palveluntarjoajan ominaisuutta sekä hinnastoa.</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> · todellisuudessa palautettu task_id tai mediakirjaston tietue</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><p class=\"note-s\">Käytä täsmällistä mallia ja dokumentoituja syötekenttiä.</p><p class=\"note-s\">Säilytä koko vastaus, jokainen todellinen tulos ja alkuperäiset palautetut tunnisteet.</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>Ultra</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>äänisyötteen 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.000015</b> <span class=\"price-unit\">äänisyötteen 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><div data-declared-reference-pricing><h4>Viitehinnaston tiedot</h4><p class=\"note-s\">Mallitason viitehinnastot eivät muuta menetelmän valintaa, hinta-arvioita tai veloituksia. Käytössä olevat veloitukset käyttävät valitun Ailoot-menetelmän hintoja.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>OpenAI: Whisper Large V3</summary><h4>Hinnat asetusten mukaan</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Asetukset</th><th>Laskutusehdot</th><th>Veloitus</th></tr></thead><tbody><tr><th data-cell-label=\"Asetukset\" scope=\"row\"><span class=\"card-cell-label\">Asetukset</span>OpenAI: Whisper Large V3 · Oletusasetukset</th><td data-cell-label=\"Laskutusehdot\"><span class=\"card-cell-label\">Laskutusehdot</span>Oletuskokoonpano</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Syöte · Äänisyötteen sekunnit</span> <b>0,000015 $</b> <span class=\"price-unit\">syöteäänen sekuntia kohden</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Esimerkkipyynnöt</h3><h4>Ailoot Ultra · Puheentunnistus</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-2185-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2185-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · natiivi pyyntörunko täsmälleen sellaisenaan ja koko 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-2185-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2185-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 WAV recording}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nimport base64\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;): raise SystemExit(&#39;Supply an actual WAV audio file&#39;)\nif len(audio)&gt;26214400: raise SystemExit(&#39;Use a documented supported large-file flow&#39;)\nrequest={&#39;model&#39;: &#39;openai/whisper-large-v3&#39;, &#39;input_audio&#39;: {&#39;data&#39;: &#39;${BASE64_ACTUAL_WAV_BYTES}&#39;, &#39;format&#39;: &#39;wav&#39;}}\nrequest[&#39;input_audio&#39;][&#39;data&#39;]=base64.b64encode(audio).decode(&#39;ascii&#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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\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 · Puheentunnistus</h4><p class=\"note-s\">json</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\">Koko alkuperäinen JSON, kaikki saatavilla olevat tekstit, segmentit, sanat, puhujat, aikaleimat ja käyttötiedot.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jos alkuperäinen vastaus on tarkistettava</h5><p class=\"note-s\">Säilytä alkuperäinen operation_id/X-Client-Request-ID ja alkuperäinen vastaus. Lue todellisia käyttäjälle kuuluvia tehtävä- ja aineistotietueita lähettämättä pyyntöä uudelleen; erillistä äänen tilakyselyn URL-osoitetta ei muodosteta.</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</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>object</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">segments[]</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>object</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">words[]</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>object</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=openai%2Fwhisper-large-v3&amp;route=Ultra&amp;caller=openai%2Fwhisper-large-v3&amp;fmt=transcriptions\"><code>openai/whisper-large-v3</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=openai%2Fwhisper-large-v3&amp;route=Ultra&amp;caller=openai%2Fwhisper-large-v3&amp;fmt=transcriptions\"><code>openai/whisper-large-v3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/whisper-large-v3",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/whisper-large-v3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fwhisper-large-v3",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "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 URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Säilytä alkuperäinen operation_id/X-Client-Request-ID ja alkuperäinen vastaus. Lue todellisia käyttäjälle kuuluvia tehtävä- ja aineistotietueita lähettämättä pyyntöä uudelleen; erillistä äänen tilakyselyn URL-osoitetta ei muodosteta."
            },
            "material_combinations": [
              {
                "content_types": [
                  "application/json",
                  "multipart/form-data"
                ],
                "mode": "speech_to_text",
                "required": [
                  "actual matching-format audio file"
                ]
              }
            ],
            "outputs": {
              "all_results": "Koko alkuperäinen JSON, kaikki saatavilla olevat tekstit, segmentit, sanat, puhujat, aikaleimat ja käyttötiedot.",
              "family": "transcription",
              "fields": [
                {
                  "name": "text",
                  "type": "string"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "segments[]",
                  "optional": true,
                  "type": "object"
                },
                {
                  "name": "words[]",
                  "optional": true,
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "enum": [
                  "openai/whisper-large-v3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "data_encoding": "base64 raw actual audio bytes, not data URI",
                "fields": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "ISO-639-1 code; omitted means auto-detection",
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "retained_official_STTRequest",
                "default": "json",
                "default_known": true,
                "description": "verbose_json requires exact model/provider support",
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Only used with supported verbose_json",
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "enum": [
                        "wav",
                        "mp3",
                        "flac",
                        "m4a",
                        "ogg",
                        "webm",
                        "aac"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "language": {
                  "description": "ISO-639-1 code; omitted means auto-detection",
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "openai/whisper-large-v3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "json",
                  "description": "verbose_json requires exact model/provider support",
                  "enum": [
                    "json",
                    "verbose_json"
                  ],
                  "type": "string"
                },
                "temperature": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "timestamp_granularities": {
                  "description": "Only used with supported verbose_json",
                  "items": {
                    "enum": [
                      "segment",
                      "word"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/whisper-large-v3"
              },
              "content_type": "application/json"
            }
          },
          "hints": [
            "Käytä täsmällistä mallia ja dokumentoituja syötekenttiä.",
            "Säilytä koko vastaus, jokainen todellinen tulos ja alkuperäiset palautetut tunnisteet."
          ],
          "input": {
            "JSON_audio": "todelliset raakaäänen tavut base64-muodossa ja niitä vastaava muoto",
            "content_types": [
              "application/json",
              "multipart/form-data"
            ],
            "default_response_format": "json",
            "material_types": [
              "audio"
            ],
            "multipart_cap_bytes": 26214400,
            "multipart_required": [
              "model",
              "file"
            ],
            "optional_controls": [
              "language",
              "temperature",
              "response_format",
              "timestamp_granularities",
              "provider"
            ],
            "optional_features": "Yksityiskohtainen tulos, diarize/keyterms sekä URL tai suurempi suoraan pyyntöön sisällytetty ääni edellyttävät juuri kyseisen mallin ja palveluntarjoajan ominaisuutta sekä hinnastoa.",
            "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 URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "todellisuudessa palautettu task_id tai mediakirjaston tietue",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID and original response. Read actual owned task/asset records without resubmitting; no dedicated audio poll URL is constructed."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "family": "transcription",
            "format": "json"
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input 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 WAV recording}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')\nif len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')\nrequest={'model': 'openai/whisper-large-v3', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}\nrequest['input_audio']['data']=base64.b64encode(audio).decode('ascii')\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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact model and documented input fields.",
          "Keep the complete response, every actual output and original returned IDs."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "transcription"
        ],
        "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": 1.5e-05
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input second",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "openai/whisper-large-v3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "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.000015",
            "amount_unit": "usd_per_audio_input_second",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "audio input second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per audio input second",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "openai/whisper-large-v3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "3a2b03a10cfe771562861b0e3e030c6e4ade2b2e49bb8ffea1418d4bf86f1f5d",
    "input_html_sha256": "47be341e2299fb7f59e5b96e3c787bf4a94461df04a5d4331ed15eb2c3abea6e",
    "private_audit_sha256": "feff18ee310ec3727a5bfe1413283de65fb57295cb1d562363cfcbe3a89037e2",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fi/openai-whisper-large-v3/",
    "description": "Whisper large-v3 on OpenAI:n avoimen painojulkaisun monikielinen puheentunnistuksen tarkistuspiste litterointiin ja puheen kääntämiseen englanniksi. Se muuntaa tallennetun puheen tekstiksi ja tarjoaa dokumentoidun kielenvalinnan, aikaleimat sekä pitkien tallenteiden käsittelyn 30 sekunnin akustisen ikkunan ulkopuolella.",
    "locale": "fi",
    "md_url": "https://ailoot.ai/models/fi/openai-whisper-large-v3/index.md",
    "title": "OpenAI: Whisper Large V3 — Ailoot",
    "url": "https://ailoot.ai/models/fi/openai-whisper-large-v3/"
  },
  "rawModel": {
    "about": "Whisper large-v3 on julkaistu OpenAI:n puheentunnistuksen tarkistuspiste, jossa on noin 1.55 miljardia parametria. Se on monikielinen enkooderi–dekooderimalli: ääni syötetään enkooderiin ja dekooderi ennustaa tekstiä sekä tehtävään liittyviä tokeneita. Päätehtävät ovat puheen litterointi lähdekielellä ja puheen kääntäminen englanniksi. Kyse on avoimen painojulkaisun malli-identiteetistä, joka pidetään erillään isännöidyn palvelun mallitunnisteesta sekä kyseisen palvelun lataus- ja vastausmuotosäännöistä.\n\nLarge-v3 säilyttää aiempien suurten Whisper-tarkistuspisteiden arkkitehtuurin kahdella ilmoitetulla muutoksella: spektrogrammisyöte käyttää 128 Mel-taajuuskaistaa 80:n sijaan, ja se lisää kantoninkiinan kielitokenin. Valmistajan mallikortti kuvaa koulutuksen perustuvan miljoonaan tuntiin heikosti merkittyä ääntä ja neljään miljoonaan tuntiin Whisper large-v2:lla valmisteltua pseudomerkittyä ääntä. Tätä yhdistelmää käytettiin kahden koulutusepookin ajan. Julkaisu on tietty large-v3-tarkistuspiste, ei yleisnimi jokaiselle Whisper-perheen mallille.\n\nDokumentoitu päättelytyönkulku suorittaa oletusarvoisesti litteroinnin ja säilyttää tallenteessa puhutun kielen. Se voi tunnistaa lähdekielen automaattisesti tai vastaanottaa tunnetun kielivalinnan. Käännöstehtävässä monikielinen large-malli tuottaa englanninkielisen tekstin muunkielisestä puheesta. Valitse tehtävä nimenomaisesti: samankielinen litterointi ja englanninkielinen käännös ovat eri tuotoksia. Säilytä haastattelussa alkuperäiskielinen sanamuoto; määritä englanninkielistä viiteasiakirjaa varten, että haluttu tulos on puhutun sisällön käännös.\n\nÄänen valmistelu on osa syötepolkua. OpenAI:n lataaja purkaa tallenteen monoaaltomuodoksi ja muuntaa näytteenottotaajuudeksi 16 kHz. Mallin akustinen vastaanottokenttä on 30 sekuntia. Tämä on käsittelyikkuna, ei kokonaisen haastattelun tai luennon enimmäispituus. Pitkän aineiston päättely voi edetä peräkkäin liukuvissa ikkunoissa tai jakaa pitkän tallenteen päällekkäisiin osiin ja yhdistää niiden litteroinnit. Valmistajan mallikortti kuvaa peräkkäisen käsittelyn tarkkuuden ollessa etusijalla ja ositetun käsittelyn silloin, kun yhden pitkän tallenteen läpimenoaika on tärkeämpi.\n\nJulkaistu konfiguraatio ilmoittaa yksittäiselle dekoodausjaksolle 448 dekooderipositiota. Pidemmät tallenteet käsitellään pitkän aineiston prosessilla sen sijaan, että lukua pidettäisiin yleisenä litteroinnin rajana. Dokumentoitu työnkulku voi palauttaa tunnistetun tekstin rinnalla segmentti- tai sanatason aikaleimat. Ajoitustiedot auttavat tallenteessa liikkumista ja tekstitysten valmistelua, kun taas lopullinen tekstityssäiliö tai litterointitiedoston muoto on erillinen tulosteen muotoiluvalinta. Säilytä tallenteen ajoitus äänen valmistelussa, jos litterointi kohdistetaan alkuperäiseen aineistoon.\n\nWhisperin tarkoitus on puheen tunnistaminen ja kääntäminen. Luennon litterointi, haastattelumuistio tai haettava puheaineistokokoelma on käytännön tulos; tiivistäminen tai tulkinta voi seurata erillisenä tekstin käsittelyvaiheena. Mallikortti ei vahvista luotettavaa automaattista puhujaluokittelua tai diarisaatiota perustarkistuspisteen vakiotulokseksi. Jos tehtävä vaatii puhujamerkintöjä, vaatimus täytyy käsitellä erikseen tarkkaa litterointia koskevasta väitteestä. Hyödyllinen tehtävänanto määrittää lähdekielen, litteroinnin tai englanninkielisen käännöksen tarpeen sekä ajoitustietojen tarpeen.\n\nOlennaisia rajoituksia ovat koskaan puhumattoman tekstin keksiminen ja toisteinen teksti, jotka liittyvät heikosti valvottuun koulutukseen kohinaisella aineistolla ja sekvenssistä sekvenssiin -rakenteeseen. Tunnistuksen laatu vaihtelee kielten, aksenttien ja murteiden välillä ja on heikompi, kun koulutusmateriaalia on vähemmän. Kohinan, erikoissanaston ja päällekkäisen puheen tulee siksi esiintyä soveltuvuuden arviointiin käytetyssä näytteessä. Vertaa nimiä, määriä ja tärkeitä lausumia tallenteeseen ja tarkista puheettomat kohdat tai toistuvat rivit sen sijaan, että pitäisit sujuvaa litterointia todisteena jokaisen sanan kuulemisesta.\n\nKokonainen tulos säilyttää tunnistetun tekstin, sen kielen ja pyydetyn ajoituksen sekä viittauksen alkuperäiseen tallenteeseen. Pidä litterointi erillään myöhemmästä muokkauksesta: korjattu julkaisulitterointi voi poistaa täytesanoja, kun taas tunnistettu litterointi säilyttää mallin todellisen palautteen. Myös large-v3:n identiteetti ja käännöskyky tulee pitää erillään nopeammasta Turbo-versiosta. Todellinen käsittelynopeus riippuu kielestä, puhenopeudesta, laitteistosta ja päättelymenetelmästä; pelkkä tarkistuspisteen nimi ei takaa tiettyä isännöityä viivettä, enimmäislatauskokoa tai sovelluksessa käytössä olevaa reittiä.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "available": null,
    "canonical_model": "openai/whisper-large-v3",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.000015",
            "amount_unit": "usd_per_audio_input_second",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "audio input second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per audio input 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,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "ee57dbbfe5ae56bdd0d7",
        "label": "OpenAI: Whisper Large V3",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Oletuskokoonpano"
            },
            "label": "OpenAI: Whisper Large V3 · Oletusasetukset",
            "units": [
              {
                "amount": "0.0000150",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "e474c121b23c5635611dfde4",
                "label": "Input audio seconds",
                "public_unit_label": "per input audio second",
                "quantity": "1",
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "input_audio_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "transcriptions"
    ],
    "id": "openai/whisper-large-v3",
    "input": [
      "audio"
    ],
    "kind": "transcription",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "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 URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Säilytä alkuperäinen operation_id/X-Client-Request-ID ja alkuperäinen vastaus. Lue todellisia käyttäjälle kuuluvia tehtävä- ja aineistotietueita lähettämättä pyyntöä uudelleen; erillistä äänen tilakyselyn URL-osoitetta ei muodosteta."
            },
            "material_combinations": [
              {
                "content_types": [
                  "application/json",
                  "multipart/form-data"
                ],
                "mode": "speech_to_text",
                "required": [
                  "actual matching-format audio file"
                ]
              }
            ],
            "outputs": {
              "all_results": "Koko alkuperäinen JSON, kaikki saatavilla olevat tekstit, segmentit, sanat, puhujat, aikaleimat ja käyttötiedot.",
              "family": "transcription",
              "fields": [
                {
                  "name": "text",
                  "type": "string"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "segments[]",
                  "optional": true,
                  "type": "object"
                },
                {
                  "name": "words[]",
                  "optional": true,
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "enum": [
                  "openai/whisper-large-v3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "data_encoding": "base64 raw actual audio bytes, not data URI",
                "fields": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "ISO-639-1 code; omitted means auto-detection",
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "retained_official_STTRequest",
                "default": "json",
                "default_known": true,
                "description": "verbose_json requires exact model/provider support",
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Only used with supported verbose_json",
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "enum": [
                        "wav",
                        "mp3",
                        "flac",
                        "m4a",
                        "ogg",
                        "webm",
                        "aac"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "language": {
                  "description": "ISO-639-1 code; omitted means auto-detection",
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "openai/whisper-large-v3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "json",
                  "description": "verbose_json requires exact model/provider support",
                  "enum": [
                    "json",
                    "verbose_json"
                  ],
                  "type": "string"
                },
                "temperature": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "timestamp_granularities": {
                  "description": "Only used with supported verbose_json",
                  "items": {
                    "enum": [
                      "segment",
                      "word"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/whisper-large-v3"
              },
              "content_type": "application/json"
            }
          },
          "hints": [
            "Käytä täsmällistä mallia ja dokumentoituja syötekenttiä.",
            "Säilytä koko vastaus, jokainen todellinen tulos ja alkuperäiset palautetut tunnisteet."
          ],
          "input": {
            "JSON_audio": "todelliset raakaäänen tavut base64-muodossa ja niitä vastaava muoto",
            "content_types": [
              "application/json",
              "multipart/form-data"
            ],
            "default_response_format": "json",
            "material_types": [
              "audio"
            ],
            "multipart_cap_bytes": 26214400,
            "multipart_required": [
              "model",
              "file"
            ],
            "optional_controls": [
              "language",
              "temperature",
              "response_format",
              "timestamp_granularities",
              "provider"
            ],
            "optional_features": "Yksityiskohtainen tulos, diarize/keyterms sekä URL tai suurempi suoraan pyyntöön sisällytetty ääni edellyttävät juuri kyseisen mallin ja palveluntarjoajan ominaisuutta sekä hinnastoa.",
            "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 URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "todellisuudessa palautettu task_id tai mediakirjaston tietue",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID and original response. Read actual owned task/asset records without resubmitting; no dedicated audio poll URL is constructed."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "family": "transcription",
            "format": "json"
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input 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 WAV recording}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')\nif len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')\nrequest={'model': 'openai/whisper-large-v3', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}\nrequest['input_audio']['data']=base64.b64encode(audio).decode('ascii')\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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact model and documented input fields.",
          "Keep the complete response, every actual output and original returned IDs."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "transcription"
        ],
        "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": 1.5e-05
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input second",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "openai/whisper-large-v3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "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.000015",
            "amount_unit": "usd_per_audio_input_second",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "audio input second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per audio input second",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "openai/whisper-large-v3",
        "request_model_id": "openai/whisper-large-v3",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: Whisper Large V3",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "hosted_reference"
        },
        "dimensions": {
          "variant": null
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000616666666666",
            "amount_unit": "usd_per_audio_input_second",
            "conditions": {
              "variant": null
            },
            "key": "pricing.prompt",
            "label": "prompt",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "audio_input_second"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_not_separately_charged_output",
            "conditions": {
              "variant": null
            },
            "key": "pricing.completion",
            "label": "completion",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "not_separately_charged_output"
          }
        ]
      }
    ],
    "public_id": "openai/whisper-large-v3",
    "short": "Whisper large-v3 on OpenAI:n avoimen painojulkaisun monikielinen puheentunnistuksen tarkistuspiste litterointiin ja puheen kääntämiseen englanniksi. Se muuntaa tallennetun puheen tekstiksi ja tarjoaa dokumentoidun kielenvalinnan, aikaleimat sekä pitkien tallenteiden käsittelyn 30 sekunnin akustisen ikkunan ulkopuolella."
  },
  "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": "Whisper large-v3 on OpenAI:n avoimen painojulkaisun monikielinen puheentunnistuksen tarkistuspiste litterointiin ja puheen kääntämiseen englanniksi. Se muuntaa tallennetun puheen tekstiksi ja tarjoaa dokumentoidun kielenvalinnan, aikaleimat sekä pitkien tallenteiden käsittelyn 30 sekunnin akustisen ikkunan ulkopuolella.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "72bd36a0045bc47795b989b2d148a1861c02983759795143af36dab763170216",
    "renderer_sha256": "303a59603e2bc29ba8fda690e95fd32cec68de223d92e26054a88babff801dd7"
  },
  "sourceRevision": "9dbc04d40661f7f91c1cb6e50fba543135a9c243bd2b0d1ec06dae1777dcff2f"
}
