{
  "aboutHtml": "<p>Google Gemini 3.5 Transcribe on synkroninen malli kokonaisten, ennalta tallennettujen äänitiedostojen puheen muuntamiseen tekstiksi. Se perustuu Geminin kykyyn ymmärtää ääntä, mutta sen syöte- ja tulosmäärittelyt on laadittu erityisesti litterointia varten. Erillinen Gemini 3.5 Transcribe Live -versio vastaanottaa äänivirran ja palauttaa osatuloksia. Tämä tallennetulle äänelle tarkoitettu malli tuottaa valmiin litteroinnin, johon voidaan valitun kokoonpanon mukaan lisätä sanakohtaiset ajoitustiedot tai tieto siitä, mille puhujalle kukin puheosuus kuuluu.</p><p>Valmistele selkeä tallenne, jossa puheääni ei ole pahasti leikkautunutta ja eri puhujien äänet erottuvat mahdollisuuksien mukaan toisistaan. Valmistajan synkronisissa esimerkeissä WAV-ääni välitetään tiedoston tavuina tai tallennettuna ääniresurssina, ja sen MIME-tyyppi määritetään. Säilytä alkuperäinen äänite tarkistamista varten. Tavoiteltu tulos voi olla tarkistettu haastattelulitterointi, tekstityksen kohdistusta kuvaava tietue tai luettava saneluteksti. Päätä, mitä tuotosta tarvitaan, ennen kuin yhdistät sanamuotoa muuttavia tai metatietoja lisääviä ominaisuuksia.</p><p>Google dokumentoi yli 85 kielen automaattisen tunnistuksen, myös silloin, kun kieliä käytetään sekaisin saman istunnon aikana. Kielten tukitasot vaihtelevat, ja vihje tiedossa olevasta kielestä voi parantaa tunnistusta. Mukautetun sanaston avulla voidaan antaa erisnimiä, tuotemerkkejä tai erikoisalan termejä, joita tallenteessa todennäköisesti esiintyy. Valmistaja sallii enintään 1 000 termiä ja toteaa, että kohdennetut, enintään noin 100 termin luettelot toimivat yleensä parhaiten. Varmista, että harvinaiset termit ovat tallenteen kannalta olennaisia, ja tarkista niiden esiintyminen äänitteestä sen sijaan, että pitäisit sanastovihjettä todisteena termin lausumisesta.</p><p>VERBATIM on oletustila. Se säilyttää täytesanat, toistot, kesken jääneet aloitukset ja puheessa tehdyt korjaukset, jotta teksti säilyttää puheen alkuperäisen sanamuodon. Käytä tätä tilaa, kun tehtävässä tarvitaan sanakohtaisia aikaleimoja tai puhujien erottelua. Säilytä esimerkiksi haastattelun alkuperäiset puheenvuorot ja ajoitukset ja korjaa sitten tärkeät nimet ja määrät kuuntelemalla kyseinen kohta tallenteesta. Myöhempi yhteenveto tai viimeistelty artikkeli voi perustua tähän tarkistettuun litterointiin ilman, että puhujan sanoja korvataan huomaamatta.</p><p>SMART-tila on suunniteltu tuottamaan luettavaa sanelutekstiä. Se poistaa puheen sujumattomuuksia, korjaa tekstin puheessa tehtyjen itsekorjausten mukaiseksi ja jäsentää puhutun aineiston kappaleiksi tai luetteloiksi sekä normalisoi tarvittaessa päivämäärät ja luvut. Saneltu tehtävälista voidaan muotoilla luettavaksi luetteloksi sen sijaan, että se jäisi puhuttujen siirtymäilmausten ketjuksi. Tämä käsittely muuttaa litteroinnin muotoa. Google toteaa nimenomaisesti, ettei SMART ole yhteensopiva sanakohtaisten aikaleimojen eikä puhujien erottelun kanssa. Valitse se siis silloin, kun tarvittava tuotos on luettava teksti, äläkä yritä käyttää sitä ajoitettuna litterointina, jossa puhe on kohdistettu puhujille.</p><p>Kun sanakohtainen ajoitus on käytössä, vastaus sisältää tunnistetut sanat sekä niiden suhteelliset alku- ja loppuajat. Näiden tietojen avulla voidaan löytää korjattava kohta tallenteesta tai valmistella tekstityksiä. Valmistajan mukaan sanakohtaisten aikaleimojen käyttöönottoon liittyy tarkkuutta koskeva kompromissi. Tarkista tekstin lisäksi myös kohdistus etenkin nopean tai päällekkäisen puheen ja epätavallisen terminologian kohdalla. Hyödyllisessä ajoitetussa litteroinnissa sanakohtaiset tiedot ja alkuperäinen äänite säilytetään yhdessä, eikä sujuvaa lausetta pidetä todisteena siitä, että sen kohdistus on oikea.</p><p>Puhujien erottelu tunnistaa äänitteessä esiintyvät eri puhujien äänet ja merkitsee ne tunnisteilla. Dokumentoitu enimmäismäärä on kahdeksan puhujaa. Valmistajan mukaan puheen kohdistaminen puhujille on kokeellista, kun puhujia on vähintään kolme. Käsittele tunnisteita päätelminä siitä, mitkä puheosuudet kuuluvat samalle puhujalle, ja tarkista puhujanvaihdot tallenteesta. Puhujatunniste ei itsessään todista henkilön identiteettiä tai roolia. Jos tehtävässä tarvitaan nimiä, yhdistä tunnisteet tallennetta koskeviin tunnettuihin tietoihin sen sijaan, että keksisit henkilöiden identiteettejä tunnistettujen sanojen perusteella.</p><p>Valmistajan ominaisuustaulukossa tallennetun äänen käsittelyikkunaksi ilmoitetaan 15 minuuttia. Tiedoston käsittely on rajattu tähän kestoon, kun käytössä on esimerkiksi aikaleimat tai puhujien erottelu. Jaa pidempi lähdeaineisto sopiviin osiin ja säilytä niiden järjestys sekä sijainti alkuperäisen tallenteen aikajanalla. Mallin litterointi, ajoitetut sanat ja puhujatunnisteilla merkityt osat ovat tuloksen eri esitysmuotoja; säilytä tehtävässä tarvittava esitysmuoto. Näitä äänen käsittelyä koskevia rajoja ei tule korvata yleisen multimodaalisen Gemini-mallin konteksti- tai kestoluvuilla. Google luettelee SMART-muotoilun, sanakohtaiset aikaleimat ja puhujien erottelun kokeellisiksi ominaisuuksiksi.</p><p>Tuloksen määrittelyt koskevat nimenomaan litterointia. SMART-muotoilu tuottaa luettavaa tekstiä, mutta se ei tuo mukanaan JSON-skeemaan perustuvaa yleistä vastausmäärittelyä, työkalukutsujen tukea tai ohjeita noudattavan avustajan työnkulkua. Tarkista lopullista tuotosta varten tärkeät sanamuodot, luvut ja kielteiset ilmaukset äänitteestä, säilytä epäselviksi jääneet kohdat korjattaviksi ja tallenna tieto valitusta tilasta tuloksen yhteyteen. Näin käy selväksi, säilyttääkö tuotos puheen alkuperäisen sanamuodon vai esittääkö se siitä muokatun, luettavaksi tarkoitetun version.</p>",
  "aboutText": "Google Gemini 3.5 Transcribe on synkroninen malli kokonaisten, ennalta tallennettujen äänitiedostojen puheen muuntamiseen tekstiksi. Se perustuu Geminin kykyyn ymmärtää ääntä, mutta sen syöte- ja tulosmäärittelyt on laadittu erityisesti litterointia varten. Erillinen Gemini 3.5 Transcribe Live -versio vastaanottaa äänivirran ja palauttaa osatuloksia. Tämä tallennetulle äänelle tarkoitettu malli tuottaa valmiin litteroinnin, johon voidaan valitun kokoonpanon mukaan lisätä sanakohtaiset ajoitustiedot tai tieto siitä, mille puhujalle kukin puheosuus kuuluu.\n\nValmistele selkeä tallenne, jossa puheääni ei ole pahasti leikkautunutta ja eri puhujien äänet erottuvat mahdollisuuksien mukaan toisistaan. Valmistajan synkronisissa esimerkeissä WAV-ääni välitetään tiedoston tavuina tai tallennettuna ääniresurssina, ja sen MIME-tyyppi määritetään. Säilytä alkuperäinen äänite tarkistamista varten. Tavoiteltu tulos voi olla tarkistettu haastattelulitterointi, tekstityksen kohdistusta kuvaava tietue tai luettava saneluteksti. Päätä, mitä tuotosta tarvitaan, ennen kuin yhdistät sanamuotoa muuttavia tai metatietoja lisääviä ominaisuuksia.\n\nGoogle dokumentoi yli 85 kielen automaattisen tunnistuksen, myös silloin, kun kieliä käytetään sekaisin saman istunnon aikana. Kielten tukitasot vaihtelevat, ja vihje tiedossa olevasta kielestä voi parantaa tunnistusta. Mukautetun sanaston avulla voidaan antaa erisnimiä, tuotemerkkejä tai erikoisalan termejä, joita tallenteessa todennäköisesti esiintyy. Valmistaja sallii enintään 1 000 termiä ja toteaa, että kohdennetut, enintään noin 100 termin luettelot toimivat yleensä parhaiten. Varmista, että harvinaiset termit ovat tallenteen kannalta olennaisia, ja tarkista niiden esiintyminen äänitteestä sen sijaan, että pitäisit sanastovihjettä todisteena termin lausumisesta.\n\nVERBATIM on oletustila. Se säilyttää täytesanat, toistot, kesken jääneet aloitukset ja puheessa tehdyt korjaukset, jotta teksti säilyttää puheen alkuperäisen sanamuodon. Käytä tätä tilaa, kun tehtävässä tarvitaan sanakohtaisia aikaleimoja tai puhujien erottelua. Säilytä esimerkiksi haastattelun alkuperäiset puheenvuorot ja ajoitukset ja korjaa sitten tärkeät nimet ja määrät kuuntelemalla kyseinen kohta tallenteesta. Myöhempi yhteenveto tai viimeistelty artikkeli voi perustua tähän tarkistettuun litterointiin ilman, että puhujan sanoja korvataan huomaamatta.\n\nSMART-tila on suunniteltu tuottamaan luettavaa sanelutekstiä. Se poistaa puheen sujumattomuuksia, korjaa tekstin puheessa tehtyjen itsekorjausten mukaiseksi ja jäsentää puhutun aineiston kappaleiksi tai luetteloiksi sekä normalisoi tarvittaessa päivämäärät ja luvut. Saneltu tehtävälista voidaan muotoilla luettavaksi luetteloksi sen sijaan, että se jäisi puhuttujen siirtymäilmausten ketjuksi. Tämä käsittely muuttaa litteroinnin muotoa. Google toteaa nimenomaisesti, ettei SMART ole yhteensopiva sanakohtaisten aikaleimojen eikä puhujien erottelun kanssa. Valitse se siis silloin, kun tarvittava tuotos on luettava teksti, äläkä yritä käyttää sitä ajoitettuna litterointina, jossa puhe on kohdistettu puhujille.\n\nKun sanakohtainen ajoitus on käytössä, vastaus sisältää tunnistetut sanat sekä niiden suhteelliset alku- ja loppuajat. Näiden tietojen avulla voidaan löytää korjattava kohta tallenteesta tai valmistella tekstityksiä. Valmistajan mukaan sanakohtaisten aikaleimojen käyttöönottoon liittyy tarkkuutta koskeva kompromissi. Tarkista tekstin lisäksi myös kohdistus etenkin nopean tai päällekkäisen puheen ja epätavallisen terminologian kohdalla. Hyödyllisessä ajoitetussa litteroinnissa sanakohtaiset tiedot ja alkuperäinen äänite säilytetään yhdessä, eikä sujuvaa lausetta pidetä todisteena siitä, että sen kohdistus on oikea.\n\nPuhujien erottelu tunnistaa äänitteessä esiintyvät eri puhujien äänet ja merkitsee ne tunnisteilla. Dokumentoitu enimmäismäärä on kahdeksan puhujaa. Valmistajan mukaan puheen kohdistaminen puhujille on kokeellista, kun puhujia on vähintään kolme. Käsittele tunnisteita päätelminä siitä, mitkä puheosuudet kuuluvat samalle puhujalle, ja tarkista puhujanvaihdot tallenteesta. Puhujatunniste ei itsessään todista henkilön identiteettiä tai roolia. Jos tehtävässä tarvitaan nimiä, yhdistä tunnisteet tallennetta koskeviin tunnettuihin tietoihin sen sijaan, että keksisit henkilöiden identiteettejä tunnistettujen sanojen perusteella.\n\nValmistajan ominaisuustaulukossa tallennetun äänen käsittelyikkunaksi ilmoitetaan 15 minuuttia. Tiedoston käsittely on rajattu tähän kestoon, kun käytössä on esimerkiksi aikaleimat tai puhujien erottelu. Jaa pidempi lähdeaineisto sopiviin osiin ja säilytä niiden järjestys sekä sijainti alkuperäisen tallenteen aikajanalla. Mallin litterointi, ajoitetut sanat ja puhujatunnisteilla merkityt osat ovat tuloksen eri esitysmuotoja; säilytä tehtävässä tarvittava esitysmuoto. Näitä äänen käsittelyä koskevia rajoja ei tule korvata yleisen multimodaalisen Gemini-mallin konteksti- tai kestoluvuilla. Google luettelee SMART-muotoilun, sanakohtaiset aikaleimat ja puhujien erottelun kokeellisiksi ominaisuuksiksi.\n\nTuloksen määrittelyt koskevat nimenomaan litterointia. SMART-muotoilu tuottaa luettavaa tekstiä, mutta se ei tuo mukanaan JSON-skeemaan perustuvaa yleistä vastausmäärittelyä, työkalukutsujen tukea tai ohjeita noudattavan avustajan työnkulkua. Tarkista lopullista tuotosta varten tärkeät sanamuodot, luvut ja kielteiset ilmaukset äänitteestä, säilytä epäselviksi jääneet kohdat korjattaviksi ja tallenna tieto valitusta tilasta tuloksen yhteyteen. Näin käy selväksi, säilyttääkö tuotos puheen alkuperäisen sanamuodon vai esittääkö se siitä muokatun, luettavaksi tarkoitetun version.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "344d122b2b2bafa7024b4a62783bd9d61e2f5b36b428901758919c303e259aea",
    "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\">G</span><h2 id=\"sheet-title\">Google: Gemini 3.5 Transcribe</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sulje\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-3.5-transcribe</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|google%2Fgemini-3.5-transcribe\">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\">Google Gemini 3.5 Transcribe muuntaa tallennetun puheen tekstiksi. Se tukee automaattista kielentunnistusta, mukautettua sanastoa sekä valinnaisia sanakohtaisia aikaleimoja tai puhujien erottelua. Valitse VERBATIM, kun tarvitset aikaleimoja ja puheen kohdistamista puhujille, tai SMART, kun haluat helppolukuista sanelutekstiä; SMART-tilaa ei voi yhdistää kumpaankaan näistä kahdesta ominaisuudesta.</p><dl class=\"card-io\" data-card-io><div><dt>Hyväksytyt syötteet</dt><dd>Ääni</dd></div><div><dt>Tulokset</dt><dd>Teksti</dd></div></dl><details class=\"card-about\"><summary>Tietoa mallista</summary><p class=\"note-s\" data-model-method-boundary>Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.</p><div class=\"mabout\" id=\"m-about\"><p>Google Gemini 3.5 Transcribe on synkroninen malli kokonaisten, ennalta tallennettujen äänitiedostojen puheen muuntamiseen tekstiksi. Se perustuu Geminin kykyyn ymmärtää ääntä, mutta sen syöte- ja tulosmäärittelyt on laadittu erityisesti litterointia varten. Erillinen Gemini 3.5 Transcribe Live -versio vastaanottaa äänivirran ja palauttaa osatuloksia. Tämä tallennetulle äänelle tarkoitettu malli tuottaa valmiin litteroinnin, johon voidaan valitun kokoonpanon mukaan lisätä sanakohtaiset ajoitustiedot tai tieto siitä, mille puhujalle kukin puheosuus kuuluu.</p><p>Valmistele selkeä tallenne, jossa puheääni ei ole pahasti leikkautunutta ja eri puhujien äänet erottuvat mahdollisuuksien mukaan toisistaan. Valmistajan synkronisissa esimerkeissä WAV-ääni välitetään tiedoston tavuina tai tallennettuna ääniresurssina, ja sen MIME-tyyppi määritetään. Säilytä alkuperäinen äänite tarkistamista varten. Tavoiteltu tulos voi olla tarkistettu haastattelulitterointi, tekstityksen kohdistusta kuvaava tietue tai luettava saneluteksti. Päätä, mitä tuotosta tarvitaan, ennen kuin yhdistät sanamuotoa muuttavia tai metatietoja lisääviä ominaisuuksia.</p><p>Google dokumentoi yli 85 kielen automaattisen tunnistuksen, myös silloin, kun kieliä käytetään sekaisin saman istunnon aikana. Kielten tukitasot vaihtelevat, ja vihje tiedossa olevasta kielestä voi parantaa tunnistusta. Mukautetun sanaston avulla voidaan antaa erisnimiä, tuotemerkkejä tai erikoisalan termejä, joita tallenteessa todennäköisesti esiintyy. Valmistaja sallii enintään 1 000 termiä ja toteaa, että kohdennetut, enintään noin 100 termin luettelot toimivat yleensä parhaiten. Varmista, että harvinaiset termit ovat tallenteen kannalta olennaisia, ja tarkista niiden esiintyminen äänitteestä sen sijaan, että pitäisit sanastovihjettä todisteena termin lausumisesta.</p><p>VERBATIM on oletustila. Se säilyttää täytesanat, toistot, kesken jääneet aloitukset ja puheessa tehdyt korjaukset, jotta teksti säilyttää puheen alkuperäisen sanamuodon. Käytä tätä tilaa, kun tehtävässä tarvitaan sanakohtaisia aikaleimoja tai puhujien erottelua. Säilytä esimerkiksi haastattelun alkuperäiset puheenvuorot ja ajoitukset ja korjaa sitten tärkeät nimet ja määrät kuuntelemalla kyseinen kohta tallenteesta. Myöhempi yhteenveto tai viimeistelty artikkeli voi perustua tähän tarkistettuun litterointiin ilman, että puhujan sanoja korvataan huomaamatta.</p><p>SMART-tila on suunniteltu tuottamaan luettavaa sanelutekstiä. Se poistaa puheen sujumattomuuksia, korjaa tekstin puheessa tehtyjen itsekorjausten mukaiseksi ja jäsentää puhutun aineiston kappaleiksi tai luetteloiksi sekä normalisoi tarvittaessa päivämäärät ja luvut. Saneltu tehtävälista voidaan muotoilla luettavaksi luetteloksi sen sijaan, että se jäisi puhuttujen siirtymäilmausten ketjuksi. Tämä käsittely muuttaa litteroinnin muotoa. Google toteaa nimenomaisesti, ettei SMART ole yhteensopiva sanakohtaisten aikaleimojen eikä puhujien erottelun kanssa. Valitse se siis silloin, kun tarvittava tuotos on luettava teksti, äläkä yritä käyttää sitä ajoitettuna litterointina, jossa puhe on kohdistettu puhujille.</p><p>Kun sanakohtainen ajoitus on käytössä, vastaus sisältää tunnistetut sanat sekä niiden suhteelliset alku- ja loppuajat. Näiden tietojen avulla voidaan löytää korjattava kohta tallenteesta tai valmistella tekstityksiä. Valmistajan mukaan sanakohtaisten aikaleimojen käyttöönottoon liittyy tarkkuutta koskeva kompromissi. Tarkista tekstin lisäksi myös kohdistus etenkin nopean tai päällekkäisen puheen ja epätavallisen terminologian kohdalla. Hyödyllisessä ajoitetussa litteroinnissa sanakohtaiset tiedot ja alkuperäinen äänite säilytetään yhdessä, eikä sujuvaa lausetta pidetä todisteena siitä, että sen kohdistus on oikea.</p><p>Puhujien erottelu tunnistaa äänitteessä esiintyvät eri puhujien äänet ja merkitsee ne tunnisteilla. Dokumentoitu enimmäismäärä on kahdeksan puhujaa. Valmistajan mukaan puheen kohdistaminen puhujille on kokeellista, kun puhujia on vähintään kolme. Käsittele tunnisteita päätelminä siitä, mitkä puheosuudet kuuluvat samalle puhujalle, ja tarkista puhujanvaihdot tallenteesta. Puhujatunniste ei itsessään todista henkilön identiteettiä tai roolia. Jos tehtävässä tarvitaan nimiä, yhdistä tunnisteet tallennetta koskeviin tunnettuihin tietoihin sen sijaan, että keksisit henkilöiden identiteettejä tunnistettujen sanojen perusteella.</p><p>Valmistajan ominaisuustaulukossa tallennetun äänen käsittelyikkunaksi ilmoitetaan 15 minuuttia. Tiedoston käsittely on rajattu tähän kestoon, kun käytössä on esimerkiksi aikaleimat tai puhujien erottelu. Jaa pidempi lähdeaineisto sopiviin osiin ja säilytä niiden järjestys sekä sijainti alkuperäisen tallenteen aikajanalla. Mallin litterointi, ajoitetut sanat ja puhujatunnisteilla merkityt osat ovat tuloksen eri esitysmuotoja; säilytä tehtävässä tarvittava esitysmuoto. Näitä äänen käsittelyä koskevia rajoja ei tule korvata yleisen multimodaalisen Gemini-mallin konteksti- tai kestoluvuilla. Google luettelee SMART-muotoilun, sanakohtaiset aikaleimat ja puhujien erottelun kokeellisiksi ominaisuuksiksi.</p><p>Tuloksen määrittelyt koskevat nimenomaan litterointia. SMART-muotoilu tuottaa luettavaa tekstiä, mutta se ei tuo mukanaan JSON-skeemaan perustuvaa yleistä vastausmäärittelyä, työkalukutsujen tukea tai ohjeita noudattavan avustajan työnkulkua. Tarkista lopullista tuotosta varten tärkeät sanamuodot, luvut ja kielteiset ilmaukset äänitteestä, säilytä epäselviksi jääneet kohdat korjattaviksi ja tallenna tieto valitusta tilasta tuloksen yhteyteen. Näin käy selväksi, säilyttääkö tuotos puheen alkuperäisen sanamuodon vai esittääkö se siitä muokatun, luettavaksi tarkoitetun version.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Saatavilla Ailootissa · syötteet &amp; menetelmät</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Litterointi</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Syötetyypit</dt><dd><code>audio</code></dd></div><div><dt>Tulostyypit</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Kenttä</th><th>Tyyppi</th><th>Vaatimus</th><th>Arvot &amp; rajat</th><th>Oletus</th></tr></thead><tbody><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>google/gemini-3.5-transcribe</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>object</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><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><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><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><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><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=\"note-s\" data-method-contract><summary>Menetelmän parametrit ja elinkaari</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametri</th><th>Sopimus</th></tr></thead><tbody><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>content_type</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>application/json</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>required</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>model, input_audio</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>material_types</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>audio</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>material_conditions</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>Lue todellinen WAV-tiedosto ja koodaa sen todelliset tavut määriteltyyn JSON input_audio -syötteeseen; tälle täsmälliselle, vain JSON-muotoa käyttävälle määrittelylle ei ilmoiteta multipart-reittiä.</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></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Hinnoittelu</h3><div class=\"card-result-process\" data-billing-basis><h5>Lopullisen veloituksen laskenta</h5><p class=\"note-s\">Näytettyjen hintojen avulla arvioidaan kustannukset ennen generointia. Lopullinen veloitus lasketaan alkuperäiselle generoinnille kirjatun kustannuksen perusteella. Lopullisena laskutettavana määränä ei käytetä tulosteen mitattua kestoa eikä ennustettuja määriä.</p></div><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>Arvioidut vertailuhinnat</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>Ennustettu määrä</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=\"Ennustettu määrä\"><span class=\"card-cell-label\">Ennustettu määrä</span>—</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 · Arvio vain vertailua varten</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Tuloste · Tulostokenit · Arvio vain vertailua varten</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistin luku · Arvio vain vertailua varten</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistiin kirjoitus · Arvio vain vertailua varten</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistiin kirjoitus, 1 tunti · Arvio vain vertailua varten</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>syötetoken</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>—</td><td data-cell-label=\"Ennustettu määrä\"><span class=\"card-cell-label\">Ennustettu määrä</span>—</td><td data-cell-label=\"Laskutusyksikkö\"><span class=\"card-cell-label\">Laskutusyksikkö</span>/ 1K tokenia</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Syöte · Arvio vain vertailua varten</span> <b>$0.004</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>tulostetoken</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>—</td><td data-cell-label=\"Ennustettu määrä\"><span class=\"card-cell-label\">Ennustettu määrä</span>—</td><td data-cell-label=\"Laskutusyksikkö\"><span class=\"card-cell-label\">Laskutusyksikkö</span>/ 1K tokenia</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Tuloste · Arvio vain vertailua varten</span> <b>$0.024</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>Arvioitu luontikustannus</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>—</td><td data-cell-label=\"Ennustettu määrä\"><span class=\"card-cell-label\">Ennustettu määrä</span>yhden generoinnin arvio</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>Tuloste · Arvioidut generointikustannukset · Arvio vain vertailua varten</span> <b>$1.179648</b> <span class=\"price-unit\">arvio ennen generointia</span></div><p class=\"note-s\">Tämä arvio ei ole lisämaksu eikä valmistuneen generoinnin kiinteä hinta.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. <a href=\"/docs/fi/billing/reserve/\">Varauksen ja lopullisen veloituksen toiminta →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Esimerkkipyynnöt</h3><h4>Ailoot Ultra · Litterointi</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Koodivaihtoehdot\"><button class=\"cg-tab\" id=\"model-code-1470-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1470-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-1470-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1470-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;google/gemini-3.5-transcribe&#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 · Litterointi</h4><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><details class=\"card-about\"><summary>Muut sisällön lukukerrat</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Koodivaihtoehdot\"><button class=\"cg-tab\" id=\"model-code-1471-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1471-panel-0\" aria-selected=\"true\" tabindex=\"0\">Lue olemassa olevat omistamasi aineistot</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-1471-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1471-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Säilytä kaikki valmistuneet tulokset</h5><p class=\"note-s\">Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.</p><p class=\"note-s\">Säilytä koko vastaus ja otsakkeet, jokainen todellinen tuloste, alkuperäiset palautetut tunnisteet ja kaikki käyttötietokentät. Selvitä alkuperäisen operaation tila lähettämättä luontipyyntöä uudelleen.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jos alkuperäinen vastaus on tarkistettava</h5><p class=\"note-s\">Säilytä palautettu X-Client-Request-ID täsmäytystä varten. Tee lukukyselyt vain todellisuudessa palautetuilla task_id/asset_id-arvoilla tai käytä omistamaasi mediakirjastoa; älä koskaan rakenna tehtävän URL-osoitetta operaation ID:n perusteella äläkä lähetä luontipyyntöä uudelleen.</p></div><details class=\"card-about\" data-output-fields><summary>Vastauksen kentät</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Kenttä</th><th>Tyyppi</th></tr></thead><tbody><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">text</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span></td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span></td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">segments[]</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span></td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">words[]</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span></td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">speaker fields</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span></td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">timestamps</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span></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=google%2Fgemini-3.5-transcribe&amp;route=Ultra&amp;caller=google%2Fgemini-3.5-transcribe&amp;fmt=transcriptions\"><code>google/gemini-3.5-transcribe</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=google%2Fgemini-3.5-transcribe&amp;route=Ultra&amp;caller=google%2Fgemini-3.5-transcribe&amp;fmt=transcriptions\"><code>google/gemini-3.5-transcribe</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemini-3.5-transcribe",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "google/gemini-3.5-transcribe",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|google%2Fgemini-3.5-transcribe",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Näytettyjen hintojen avulla arvioidaan kustannukset ennen generointia. Lopullinen veloitus lasketaan alkuperäiselle generoinnille kirjatun kustannuksen perusteella. Lopullisena laskutettavana määränä ei käytetä tulosteen mitattua kestoa eikä ennustettuja määriä.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "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ä palautettu X-Client-Request-ID täsmäytystä varten. Tee lukukyselyt vain todellisuudessa palautetuilla task_id/asset_id-arvoilla tai käytä omistamaasi mediakirjastoa; älä koskaan rakenna tehtävän URL-osoitetta operaation ID:n perusteella äläkä lähetä luontipyyntöä uudelleen."
            },
            "outputs": {
              "all_results": "Säilytä koko vastaus ja otsakkeet, jokainen todellinen tuloste, alkuperäiset palautetut tunnisteet ja kaikki käyttötietokentät. Selvitä alkuperäisen operaation tila lähettämättä luontipyyntöä uudelleen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                },
                {
                  "description": null,
                  "name": "segments[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "words[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "speaker fields",
                  "type": null
                },
                {
                  "description": null,
                  "name": "timestamps",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "google/gemini-3.5-transcribe"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default": "json",
                "default_known": true,
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "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": [
                    "google/gemini-3.5-transcribe"
                  ],
                  "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": "google/gemini-3.5-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Lue todellinen WAV-tiedosto ja koodaa sen todelliset tavut määriteltyyn JSON input_audio -syötteeseen; tälle täsmälliselle, vain JSON-muotoa käyttävälle määrittelylle ei ilmoiteta multipart-reittiä."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed 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": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              },
              {
                "description": null,
                "name": "segments[]",
                "type": null
              },
              {
                "description": null,
                "name": "words[]",
                "type": null
              },
              {
                "description": null,
                "name": "speaker fields",
                "type": null
              },
              {
                "description": null,
                "name": "timestamps",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.024000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.000024",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          },
          {
            "basis": "Tämä arvio ei ole lisämaksu eikä valmistuneen generoinnin kiinteä hinta.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Arvioitu luontikustannus",
            "units": [
              {
                "amount": "1.179648",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "1.179648",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "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': 'google/gemini-3.5-transcribe', '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"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Litterointi",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.024000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.000024",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "1.179648",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "1.179648",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-3.5-transcribe",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.024000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.000024",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": "1.179648",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "1.179648",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "google/gemini-3.5-transcribe",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "1d77b59a89a0ffab5cae03c235f91142328596d14dc68bea72ecb73da93e0dee",
    "input_html_sha256": "74484472c08fcb1acc4c206014614ba756061f475a008d5ed0eff11c4db7a7e9",
    "private_audit_sha256": "2494f95a591d3c54fb23a6188352d52ac8dad006b3b096b6bf14c8b9d2b51ea2",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fi/google-gemini-3-5-transcribe/",
    "description": "Google Gemini 3.5 Transcribe muuntaa tallennetun puheen tekstiksi. Se tukee automaattista kielentunnistusta, mukautettua sanastoa sekä valinnaisia sanakohtaisia aikaleimoja tai puhujien erottelua. Valitse VERBATIM, kun tarvitset aikaleimoja ja puheen kohdistamista puhujille, tai SMART, kun haluat helppolukuista sanelutekstiä; SMART-tilaa ei voi yhdistää kumpaankaan näistä kahdesta ominaisuudesta.",
    "locale": "fi",
    "md_url": "https://ailoot.ai/models/fi/google-gemini-3-5-transcribe/index.md",
    "title": "Google: Gemini 3.5 Transcribe — Ailoot",
    "url": "https://ailoot.ai/models/fi/google-gemini-3-5-transcribe/"
  },
  "rawModel": {
    "about": "Google Gemini 3.5 Transcribe on synkroninen malli kokonaisten, ennalta tallennettujen äänitiedostojen puheen muuntamiseen tekstiksi. Se perustuu Geminin kykyyn ymmärtää ääntä, mutta sen syöte- ja tulosmäärittelyt on laadittu erityisesti litterointia varten. Erillinen Gemini 3.5 Transcribe Live -versio vastaanottaa äänivirran ja palauttaa osatuloksia. Tämä tallennetulle äänelle tarkoitettu malli tuottaa valmiin litteroinnin, johon voidaan valitun kokoonpanon mukaan lisätä sanakohtaiset ajoitustiedot tai tieto siitä, mille puhujalle kukin puheosuus kuuluu.\n\nValmistele selkeä tallenne, jossa puheääni ei ole pahasti leikkautunutta ja eri puhujien äänet erottuvat mahdollisuuksien mukaan toisistaan. Valmistajan synkronisissa esimerkeissä WAV-ääni välitetään tiedoston tavuina tai tallennettuna ääniresurssina, ja sen MIME-tyyppi määritetään. Säilytä alkuperäinen äänite tarkistamista varten. Tavoiteltu tulos voi olla tarkistettu haastattelulitterointi, tekstityksen kohdistusta kuvaava tietue tai luettava saneluteksti. Päätä, mitä tuotosta tarvitaan, ennen kuin yhdistät sanamuotoa muuttavia tai metatietoja lisääviä ominaisuuksia.\n\nGoogle dokumentoi yli 85 kielen automaattisen tunnistuksen, myös silloin, kun kieliä käytetään sekaisin saman istunnon aikana. Kielten tukitasot vaihtelevat, ja vihje tiedossa olevasta kielestä voi parantaa tunnistusta. Mukautetun sanaston avulla voidaan antaa erisnimiä, tuotemerkkejä tai erikoisalan termejä, joita tallenteessa todennäköisesti esiintyy. Valmistaja sallii enintään 1 000 termiä ja toteaa, että kohdennetut, enintään noin 100 termin luettelot toimivat yleensä parhaiten. Varmista, että harvinaiset termit ovat tallenteen kannalta olennaisia, ja tarkista niiden esiintyminen äänitteestä sen sijaan, että pitäisit sanastovihjettä todisteena termin lausumisesta.\n\nVERBATIM on oletustila. Se säilyttää täytesanat, toistot, kesken jääneet aloitukset ja puheessa tehdyt korjaukset, jotta teksti säilyttää puheen alkuperäisen sanamuodon. Käytä tätä tilaa, kun tehtävässä tarvitaan sanakohtaisia aikaleimoja tai puhujien erottelua. Säilytä esimerkiksi haastattelun alkuperäiset puheenvuorot ja ajoitukset ja korjaa sitten tärkeät nimet ja määrät kuuntelemalla kyseinen kohta tallenteesta. Myöhempi yhteenveto tai viimeistelty artikkeli voi perustua tähän tarkistettuun litterointiin ilman, että puhujan sanoja korvataan huomaamatta.\n\nSMART-tila on suunniteltu tuottamaan luettavaa sanelutekstiä. Se poistaa puheen sujumattomuuksia, korjaa tekstin puheessa tehtyjen itsekorjausten mukaiseksi ja jäsentää puhutun aineiston kappaleiksi tai luetteloiksi sekä normalisoi tarvittaessa päivämäärät ja luvut. Saneltu tehtävälista voidaan muotoilla luettavaksi luetteloksi sen sijaan, että se jäisi puhuttujen siirtymäilmausten ketjuksi. Tämä käsittely muuttaa litteroinnin muotoa. Google toteaa nimenomaisesti, ettei SMART ole yhteensopiva sanakohtaisten aikaleimojen eikä puhujien erottelun kanssa. Valitse se siis silloin, kun tarvittava tuotos on luettava teksti, äläkä yritä käyttää sitä ajoitettuna litterointina, jossa puhe on kohdistettu puhujille.\n\nKun sanakohtainen ajoitus on käytössä, vastaus sisältää tunnistetut sanat sekä niiden suhteelliset alku- ja loppuajat. Näiden tietojen avulla voidaan löytää korjattava kohta tallenteesta tai valmistella tekstityksiä. Valmistajan mukaan sanakohtaisten aikaleimojen käyttöönottoon liittyy tarkkuutta koskeva kompromissi. Tarkista tekstin lisäksi myös kohdistus etenkin nopean tai päällekkäisen puheen ja epätavallisen terminologian kohdalla. Hyödyllisessä ajoitetussa litteroinnissa sanakohtaiset tiedot ja alkuperäinen äänite säilytetään yhdessä, eikä sujuvaa lausetta pidetä todisteena siitä, että sen kohdistus on oikea.\n\nPuhujien erottelu tunnistaa äänitteessä esiintyvät eri puhujien äänet ja merkitsee ne tunnisteilla. Dokumentoitu enimmäismäärä on kahdeksan puhujaa. Valmistajan mukaan puheen kohdistaminen puhujille on kokeellista, kun puhujia on vähintään kolme. Käsittele tunnisteita päätelminä siitä, mitkä puheosuudet kuuluvat samalle puhujalle, ja tarkista puhujanvaihdot tallenteesta. Puhujatunniste ei itsessään todista henkilön identiteettiä tai roolia. Jos tehtävässä tarvitaan nimiä, yhdistä tunnisteet tallennetta koskeviin tunnettuihin tietoihin sen sijaan, että keksisit henkilöiden identiteettejä tunnistettujen sanojen perusteella.\n\nValmistajan ominaisuustaulukossa tallennetun äänen käsittelyikkunaksi ilmoitetaan 15 minuuttia. Tiedoston käsittely on rajattu tähän kestoon, kun käytössä on esimerkiksi aikaleimat tai puhujien erottelu. Jaa pidempi lähdeaineisto sopiviin osiin ja säilytä niiden järjestys sekä sijainti alkuperäisen tallenteen aikajanalla. Mallin litterointi, ajoitetut sanat ja puhujatunnisteilla merkityt osat ovat tuloksen eri esitysmuotoja; säilytä tehtävässä tarvittava esitysmuoto. Näitä äänen käsittelyä koskevia rajoja ei tule korvata yleisen multimodaalisen Gemini-mallin konteksti- tai kestoluvuilla. Google luettelee SMART-muotoilun, sanakohtaiset aikaleimat ja puhujien erottelun kokeellisiksi ominaisuuksiksi.\n\nTuloksen määrittelyt koskevat nimenomaan litterointia. SMART-muotoilu tuottaa luettavaa tekstiä, mutta se ei tuo mukanaan JSON-skeemaan perustuvaa yleistä vastausmäärittelyä, työkalukutsujen tukea tai ohjeita noudattavan avustajan työnkulkua. Tarkista lopullista tuotosta varten tärkeät sanamuodot, luvut ja kielteiset ilmaukset äänitteestä, säilytä epäselviksi jääneet kohdat korjattaviksi ja tallenna tieto valitusta tilasta tuloksen yhteyteen. Näin käy selväksi, säilyttääkö tuotos puheen alkuperäisen sanamuodon vai esittääkö se siitä muokatun, luettavaksi tarkoitetun version.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "capabilities": {
      "context_length": 98304,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "1.179648",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "1.179648",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Konfiguraation täydet hintatiedot lisätiedoissa."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "google/gemini-3.5-transcribe",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Näytettyjen hintojen avulla arvioidaan kustannukset ennen generointia. Lopullinen veloitus lasketaan alkuperäiselle generoinnille kirjatun kustannuksen perusteella. Lopullisena laskutettavana määränä ei käytetä tulosteen mitattua kestoa eikä ennustettuja määriä.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "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ä palautettu X-Client-Request-ID täsmäytystä varten. Tee lukukyselyt vain todellisuudessa palautetuilla task_id/asset_id-arvoilla tai käytä omistamaasi mediakirjastoa; älä koskaan rakenna tehtävän URL-osoitetta operaation ID:n perusteella äläkä lähetä luontipyyntöä uudelleen."
            },
            "outputs": {
              "all_results": "Säilytä koko vastaus ja otsakkeet, jokainen todellinen tuloste, alkuperäiset palautetut tunnisteet ja kaikki käyttötietokentät. Selvitä alkuperäisen operaation tila lähettämättä luontipyyntöä uudelleen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                },
                {
                  "description": null,
                  "name": "segments[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "words[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "speaker fields",
                  "type": null
                },
                {
                  "description": null,
                  "name": "timestamps",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "google/gemini-3.5-transcribe"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default": "json",
                "default_known": true,
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "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": [
                    "google/gemini-3.5-transcribe"
                  ],
                  "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": "google/gemini-3.5-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Lue todellinen WAV-tiedosto ja koodaa sen todelliset tavut määriteltyyn JSON input_audio -syötteeseen; tälle täsmälliselle, vain JSON-muotoa käyttävälle määrittelylle ei ilmoiteta multipart-reittiä."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed 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": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              },
              {
                "description": null,
                "name": "segments[]",
                "type": null
              },
              {
                "description": null,
                "name": "words[]",
                "type": null
              },
              {
                "description": null,
                "name": "speaker fields",
                "type": null
              },
              {
                "description": null,
                "name": "timestamps",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.024000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.000024",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          },
          {
            "basis": "Tämä arvio ei ole lisämaksu eikä valmistuneen generoinnin kiinteä hinta.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Arvioitu luontikustannus",
            "units": [
              {
                "amount": "1.179648",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "1.179648",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "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': 'google/gemini-3.5-transcribe', '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"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Litterointi",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.024000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.000024",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "1.179648",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "1.179648",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-3.5-transcribe",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.024000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.000024",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": "1.179648",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "1.179648",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/gemini-3.5-transcribe",
        "request_model_id": "google/gemini-3.5-transcribe",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemini 3.5 Transcribe",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 1.179648,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 1.179648,
      "varies": false
    },
    "short": "Google Gemini 3.5 Transcribe muuntaa tallennetun puheen tekstiksi. Se tukee automaattista kielentunnistusta, mukautettua sanastoa sekä valinnaisia sanakohtaisia aikaleimoja tai puhujien erottelua. Valitse VERBATIM, kun tarvitset aikaleimoja ja puheen kohdistamista puhujille, tai SMART, kun haluat helppolukuista sanelutekstiä; SMART-tilaa ei voi yhdistää kumpaankaan näistä kahdesta ominaisuudesta."
  },
  "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": "Google Gemini 3.5 Transcribe muuntaa tallennetun puheen tekstiksi. Se tukee automaattista kielentunnistusta, mukautettua sanastoa sekä valinnaisia sanakohtaisia aikaleimoja tai puhujien erottelua. Valitse VERBATIM, kun tarvitset aikaleimoja ja puheen kohdistamista puhujille, tai SMART, kun haluat helppolukuista sanelutekstiä; SMART-tilaa ei voi yhdistää kumpaankaan näistä kahdesta ominaisuudesta.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "f92c9ef53a73970c115db4e0ef86486f10a6e7ca8183c3825f163d30b8f45d45",
    "renderer_sha256": "303a59603e2bc29ba8fda690e95fd32cec68de223d92e26054a88babff801dd7"
  },
  "sourceRevision": "449c362e0702342481c666d8f9e9efa4b6cf0b61f6e04c3acc3a3d25be2628c7"
}
