{
  "aboutHtml": "<p>Aura-2 on Deepgramin tekstistä puheeksi -perhe, jonka äänet kattavat seitsemän kieltä: englannin, espanjan, saksan, ranskan, hollannin, italian ja japanin. Se muuntaa annetun tekstin puheeksi asiakaspalveluvastauksia, puhelinvalikoita, selityksiä ja kerrontaa varten. Valmistaja kuvaa rytmityksen, ilmaisullisuuden ja keskustelun täytesanojen reagoivan annetun tekstin sanamuotoihin ja kontekstiin.</p><h4>Sovita ääni kieleen ja tehtävään</h4><p>Jokainen ääni tunnistetaan perheen, puhujan ja kielen perusteella. Valikoima erottaa aksentit ja esityksen ominaispiirteet sen sijaan, että kaikkia puhujia käsiteltäisiin keskenään vaihdettavina. Thalia on energinen amerikanenglannin vaihtoehto; Draco on tarinankerrontaan yhdistetty brittiläinen ääni; Celeste on kolumbianespanjalainen ääni keskusteluun ja kuulutuksiin. Valitse ääni varsinainen käsikirjoitus ja kuulija mielessäsi.</p><p>Valitut espanjankieliset äänet tukevat englannin ja espanjan välistä kielenvaihtoa: Aquila, Carina, Diana, Javier ja Selena. Tämä kyky kuuluu juuri näille nimetyille puhujille, ei perheen jokaiselle äänelle. Säilytä monikielisessä katkelmassa tuotenimien ja lainattujen ilmausten tarkoitettu kieli ja kuuntele siirtymä puhujalla, jonka dokumentoitu profiili tukee tehtävää.</p><h4>Valmistele teksti puhetta varten</h4><p>Aura-2:n muotoiluopas suosittelee lauseen päättäviä välimerkkejä, kysymysmerkkejä kysymyksiin, pilkkuja luonteviin taukoihin ja lyhyitä itsenäisiä ilmauksia. Anna lopullinen puhuttu teksti sen sijaan, että pyytäisit syntetisaattoria kirjoittamaan viestin. Hyödyllinen opastuskäsikirjoitus on: ”Tervetuloa. Valitse kieli ja sitten tarvitsemasi aihe. Voit toistaa ohjeet milloin tahansa.” Välimerkit erottavat kuulijan toiminnot ja antavat mallille selkeämmän rytmin.</p><p>Kirjoita tunniste erillisiksi kirjaimiksi, kun se täytyy lukea merkki kerrallaan. Avaa akronyymit ja vältä pitkää yhteen ketjutettua lausetta, kun selitettäviä ehtoja on useita. Valmistaja suosittelee myös komentosanojen merkitsemistä lainausmerkkeihin ja katkelman lukemista ääneen ennen synteesiä. Säilytä opetus- tai tuotekerronnassa tärkeät termit mutta muunna kirjoitetut otsikot ja tiheät luettelot kokonaisiksi puhutuiksi ilmauksiksi.</p><h4>Tahti ja ääntäminen</h4><p>Valmistaja dokumentoi nopeuden ja IPA-ääntämisen säätimet englannille ja espanjalle. Aura-2:n puhenopeusalue on 0.7–1.5; espanjalle suositus on 0.9–1.5, sillä hitaammat asetukset voivat tehdä puheesta takeltelevaa. Tässä perheessä ääntämisen ja nopeuden voi yhdistää. IPA-korvaukset voivat kohdistua erikoisnimeen tai termiin, ja Aura-2:n käytännössä painomerkki sijoitetaan suoraan ennen vokaalia.</p><p>Ääntämisen ohjauksen määritys sallii enintään viisisataa korvausta, joista jokaisen IPA-merkkijono on enintään 128 merkkiä, ja dokumentoi tätä työnkulkua varten 2 000 merkin syötetekstirajan. Aura-2 ei tue Flux TTS:lle dokumentoitua nimenomaista taukojen säätötoimintoa. Valmistele rytmi lauserakenteella ja välimerkeillä ja jaa pidempi aineisto johdonmukaisiin jaksoihin valitun työnkulun sitä edellyttäessä.</p><h4>Äänen toimitus ja käyttö</h4><p>Valmistaja tarjoaa kokonaisten pyyntöjen synteesiä ja tekstistä ääneksi -suoratoistotyönkulkuja. Mediaopas erottaa suoratoiston raa&#39;an PCM:n, mu-law&#39;n ja A-law&#39;n tiedostopohjaisista vaihtoehdoista, kuten WAV, MP3, Opus, FLAC ja AAC. Aura-pyyntötyönkulun dokumentoitu PCM/WAV-oletus on 24 kHz. Tiedostosäiliöt, näytteenottotaajuudet ja koodaukset muodostavat kelvollisia yhdistelmiä; puhelinyhteys ja ladattava kerrontatiedosto voivat vaatia erilaisia valintoja.</p><p>Aura-2 on erillinen perhe ensimmäisen sukupolven Aurasta ja Flux TTS:stä. Fluxin vuorojen välistä tilaa, keskeytyspalautetta tai vain eräsynteesiin kuuluvia taukosäätimiä ei pidä päätellä Aura-2-äänen nimestä. Hyödyllinen tulos on varsinaisen käsikirjoituksen puhuttu versio sopivalla kielellä ja aksentilla sekä käyttökohteeseen sopivassa äänimuodossa. Tarkista nimet, kielenvaihdot, välimerkkien ohjaama rytmi ja tärkeät ohjeet tarkoitetun kuulijan kanssa ennen tallenteen uudelleenkäyttöä.</p>",
  "aboutText": "Aura-2 on Deepgramin tekstistä puheeksi -perhe, jonka äänet kattavat seitsemän kieltä: englannin, espanjan, saksan, ranskan, hollannin, italian ja japanin. Se muuntaa annetun tekstin puheeksi asiakaspalveluvastauksia, puhelinvalikoita, selityksiä ja kerrontaa varten. Valmistaja kuvaa rytmityksen, ilmaisullisuuden ja keskustelun täytesanojen reagoivan annetun tekstin sanamuotoihin ja kontekstiin.\n\n### Sovita ääni kieleen ja tehtävään\n\nJokainen ääni tunnistetaan perheen, puhujan ja kielen perusteella. Valikoima erottaa aksentit ja esityksen ominaispiirteet sen sijaan, että kaikkia puhujia käsiteltäisiin keskenään vaihdettavina. Thalia on energinen amerikanenglannin vaihtoehto; Draco on tarinankerrontaan yhdistetty brittiläinen ääni; Celeste on kolumbianespanjalainen ääni keskusteluun ja kuulutuksiin. Valitse ääni varsinainen käsikirjoitus ja kuulija mielessäsi.\n\nValitut espanjankieliset äänet tukevat englannin ja espanjan välistä kielenvaihtoa: Aquila, Carina, Diana, Javier ja Selena. Tämä kyky kuuluu juuri näille nimetyille puhujille, ei perheen jokaiselle äänelle. Säilytä monikielisessä katkelmassa tuotenimien ja lainattujen ilmausten tarkoitettu kieli ja kuuntele siirtymä puhujalla, jonka dokumentoitu profiili tukee tehtävää.\n\n### Valmistele teksti puhetta varten\n\nAura-2:n muotoiluopas suosittelee lauseen päättäviä välimerkkejä, kysymysmerkkejä kysymyksiin, pilkkuja luonteviin taukoihin ja lyhyitä itsenäisiä ilmauksia. Anna lopullinen puhuttu teksti sen sijaan, että pyytäisit syntetisaattoria kirjoittamaan viestin. Hyödyllinen opastuskäsikirjoitus on: ”Tervetuloa. Valitse kieli ja sitten tarvitsemasi aihe. Voit toistaa ohjeet milloin tahansa.” Välimerkit erottavat kuulijan toiminnot ja antavat mallille selkeämmän rytmin.\n\nKirjoita tunniste erillisiksi kirjaimiksi, kun se täytyy lukea merkki kerrallaan. Avaa akronyymit ja vältä pitkää yhteen ketjutettua lausetta, kun selitettäviä ehtoja on useita. Valmistaja suosittelee myös komentosanojen merkitsemistä lainausmerkkeihin ja katkelman lukemista ääneen ennen synteesiä. Säilytä opetus- tai tuotekerronnassa tärkeät termit mutta muunna kirjoitetut otsikot ja tiheät luettelot kokonaisiksi puhutuiksi ilmauksiksi.\n\n### Tahti ja ääntäminen\n\nValmistaja dokumentoi nopeuden ja IPA-ääntämisen säätimet englannille ja espanjalle. Aura-2:n puhenopeusalue on 0.7–1.5; espanjalle suositus on 0.9–1.5, sillä hitaammat asetukset voivat tehdä puheesta takeltelevaa. Tässä perheessä ääntämisen ja nopeuden voi yhdistää. IPA-korvaukset voivat kohdistua erikoisnimeen tai termiin, ja Aura-2:n käytännössä painomerkki sijoitetaan suoraan ennen vokaalia.\n\nÄäntämisen ohjauksen määritys sallii enintään viisisataa korvausta, joista jokaisen IPA-merkkijono on enintään 128 merkkiä, ja dokumentoi tätä työnkulkua varten 2 000 merkin syötetekstirajan. Aura-2 ei tue Flux TTS:lle dokumentoitua nimenomaista taukojen säätötoimintoa. Valmistele rytmi lauserakenteella ja välimerkeillä ja jaa pidempi aineisto johdonmukaisiin jaksoihin valitun työnkulun sitä edellyttäessä.\n\n### Äänen toimitus ja käyttö\n\nValmistaja tarjoaa kokonaisten pyyntöjen synteesiä ja tekstistä ääneksi -suoratoistotyönkulkuja. Mediaopas erottaa suoratoiston raa'an PCM:n, mu-law'n ja A-law'n tiedostopohjaisista vaihtoehdoista, kuten WAV, MP3, Opus, FLAC ja AAC. Aura-pyyntötyönkulun dokumentoitu PCM/WAV-oletus on 24 kHz. Tiedostosäiliöt, näytteenottotaajuudet ja koodaukset muodostavat kelvollisia yhdistelmiä; puhelinyhteys ja ladattava kerrontatiedosto voivat vaatia erilaisia valintoja.\n\nAura-2 on erillinen perhe ensimmäisen sukupolven Aurasta ja Flux TTS:stä. Fluxin vuorojen välistä tilaa, keskeytyspalautetta tai vain eräsynteesiin kuuluvia taukosäätimiä ei pidä päätellä Aura-2-äänen nimestä. Hyödyllinen tulos on varsinaisen käsikirjoituksen puhuttu versio sopivalla kielellä ja aksentilla sekä käyttökohteeseen sopivassa äänimuodossa. Tarkista nimet, kielenvaihdot, välimerkkien ohjaama rytmi ja tärkeät ohjeet tarkoitetun kuulijan kanssa ennen tallenteen uudelleenkäyttöä.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "6b78b90a43709075fde320d23d73850cbc1eefd85391a65b7a77a497b66bb658",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "fi",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Deepgram: Aura-2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sulje\">×</button></div><div class=\"idline\"><span>Deepgram /</span><code>deepgram/aura-2</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|speech|/v1/audio/speech|deepgram%2Faura-2\">Puhesynteesi</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\">Deepgram Aura-2 generoi puhetta englanniksi, espanjaksi, saksaksi, ranskaksi, hollanniksi, italiaksi ja japaniksi. Sen äänivalikoima, tekstiin mukautuva rytmitys ja kielikohtaiset ääntämissäätimet tukevat puhuttuja ohjeita, kerrontaa ja monikielisiä sovelluksia.</p><dl class=\"card-io\" data-card-io><div><dt>Hyväksytyt syötteet</dt><dd>Teksti</dd></div><div><dt>Tulokset</dt><dd>Ääni</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>Aura-2 on Deepgramin tekstistä puheeksi -perhe, jonka äänet kattavat seitsemän kieltä: englannin, espanjan, saksan, ranskan, hollannin, italian ja japanin. Se muuntaa annetun tekstin puheeksi asiakaspalveluvastauksia, puhelinvalikoita, selityksiä ja kerrontaa varten. Valmistaja kuvaa rytmityksen, ilmaisullisuuden ja keskustelun täytesanojen reagoivan annetun tekstin sanamuotoihin ja kontekstiin.</p><h4>Sovita ääni kieleen ja tehtävään</h4><p>Jokainen ääni tunnistetaan perheen, puhujan ja kielen perusteella. Valikoima erottaa aksentit ja esityksen ominaispiirteet sen sijaan, että kaikkia puhujia käsiteltäisiin keskenään vaihdettavina. Thalia on energinen amerikanenglannin vaihtoehto; Draco on tarinankerrontaan yhdistetty brittiläinen ääni; Celeste on kolumbianespanjalainen ääni keskusteluun ja kuulutuksiin. Valitse ääni varsinainen käsikirjoitus ja kuulija mielessäsi.</p><p>Valitut espanjankieliset äänet tukevat englannin ja espanjan välistä kielenvaihtoa: Aquila, Carina, Diana, Javier ja Selena. Tämä kyky kuuluu juuri näille nimetyille puhujille, ei perheen jokaiselle äänelle. Säilytä monikielisessä katkelmassa tuotenimien ja lainattujen ilmausten tarkoitettu kieli ja kuuntele siirtymä puhujalla, jonka dokumentoitu profiili tukee tehtävää.</p><h4>Valmistele teksti puhetta varten</h4><p>Aura-2:n muotoiluopas suosittelee lauseen päättäviä välimerkkejä, kysymysmerkkejä kysymyksiin, pilkkuja luonteviin taukoihin ja lyhyitä itsenäisiä ilmauksia. Anna lopullinen puhuttu teksti sen sijaan, että pyytäisit syntetisaattoria kirjoittamaan viestin. Hyödyllinen opastuskäsikirjoitus on: ”Tervetuloa. Valitse kieli ja sitten tarvitsemasi aihe. Voit toistaa ohjeet milloin tahansa.” Välimerkit erottavat kuulijan toiminnot ja antavat mallille selkeämmän rytmin.</p><p>Kirjoita tunniste erillisiksi kirjaimiksi, kun se täytyy lukea merkki kerrallaan. Avaa akronyymit ja vältä pitkää yhteen ketjutettua lausetta, kun selitettäviä ehtoja on useita. Valmistaja suosittelee myös komentosanojen merkitsemistä lainausmerkkeihin ja katkelman lukemista ääneen ennen synteesiä. Säilytä opetus- tai tuotekerronnassa tärkeät termit mutta muunna kirjoitetut otsikot ja tiheät luettelot kokonaisiksi puhutuiksi ilmauksiksi.</p><h4>Tahti ja ääntäminen</h4><p>Valmistaja dokumentoi nopeuden ja IPA-ääntämisen säätimet englannille ja espanjalle. Aura-2:n puhenopeusalue on 0.7–1.5; espanjalle suositus on 0.9–1.5, sillä hitaammat asetukset voivat tehdä puheesta takeltelevaa. Tässä perheessä ääntämisen ja nopeuden voi yhdistää. IPA-korvaukset voivat kohdistua erikoisnimeen tai termiin, ja Aura-2:n käytännössä painomerkki sijoitetaan suoraan ennen vokaalia.</p><p>Ääntämisen ohjauksen määritys sallii enintään viisisataa korvausta, joista jokaisen IPA-merkkijono on enintään 128 merkkiä, ja dokumentoi tätä työnkulkua varten 2 000 merkin syötetekstirajan. Aura-2 ei tue Flux TTS:lle dokumentoitua nimenomaista taukojen säätötoimintoa. Valmistele rytmi lauserakenteella ja välimerkeillä ja jaa pidempi aineisto johdonmukaisiin jaksoihin valitun työnkulun sitä edellyttäessä.</p><h4>Äänen toimitus ja käyttö</h4><p>Valmistaja tarjoaa kokonaisten pyyntöjen synteesiä ja tekstistä ääneksi -suoratoistotyönkulkuja. Mediaopas erottaa suoratoiston raa&#39;an PCM:n, mu-law&#39;n ja A-law&#39;n tiedostopohjaisista vaihtoehdoista, kuten WAV, MP3, Opus, FLAC ja AAC. Aura-pyyntötyönkulun dokumentoitu PCM/WAV-oletus on 24 kHz. Tiedostosäiliöt, näytteenottotaajuudet ja koodaukset muodostavat kelvollisia yhdistelmiä; puhelinyhteys ja ladattava kerrontatiedosto voivat vaatia erilaisia valintoja.</p><p>Aura-2 on erillinen perhe ensimmäisen sukupolven Aurasta ja Flux TTS:stä. Fluxin vuorojen välistä tilaa, keskeytyspalautetta tai vain eräsynteesiin kuuluvia taukosäätimiä ei pidä päätellä Aura-2-äänen nimestä. Hyödyllinen tulos on varsinaisen käsikirjoituksen puhuttu versio sopivalla kielellä ja aksentilla sekä käyttökohteeseen sopivassa äänimuodossa. Tarkista nimet, kielenvaihdot, välimerkkien ohjaama rytmi ja tärkeät ohjeet tarkoitetun kuulijan kanssa ennen tallenteen uudelleenkäyttöä.</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 · Puhesynteesi</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Syötetyypit</dt><dd><code>text</code></dd></div><div><dt>Tulostyypit</dt><dd><code>audio</code></dd></div><div><dt>Tulosteen muoto</dt><dd>mp3</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Kenttä</th><th>Tyyppi</th><th>Vaatimus</th><th>Arvot &amp; rajat</th><th>Oletus</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>deepgram/aura-2</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">input</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>Vähimmäispituus: 1</div><div>Yksikkö: Unicode-merkit</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">voice</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>aura-2-thalia-en, aura-2-agathe-fr, aura-2-agustina-es, aura-2-alvaro-es, aura-2-ama-ja, aura-2-amalthea-en, aura-2-andromeda-en, aura-2-antonia-es, aura-2-apollo-en, aura-2-aquila-es, aura-2-arcas-en, aura-2-aries-en, aura-2-asteria-en, aura-2-athena-en, aura-2-atlas-en, aura-2-aurelia-de, aura-2-aurora-en, aura-2-beatrix-nl, aura-2-callista-en, aura-2-carina-es, aura-2-celeste-es, aura-2-cesare-it, aura-2-cinzia-it, aura-2-cora-en, aura-2-cordelia-en, aura-2-cornelia-nl, aura-2-daphne-nl, aura-2-delia-en, aura-2-demetra-it, aura-2-diana-es, aura-2-dionisio-it, aura-2-draco-en, aura-2-ebisu-ja, aura-2-elara-de, aura-2-electra-en, aura-2-elio-it, aura-2-estrella-es, aura-2-fabian-de, aura-2-flavio-it, aura-2-fujin-ja, aura-2-gloria-es, aura-2-harmonia-en, aura-2-hector-fr, aura-2-helena-en, aura-2-hera-en, aura-2-hermes-en, aura-2-hestia-nl, aura-2-hyperion-en, aura-2-iris-en, aura-2-izanami-ja, aura-2-janus-en, aura-2-javier-es, aura-2-julius-de, aura-2-juno-en, aura-2-jupiter-en, aura-2-kara-de, aura-2-lara-de, aura-2-lars-nl, aura-2-leda-nl, aura-2-livia-it, aura-2-luciano-es, aura-2-luna-en, aura-2-maia-it, aura-2-mars-en, aura-2-melia-it, aura-2-minerva-en, aura-2-neptune-en, aura-2-nestor-es, aura-2-odysseus-en, aura-2-olivia-es, aura-2-ophelia-en, aura-2-orion-en, aura-2-orpheus-en, aura-2-pandora-en, aura-2-phoebe-en, aura-2-pluto-en, aura-2-rhea-nl, aura-2-roman-nl, aura-2-sander-nl, aura-2-saturn-en, aura-2-selena-es, aura-2-selene-en, aura-2-silvia-es, aura-2-sirio-es, aura-2-theia-en, aura-2-uzume-ja, aura-2-valerio-es, aura-2-vesta-en, aura-2-viktoria-de, aura-2-zeus-en</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">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>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>mp3</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Syöteaineistojen yhdistelmät</summary><p class=\"note-s\"><b>text_to_speech</b> · Pakollinen: input</p></details><details class=\"note-s\" data-method-contract><summary>Menetelmän parametrit ja elinkaari</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametri</th><th>Sopimus</th></tr></thead><tbody><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>content_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, voice, response_format</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>voice_ids</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>aura-2-thalia-en, aura-2-agathe-fr, aura-2-agustina-es, aura-2-alvaro-es, aura-2-ama-ja, aura-2-amalthea-en, aura-2-andromeda-en, aura-2-antonia-es, aura-2-apollo-en, aura-2-aquila-es, aura-2-arcas-en, aura-2-aries-en, aura-2-asteria-en, aura-2-athena-en, aura-2-atlas-en, aura-2-aurelia-de, aura-2-aurora-en, aura-2-beatrix-nl, aura-2-callista-en, aura-2-carina-es, aura-2-celeste-es, aura-2-cesare-it, aura-2-cinzia-it, aura-2-cora-en, aura-2-cordelia-en, aura-2-cornelia-nl, aura-2-daphne-nl, aura-2-delia-en, aura-2-demetra-it, aura-2-diana-es, aura-2-dionisio-it, aura-2-draco-en, aura-2-ebisu-ja, aura-2-elara-de, aura-2-electra-en, aura-2-elio-it, aura-2-estrella-es, aura-2-fabian-de, aura-2-flavio-it, aura-2-fujin-ja, aura-2-gloria-es, aura-2-harmonia-en, aura-2-hector-fr, aura-2-helena-en, aura-2-hera-en, aura-2-hermes-en, aura-2-hestia-nl, aura-2-hyperion-en, aura-2-iris-en, aura-2-izanami-ja, aura-2-janus-en, aura-2-javier-es, aura-2-julius-de, aura-2-juno-en, aura-2-jupiter-en, aura-2-kara-de, aura-2-lara-de, aura-2-lars-nl, aura-2-leda-nl, aura-2-livia-it, aura-2-luciano-es, aura-2-luna-en, aura-2-maia-it, aura-2-mars-en, aura-2-melia-it, aura-2-minerva-en, aura-2-neptune-en, aura-2-nestor-es, aura-2-odysseus-en, aura-2-olivia-es, aura-2-ophelia-en, aura-2-orion-en, aura-2-orpheus-en, aura-2-pandora-en, aura-2-phoebe-en, aura-2-pluto-en, aura-2-rhea-nl, aura-2-roman-nl, aura-2-sander-nl, aura-2-saturn-en, aura-2-selena-es, aura-2-selene-en, aura-2-silvia-es, aura-2-sirio-es, aura-2-theia-en, aura-2-uzume-ja, aura-2-valerio-es, aura-2-vesta-en, aura-2-viktoria-de, aura-2-zeus-en</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>response_format</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>mp3</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>max_input_characters</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>null</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>other_options</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>false</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>input</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>täsmällinen UTF-8-teksti; Unicode-merkkien määrä ilman normalisointia</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>text</td></tr></tbody></table></div><p>Elinkaari: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · todellisuudessa palautettu task_id tai mediakirjaston tietue</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p><p class=\"note-s\">Valitse juuri tämän malliprofiilin ääni.</p><p class=\"note-s\">Syötemerkit ja äänisekunnit ovat eri mittareita.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Hinnoittelu</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.</p><dl data-price-conditions><dt>Nopea tila</dt><dd>Ei määritetty <span class=\"note-s\">Kun nopea tila on valittu</span></dd><dt>Flex-tila</dt><dd>Ei määritetty <span class=\"note-s\">Kun flex-tila on valittu</span></dd><dt>Päättelyn enimmäisteho</dt><dd>Ei määritetty <span class=\"note-s\">Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-hinnat</h4><h4>Hinnat asetusten mukaan</h4><p class=\"note-s\">Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Asetukset</th><th>Hinnasto</th><th>Laskutusyksikkö</th><th>Veloitus</th></tr></thead><tbody><tr><th data-cell-label=\"Asetukset\" scope=\"row\"><span class=\"card-cell-label\">Asetukset</span>Tokenien perushinnat</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>Perushinta</td><td data-cell-label=\"Laskutusyksikkö\"><span class=\"card-cell-label\">Laskutusyksikkö</span>—</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Syöte · Syötetokenit</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Tuloste · Tulostokenit</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistin luku</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistiin kirjoitus</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistiin kirjoitus, 1 tunti</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div></td></tr><tr><th data-cell-label=\"Asetukset\" scope=\"row\"><span class=\"card-cell-label\">Asetukset</span>syötemerkki</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>—</td><td data-cell-label=\"Laskutusyksikkö\"><span class=\"card-cell-label\">Laskutusyksikkö</span>syötemerkkiä kohden</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Syöte · syötemerkki</span> <b>$0.00006</b> <span class=\"price-unit\">syötemerkkiä kohden</span></div></td></tr></tbody></table></div></div><div data-declared-reference-pricing><h4>Viitehinnaston tiedot</h4><p class=\"note-s\">Mallitason viitehinnastot eivät muuta menetelmän valintaa, hinta-arvioita tai veloituksia. Käytössä olevat veloitukset käyttävät valitun Ailoot-menetelmän hintoja.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Deepgram: Aura-2</summary><h4>Hinnat asetusten mukaan</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Asetukset</th><th>Laskutusehdot</th><th>Veloitus</th></tr></thead><tbody><tr><th data-cell-label=\"Asetukset\" scope=\"row\"><span class=\"card-cell-label\">Asetukset</span>Deepgram: Aura-2 · Oletusasetukset</th><td data-cell-label=\"Laskutusehdot\"><span class=\"card-cell-label\">Laskutusehdot</span>Oletuskokoonpano</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Syöte · Syötteen merkit</span> <b>0,00006 $</b> <span class=\"price-unit\">syötemerkkiä kohden</span></div></td></tr></tbody></table></div></details></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 · Puhesynteesi</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-1196-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1196-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</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-1196-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1196-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}&quot;\nexport AILOOT_VOICE_ID\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;deepgram/aura-2&quot;, &quot;input&quot;: &quot;Good afternoon! This is a short voice take.&quot;}&#39;)\nvoice=os.environ[&quot;AILOOT_VOICE_ID&quot;]\nallowed=json.loads(&#39;[&quot;aura-2-thalia-en&quot;, &quot;aura-2-agathe-fr&quot;, &quot;aura-2-agustina-es&quot;, &quot;aura-2-alvaro-es&quot;, &quot;aura-2-ama-ja&quot;, &quot;aura-2-amalthea-en&quot;, &quot;aura-2-andromeda-en&quot;, &quot;aura-2-antonia-es&quot;, &quot;aura-2-apollo-en&quot;, &quot;aura-2-aquila-es&quot;, &quot;aura-2-arcas-en&quot;, &quot;aura-2-aries-en&quot;, &quot;aura-2-asteria-en&quot;, &quot;aura-2-athena-en&quot;, &quot;aura-2-atlas-en&quot;, &quot;aura-2-aurelia-de&quot;, &quot;aura-2-aurora-en&quot;, &quot;aura-2-beatrix-nl&quot;, &quot;aura-2-callista-en&quot;, &quot;aura-2-carina-es&quot;, &quot;aura-2-celeste-es&quot;, &quot;aura-2-cesare-it&quot;, &quot;aura-2-cinzia-it&quot;, &quot;aura-2-cora-en&quot;, &quot;aura-2-cordelia-en&quot;, &quot;aura-2-cornelia-nl&quot;, &quot;aura-2-daphne-nl&quot;, &quot;aura-2-delia-en&quot;, &quot;aura-2-demetra-it&quot;, &quot;aura-2-diana-es&quot;, &quot;aura-2-dionisio-it&quot;, &quot;aura-2-draco-en&quot;, &quot;aura-2-ebisu-ja&quot;, &quot;aura-2-elara-de&quot;, &quot;aura-2-electra-en&quot;, &quot;aura-2-elio-it&quot;, &quot;aura-2-estrella-es&quot;, &quot;aura-2-fabian-de&quot;, &quot;aura-2-flavio-it&quot;, &quot;aura-2-fujin-ja&quot;, &quot;aura-2-gloria-es&quot;, &quot;aura-2-harmonia-en&quot;, &quot;aura-2-hector-fr&quot;, &quot;aura-2-helena-en&quot;, &quot;aura-2-hera-en&quot;, &quot;aura-2-hermes-en&quot;, &quot;aura-2-hestia-nl&quot;, &quot;aura-2-hyperion-en&quot;, &quot;aura-2-iris-en&quot;, &quot;aura-2-izanami-ja&quot;, &quot;aura-2-janus-en&quot;, &quot;aura-2-javier-es&quot;, &quot;aura-2-julius-de&quot;, &quot;aura-2-juno-en&quot;, &quot;aura-2-jupiter-en&quot;, &quot;aura-2-kara-de&quot;, &quot;aura-2-lara-de&quot;, &quot;aura-2-lars-nl&quot;, &quot;aura-2-leda-nl&quot;, &quot;aura-2-livia-it&quot;, &quot;aura-2-luciano-es&quot;, &quot;aura-2-luna-en&quot;, &quot;aura-2-maia-it&quot;, &quot;aura-2-mars-en&quot;, &quot;aura-2-melia-it&quot;, &quot;aura-2-minerva-en&quot;, &quot;aura-2-neptune-en&quot;, &quot;aura-2-nestor-es&quot;, &quot;aura-2-odysseus-en&quot;, &quot;aura-2-olivia-es&quot;, &quot;aura-2-ophelia-en&quot;, &quot;aura-2-orion-en&quot;, &quot;aura-2-orpheus-en&quot;, &quot;aura-2-pandora-en&quot;, &quot;aura-2-phoebe-en&quot;, &quot;aura-2-pluto-en&quot;, &quot;aura-2-rhea-nl&quot;, &quot;aura-2-roman-nl&quot;, &quot;aura-2-sander-nl&quot;, &quot;aura-2-saturn-en&quot;, &quot;aura-2-selena-es&quot;, &quot;aura-2-selene-en&quot;, &quot;aura-2-silvia-es&quot;, &quot;aura-2-sirio-es&quot;, &quot;aura-2-theia-en&quot;, &quot;aura-2-uzume-ja&quot;, &quot;aura-2-valerio-es&quot;, &quot;aura-2-vesta-en&quot;, &quot;aura-2-viktoria-de&quot;, &quot;aura-2-zeus-en&quot;]&#39;)\nif voice not in allowed: raise SystemExit(&quot;Choose an accepted voice ID from this exact model profile&quot;)\np[&quot;voice&quot;]=voice\np[&quot;response_format&quot;]=&quot;mp3&quot;\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\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 speech.mp3\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 · Puhesynteesi</h4><p class=\"note-s\">mp3</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><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-1197-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1197-panel-0\" aria-selected=\"true\" tabindex=\"0\">Mediakirjasto</button><button class=\"cg-tab\" id=\"model-code-1197-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1197-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Tehtävän tila</button><button class=\"cg-tab\" id=\"model-code-1197-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1197-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Aineiston tiedot</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-1197-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1197-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 media-assets.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1197-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1197-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_MEDIA_TASK_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/tasks/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-task.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-task.json&quot;).read_text())))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1197-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-1197-tab-2\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_ASSET_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/assets/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-asset.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-asset.json&quot;).read_text())))\nPY_RESULT\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 binääritulos ja otsakkeet. Jos palautetaan JSON tai useita tulosteita, säilytä jokainen data-alkio ja nouda jokainen resurssi sen todellisesta allekirjoitetusta URL-osoitteesta.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jos alkuperäinen vastaus on tarkistettava</h5><p class=\"note-s\">Säilytä alkuperäinen operation_id/X-Client-Request-ID täsmäytystä varten lähettämättä pyyntöä uudelleen; erillistä äänen tilakyselyreittiä ei ole.</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\">binary audio</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>bytes</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">response headers</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>headers</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Virheet ja seuraavat vaiheet</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Vastaus</th><th>Ehto</th><th>Seuraava vaihe</th></tr></thead><tbody><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Virheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Korjaa ilmoitetut kentät ennen uutta luontipyyntöä.</td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span><code>server_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Palautettu vastaus ilmoittaa, että operaatio tai tulos edellyttää tarkistusta</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Säilytä alkuperäinen palautettu operaation tai tehtävän ID, pyynnön otsakkeet ja vastaus; jatka kyseisen alkuperäisen operaation tuettuja lukutoimintoja. Älä lähetä luontipyyntöä uudelleen.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliakset</h3><h4>Mallin aliakset</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=deepgram%2Faura-2&amp;route=Ultra&amp;caller=deepgram%2Faura-2&amp;fmt=speech\"><code>deepgram/aura-2</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=deepgram%2Faura-2&amp;route=Ultra&amp;caller=deepgram%2Faura-2&amp;fmt=speech\"><code>deepgram/aura-2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "deepgram/aura-2",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "deepgram/aura-2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|deepgram%2Faura-2",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "errors": [
              {
                "code": null,
                "condition": "Virheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo",
                "http_status": 400,
                "recovery": "Korjaa ilmoitetut kentät ennen uutta luontipyyntöä.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Palautettu vastaus ilmoittaa, että operaatio tai tulos edellyttää tarkistusta",
                "http_status": null,
                "recovery": "Säilytä alkuperäinen palautettu operaation tai tehtävän ID, pyynnön otsakkeet ja vastaus; jatka kyseisen alkuperäisen operaation tuettuja lukutoimintoja. Älä lähetä luontipyyntöä uudelleen.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Säilytä alkuperäinen operation_id/X-Client-Request-ID täsmäytystä varten lähettämättä pyyntöä uudelleen; erillistä äänen tilakyselyreittiä ei ole."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "Säilytä koko binääritulos ja otsakkeet. Jos palautetaan JSON tai useita tulosteita, säilytä jokainen data-alkio ja nouda jokainen resurssi sen todellisesta allekirjoitetusta URL-osoitteesta.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3",
              "http_success": 200
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "deepgram/aura-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_known": false,
                "maximum_length": null,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "Unicode-merkit"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "aura-2-thalia-en",
                  "aura-2-agathe-fr",
                  "aura-2-agustina-es",
                  "aura-2-alvaro-es",
                  "aura-2-ama-ja",
                  "aura-2-amalthea-en",
                  "aura-2-andromeda-en",
                  "aura-2-antonia-es",
                  "aura-2-apollo-en",
                  "aura-2-aquila-es",
                  "aura-2-arcas-en",
                  "aura-2-aries-en",
                  "aura-2-asteria-en",
                  "aura-2-athena-en",
                  "aura-2-atlas-en",
                  "aura-2-aurelia-de",
                  "aura-2-aurora-en",
                  "aura-2-beatrix-nl",
                  "aura-2-callista-en",
                  "aura-2-carina-es",
                  "aura-2-celeste-es",
                  "aura-2-cesare-it",
                  "aura-2-cinzia-it",
                  "aura-2-cora-en",
                  "aura-2-cordelia-en",
                  "aura-2-cornelia-nl",
                  "aura-2-daphne-nl",
                  "aura-2-delia-en",
                  "aura-2-demetra-it",
                  "aura-2-diana-es",
                  "aura-2-dionisio-it",
                  "aura-2-draco-en",
                  "aura-2-ebisu-ja",
                  "aura-2-elara-de",
                  "aura-2-electra-en",
                  "aura-2-elio-it",
                  "aura-2-estrella-es",
                  "aura-2-fabian-de",
                  "aura-2-flavio-it",
                  "aura-2-fujin-ja",
                  "aura-2-gloria-es",
                  "aura-2-harmonia-en",
                  "aura-2-hector-fr",
                  "aura-2-helena-en",
                  "aura-2-hera-en",
                  "aura-2-hermes-en",
                  "aura-2-hestia-nl",
                  "aura-2-hyperion-en",
                  "aura-2-iris-en",
                  "aura-2-izanami-ja",
                  "aura-2-janus-en",
                  "aura-2-javier-es",
                  "aura-2-julius-de",
                  "aura-2-juno-en",
                  "aura-2-jupiter-en",
                  "aura-2-kara-de",
                  "aura-2-lara-de",
                  "aura-2-lars-nl",
                  "aura-2-leda-nl",
                  "aura-2-livia-it",
                  "aura-2-luciano-es",
                  "aura-2-luna-en",
                  "aura-2-maia-it",
                  "aura-2-mars-en",
                  "aura-2-melia-it",
                  "aura-2-minerva-en",
                  "aura-2-neptune-en",
                  "aura-2-nestor-es",
                  "aura-2-odysseus-en",
                  "aura-2-olivia-es",
                  "aura-2-ophelia-en",
                  "aura-2-orion-en",
                  "aura-2-orpheus-en",
                  "aura-2-pandora-en",
                  "aura-2-phoebe-en",
                  "aura-2-pluto-en",
                  "aura-2-rhea-nl",
                  "aura-2-roman-nl",
                  "aura-2-sander-nl",
                  "aura-2-saturn-en",
                  "aura-2-selena-es",
                  "aura-2-selene-en",
                  "aura-2-silvia-es",
                  "aura-2-sirio-es",
                  "aura-2-theia-en",
                  "aura-2-uzume-ja",
                  "aura-2-valerio-es",
                  "aura-2-vesta-en",
                  "aura-2-viktoria-de",
                  "aura-2-zeus-en"
                ],
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "every field outside exactmodel,input,voice,response_format",
              "stream/speed/reference speech options"
            ]
          },
          "hints": [
            "Valitse juuri tämän malliprofiilin ääni.",
            "Syötemerkit ja äänisekunnit ovat eri mittareita."
          ],
          "input": {
            "content_type": "application/json",
            "input": "täsmällinen UTF-8-teksti; Unicode-merkkien määrä ilman normalisointia",
            "material_types": [
              "text"
            ],
            "max_input_characters": null,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice",
              "response_format"
            ],
            "response_format": [
              "mp3"
            ],
            "voice_ids": [
              "aura-2-thalia-en",
              "aura-2-agathe-fr",
              "aura-2-agustina-es",
              "aura-2-alvaro-es",
              "aura-2-ama-ja",
              "aura-2-amalthea-en",
              "aura-2-andromeda-en",
              "aura-2-antonia-es",
              "aura-2-apollo-en",
              "aura-2-aquila-es",
              "aura-2-arcas-en",
              "aura-2-aries-en",
              "aura-2-asteria-en",
              "aura-2-athena-en",
              "aura-2-atlas-en",
              "aura-2-aurelia-de",
              "aura-2-aurora-en",
              "aura-2-beatrix-nl",
              "aura-2-callista-en",
              "aura-2-carina-es",
              "aura-2-celeste-es",
              "aura-2-cesare-it",
              "aura-2-cinzia-it",
              "aura-2-cora-en",
              "aura-2-cordelia-en",
              "aura-2-cornelia-nl",
              "aura-2-daphne-nl",
              "aura-2-delia-en",
              "aura-2-demetra-it",
              "aura-2-diana-es",
              "aura-2-dionisio-it",
              "aura-2-draco-en",
              "aura-2-ebisu-ja",
              "aura-2-elara-de",
              "aura-2-electra-en",
              "aura-2-elio-it",
              "aura-2-estrella-es",
              "aura-2-fabian-de",
              "aura-2-flavio-it",
              "aura-2-fujin-ja",
              "aura-2-gloria-es",
              "aura-2-harmonia-en",
              "aura-2-hector-fr",
              "aura-2-helena-en",
              "aura-2-hera-en",
              "aura-2-hermes-en",
              "aura-2-hestia-nl",
              "aura-2-hyperion-en",
              "aura-2-iris-en",
              "aura-2-izanami-ja",
              "aura-2-janus-en",
              "aura-2-javier-es",
              "aura-2-julius-de",
              "aura-2-juno-en",
              "aura-2-jupiter-en",
              "aura-2-kara-de",
              "aura-2-lara-de",
              "aura-2-lars-nl",
              "aura-2-leda-nl",
              "aura-2-livia-it",
              "aura-2-luciano-es",
              "aura-2-luna-en",
              "aura-2-maia-it",
              "aura-2-mars-en",
              "aura-2-melia-it",
              "aura-2-minerva-en",
              "aura-2-neptune-en",
              "aura-2-nestor-es",
              "aura-2-odysseus-en",
              "aura-2-olivia-es",
              "aura-2-ophelia-en",
              "aura-2-orion-en",
              "aura-2-orpheus-en",
              "aura-2-pandora-en",
              "aura-2-phoebe-en",
              "aura-2-pluto-en",
              "aura-2-rhea-nl",
              "aura-2-roman-nl",
              "aura-2-sander-nl",
              "aura-2-saturn-en",
              "aura-2-selena-es",
              "aura-2-selene-en",
              "aura-2-silvia-es",
              "aura-2-sirio-es",
              "aura-2-theia-en",
              "aura-2-uzume-ja",
              "aura-2-valerio-es",
              "aura-2-vesta-en",
              "aura-2-viktoria-de",
              "aura-2-zeus-en"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "todellisuudessa palautettu task_id tai mediakirjaston tietue",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "family": "audio",
            "format": "mp3",
            "http_success": 200,
            "response": "full binary MP3 plus response headers",
            "result": "complete playable owned MP3"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input character"
            },
            "label": "input character",
            "units": [
              {
                "amount": "0.00006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00006",
                "native_quantity": 1,
                "public_unit_label": "per input character",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_character"
              }
            ]
          }
        ],
        "declared_tariff_references": [
          {
            "client_selectable": false,
            "key": "6be270d373c5634e423e",
            "label": "Deepgram: Aura-2",
            "profiles": [
              {
                "basis": "",
                "dimensions": {
                  "conditions": "Oletuskokoonpano"
                },
                "label": "Deepgram: Aura-2 · Oletusasetukset",
                "units": [
                  {
                    "amount": "0.00006",
                    "amount_unit": "usd_per_exact_physical_unit",
                    "billing_input": false,
                    "key": "a771a87d10f80abfd8f1b8cc",
                    "label": "Input characters",
                    "public_unit_label": "per input character",
                    "quantity": "1",
                    "rate_role": "declared_tariff_rate",
                    "side": "in",
                    "unit": "input_character"
                  }
                ]
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"deepgram/aura-2\", \"input\": \"Good afternoon! This is a short voice take.\"}')\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nallowed=json.loads('[\"aura-2-thalia-en\", \"aura-2-agathe-fr\", \"aura-2-agustina-es\", \"aura-2-alvaro-es\", \"aura-2-ama-ja\", \"aura-2-amalthea-en\", \"aura-2-andromeda-en\", \"aura-2-antonia-es\", \"aura-2-apollo-en\", \"aura-2-aquila-es\", \"aura-2-arcas-en\", \"aura-2-aries-en\", \"aura-2-asteria-en\", \"aura-2-athena-en\", \"aura-2-atlas-en\", \"aura-2-aurelia-de\", \"aura-2-aurora-en\", \"aura-2-beatrix-nl\", \"aura-2-callista-en\", \"aura-2-carina-es\", \"aura-2-celeste-es\", \"aura-2-cesare-it\", \"aura-2-cinzia-it\", \"aura-2-cora-en\", \"aura-2-cordelia-en\", \"aura-2-cornelia-nl\", \"aura-2-daphne-nl\", \"aura-2-delia-en\", \"aura-2-demetra-it\", \"aura-2-diana-es\", \"aura-2-dionisio-it\", \"aura-2-draco-en\", \"aura-2-ebisu-ja\", \"aura-2-elara-de\", \"aura-2-electra-en\", \"aura-2-elio-it\", \"aura-2-estrella-es\", \"aura-2-fabian-de\", \"aura-2-flavio-it\", \"aura-2-fujin-ja\", \"aura-2-gloria-es\", \"aura-2-harmonia-en\", \"aura-2-hector-fr\", \"aura-2-helena-en\", \"aura-2-hera-en\", \"aura-2-hermes-en\", \"aura-2-hestia-nl\", \"aura-2-hyperion-en\", \"aura-2-iris-en\", \"aura-2-izanami-ja\", \"aura-2-janus-en\", \"aura-2-javier-es\", \"aura-2-julius-de\", \"aura-2-juno-en\", \"aura-2-jupiter-en\", \"aura-2-kara-de\", \"aura-2-lara-de\", \"aura-2-lars-nl\", \"aura-2-leda-nl\", \"aura-2-livia-it\", \"aura-2-luciano-es\", \"aura-2-luna-en\", \"aura-2-maia-it\", \"aura-2-mars-en\", \"aura-2-melia-it\", \"aura-2-minerva-en\", \"aura-2-neptune-en\", \"aura-2-nestor-es\", \"aura-2-odysseus-en\", \"aura-2-olivia-es\", \"aura-2-ophelia-en\", \"aura-2-orion-en\", \"aura-2-orpheus-en\", \"aura-2-pandora-en\", \"aura-2-phoebe-en\", \"aura-2-pluto-en\", \"aura-2-rhea-nl\", \"aura-2-roman-nl\", \"aura-2-sander-nl\", \"aura-2-saturn-en\", \"aura-2-selena-es\", \"aura-2-selene-en\", \"aura-2-silvia-es\", \"aura-2-sirio-es\", \"aura-2-theia-en\", \"aura-2-uzume-ja\", \"aura-2-valerio-es\", \"aura-2-vesta-en\", \"aura-2-viktoria-de\", \"aura-2-zeus-en\"]')\nif voice not in allowed: raise SystemExit(\"Choose an accepted voice ID from this exact model profile\")\np[\"voice\"]=voice\np[\"response_format\"]=\"mp3\"\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o speech.mp3\n",
            "label": "curl",
            "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 media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Select exact voice from this model profile.",
          "Input characters and audio seconds are different meters."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_character": 6e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input character"
            },
            "label": "input character",
            "units": [
              {
                "amount": "0.00006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00006",
                "native_quantity": 1,
                "public_unit_label": "per input character",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_character"
              }
            ]
          }
        ],
        "request_model_id": "deepgram/aura-2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00006",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00006",
            "native_quantity": 1,
            "public_unit_label": "per input character",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_character"
          }
        ]
      }
    }
  ],
  "model_id": "deepgram/aura-2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "b7160d8dc821a5013c864021629e11ce9ddf022a3ccfbeb30dac61c7d913b8eb",
    "input_html_sha256": "a9a8df9fa8159e3f8f143de87d1a842c142abfe8c22532c24728919a8f824fa7",
    "private_audit_sha256": "61acaa985d6e9934ab8fbb800233bb39fbd70613d7a03f0ac91407dfc23fca6a",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fi/deepgram-aura-2/",
    "description": "Deepgram Aura-2 generoi puhetta englanniksi, espanjaksi, saksaksi, ranskaksi, hollanniksi, italiaksi ja japaniksi. Sen äänivalikoima, tekstiin mukautuva rytmitys ja kielikohtaiset ääntämissäätimet tukevat puhuttuja ohjeita, kerrontaa ja monikielisiä sovelluksia.",
    "locale": "fi",
    "md_url": "https://ailoot.ai/models/fi/deepgram-aura-2/index.md",
    "title": "Deepgram: Aura-2 — Ailoot",
    "url": "https://ailoot.ai/models/fi/deepgram-aura-2/"
  },
  "rawModel": {
    "about": "Aura-2 on Deepgramin tekstistä puheeksi -perhe, jonka äänet kattavat seitsemän kieltä: englannin, espanjan, saksan, ranskan, hollannin, italian ja japanin. Se muuntaa annetun tekstin puheeksi asiakaspalveluvastauksia, puhelinvalikoita, selityksiä ja kerrontaa varten. Valmistaja kuvaa rytmityksen, ilmaisullisuuden ja keskustelun täytesanojen reagoivan annetun tekstin sanamuotoihin ja kontekstiin.\n\n### Sovita ääni kieleen ja tehtävään\n\nJokainen ääni tunnistetaan perheen, puhujan ja kielen perusteella. Valikoima erottaa aksentit ja esityksen ominaispiirteet sen sijaan, että kaikkia puhujia käsiteltäisiin keskenään vaihdettavina. Thalia on energinen amerikanenglannin vaihtoehto; Draco on tarinankerrontaan yhdistetty brittiläinen ääni; Celeste on kolumbianespanjalainen ääni keskusteluun ja kuulutuksiin. Valitse ääni varsinainen käsikirjoitus ja kuulija mielessäsi.\n\nValitut espanjankieliset äänet tukevat englannin ja espanjan välistä kielenvaihtoa: Aquila, Carina, Diana, Javier ja Selena. Tämä kyky kuuluu juuri näille nimetyille puhujille, ei perheen jokaiselle äänelle. Säilytä monikielisessä katkelmassa tuotenimien ja lainattujen ilmausten tarkoitettu kieli ja kuuntele siirtymä puhujalla, jonka dokumentoitu profiili tukee tehtävää.\n\n### Valmistele teksti puhetta varten\n\nAura-2:n muotoiluopas suosittelee lauseen päättäviä välimerkkejä, kysymysmerkkejä kysymyksiin, pilkkuja luonteviin taukoihin ja lyhyitä itsenäisiä ilmauksia. Anna lopullinen puhuttu teksti sen sijaan, että pyytäisit syntetisaattoria kirjoittamaan viestin. Hyödyllinen opastuskäsikirjoitus on: ”Tervetuloa. Valitse kieli ja sitten tarvitsemasi aihe. Voit toistaa ohjeet milloin tahansa.” Välimerkit erottavat kuulijan toiminnot ja antavat mallille selkeämmän rytmin.\n\nKirjoita tunniste erillisiksi kirjaimiksi, kun se täytyy lukea merkki kerrallaan. Avaa akronyymit ja vältä pitkää yhteen ketjutettua lausetta, kun selitettäviä ehtoja on useita. Valmistaja suosittelee myös komentosanojen merkitsemistä lainausmerkkeihin ja katkelman lukemista ääneen ennen synteesiä. Säilytä opetus- tai tuotekerronnassa tärkeät termit mutta muunna kirjoitetut otsikot ja tiheät luettelot kokonaisiksi puhutuiksi ilmauksiksi.\n\n### Tahti ja ääntäminen\n\nValmistaja dokumentoi nopeuden ja IPA-ääntämisen säätimet englannille ja espanjalle. Aura-2:n puhenopeusalue on 0.7–1.5; espanjalle suositus on 0.9–1.5, sillä hitaammat asetukset voivat tehdä puheesta takeltelevaa. Tässä perheessä ääntämisen ja nopeuden voi yhdistää. IPA-korvaukset voivat kohdistua erikoisnimeen tai termiin, ja Aura-2:n käytännössä painomerkki sijoitetaan suoraan ennen vokaalia.\n\nÄäntämisen ohjauksen määritys sallii enintään viisisataa korvausta, joista jokaisen IPA-merkkijono on enintään 128 merkkiä, ja dokumentoi tätä työnkulkua varten 2 000 merkin syötetekstirajan. Aura-2 ei tue Flux TTS:lle dokumentoitua nimenomaista taukojen säätötoimintoa. Valmistele rytmi lauserakenteella ja välimerkeillä ja jaa pidempi aineisto johdonmukaisiin jaksoihin valitun työnkulun sitä edellyttäessä.\n\n### Äänen toimitus ja käyttö\n\nValmistaja tarjoaa kokonaisten pyyntöjen synteesiä ja tekstistä ääneksi -suoratoistotyönkulkuja. Mediaopas erottaa suoratoiston raa'an PCM:n, mu-law'n ja A-law'n tiedostopohjaisista vaihtoehdoista, kuten WAV, MP3, Opus, FLAC ja AAC. Aura-pyyntötyönkulun dokumentoitu PCM/WAV-oletus on 24 kHz. Tiedostosäiliöt, näytteenottotaajuudet ja koodaukset muodostavat kelvollisia yhdistelmiä; puhelinyhteys ja ladattava kerrontatiedosto voivat vaatia erilaisia valintoja.\n\nAura-2 on erillinen perhe ensimmäisen sukupolven Aurasta ja Flux TTS:stä. Fluxin vuorojen välistä tilaa, keskeytyspalautetta tai vain eräsynteesiin kuuluvia taukosäätimiä ei pidä päätellä Aura-2-äänen nimestä. Hyödyllinen tulos on varsinaisen käsikirjoituksen puhuttu versio sopivalla kielellä ja aksentilla sekä käyttökohteeseen sopivassa äänimuodossa. Tarkista nimet, kielenvaihdot, välimerkkien ohjaama rytmi ja tärkeät ohjeet tarkoitetun kuulijan kanssa ennen tallenteen uudelleenkäyttöä.",
    "alias_of": null,
    "aliases": [],
    "author": "Deepgram",
    "available": null,
    "canonical_model": "deepgram/aura-2",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00006",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00006",
            "native_quantity": 1,
            "public_unit_label": "per input character",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_character"
          }
        ],
        "summary": "Konfiguraation täydet hintatiedot lisätiedoissa."
      }
    ],
    "ctx": null,
    "entity_type": "model",
    "formats": [
      "speech"
    ],
    "id": "deepgram/aura-2",
    "input": [
      "text"
    ],
    "kind": "speech",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "errors": [
              {
                "code": null,
                "condition": "Virheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo",
                "http_status": 400,
                "recovery": "Korjaa ilmoitetut kentät ennen uutta luontipyyntöä.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Palautettu vastaus ilmoittaa, että operaatio tai tulos edellyttää tarkistusta",
                "http_status": null,
                "recovery": "Säilytä alkuperäinen palautettu operaation tai tehtävän ID, pyynnön otsakkeet ja vastaus; jatka kyseisen alkuperäisen operaation tuettuja lukutoimintoja. Älä lähetä luontipyyntöä uudelleen.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Säilytä alkuperäinen operation_id/X-Client-Request-ID täsmäytystä varten lähettämättä pyyntöä uudelleen; erillistä äänen tilakyselyreittiä ei ole."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "Säilytä koko binääritulos ja otsakkeet. Jos palautetaan JSON tai useita tulosteita, säilytä jokainen data-alkio ja nouda jokainen resurssi sen todellisesta allekirjoitetusta URL-osoitteesta.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3",
              "http_success": 200
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "deepgram/aura-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_known": false,
                "maximum_length": null,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "Unicode-merkit"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "aura-2-thalia-en",
                  "aura-2-agathe-fr",
                  "aura-2-agustina-es",
                  "aura-2-alvaro-es",
                  "aura-2-ama-ja",
                  "aura-2-amalthea-en",
                  "aura-2-andromeda-en",
                  "aura-2-antonia-es",
                  "aura-2-apollo-en",
                  "aura-2-aquila-es",
                  "aura-2-arcas-en",
                  "aura-2-aries-en",
                  "aura-2-asteria-en",
                  "aura-2-athena-en",
                  "aura-2-atlas-en",
                  "aura-2-aurelia-de",
                  "aura-2-aurora-en",
                  "aura-2-beatrix-nl",
                  "aura-2-callista-en",
                  "aura-2-carina-es",
                  "aura-2-celeste-es",
                  "aura-2-cesare-it",
                  "aura-2-cinzia-it",
                  "aura-2-cora-en",
                  "aura-2-cordelia-en",
                  "aura-2-cornelia-nl",
                  "aura-2-daphne-nl",
                  "aura-2-delia-en",
                  "aura-2-demetra-it",
                  "aura-2-diana-es",
                  "aura-2-dionisio-it",
                  "aura-2-draco-en",
                  "aura-2-ebisu-ja",
                  "aura-2-elara-de",
                  "aura-2-electra-en",
                  "aura-2-elio-it",
                  "aura-2-estrella-es",
                  "aura-2-fabian-de",
                  "aura-2-flavio-it",
                  "aura-2-fujin-ja",
                  "aura-2-gloria-es",
                  "aura-2-harmonia-en",
                  "aura-2-hector-fr",
                  "aura-2-helena-en",
                  "aura-2-hera-en",
                  "aura-2-hermes-en",
                  "aura-2-hestia-nl",
                  "aura-2-hyperion-en",
                  "aura-2-iris-en",
                  "aura-2-izanami-ja",
                  "aura-2-janus-en",
                  "aura-2-javier-es",
                  "aura-2-julius-de",
                  "aura-2-juno-en",
                  "aura-2-jupiter-en",
                  "aura-2-kara-de",
                  "aura-2-lara-de",
                  "aura-2-lars-nl",
                  "aura-2-leda-nl",
                  "aura-2-livia-it",
                  "aura-2-luciano-es",
                  "aura-2-luna-en",
                  "aura-2-maia-it",
                  "aura-2-mars-en",
                  "aura-2-melia-it",
                  "aura-2-minerva-en",
                  "aura-2-neptune-en",
                  "aura-2-nestor-es",
                  "aura-2-odysseus-en",
                  "aura-2-olivia-es",
                  "aura-2-ophelia-en",
                  "aura-2-orion-en",
                  "aura-2-orpheus-en",
                  "aura-2-pandora-en",
                  "aura-2-phoebe-en",
                  "aura-2-pluto-en",
                  "aura-2-rhea-nl",
                  "aura-2-roman-nl",
                  "aura-2-sander-nl",
                  "aura-2-saturn-en",
                  "aura-2-selena-es",
                  "aura-2-selene-en",
                  "aura-2-silvia-es",
                  "aura-2-sirio-es",
                  "aura-2-theia-en",
                  "aura-2-uzume-ja",
                  "aura-2-valerio-es",
                  "aura-2-vesta-en",
                  "aura-2-viktoria-de",
                  "aura-2-zeus-en"
                ],
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "every field outside exactmodel,input,voice,response_format",
              "stream/speed/reference speech options"
            ]
          },
          "hints": [
            "Valitse juuri tämän malliprofiilin ääni.",
            "Syötemerkit ja äänisekunnit ovat eri mittareita."
          ],
          "input": {
            "content_type": "application/json",
            "input": "täsmällinen UTF-8-teksti; Unicode-merkkien määrä ilman normalisointia",
            "material_types": [
              "text"
            ],
            "max_input_characters": null,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice",
              "response_format"
            ],
            "response_format": [
              "mp3"
            ],
            "voice_ids": [
              "aura-2-thalia-en",
              "aura-2-agathe-fr",
              "aura-2-agustina-es",
              "aura-2-alvaro-es",
              "aura-2-ama-ja",
              "aura-2-amalthea-en",
              "aura-2-andromeda-en",
              "aura-2-antonia-es",
              "aura-2-apollo-en",
              "aura-2-aquila-es",
              "aura-2-arcas-en",
              "aura-2-aries-en",
              "aura-2-asteria-en",
              "aura-2-athena-en",
              "aura-2-atlas-en",
              "aura-2-aurelia-de",
              "aura-2-aurora-en",
              "aura-2-beatrix-nl",
              "aura-2-callista-en",
              "aura-2-carina-es",
              "aura-2-celeste-es",
              "aura-2-cesare-it",
              "aura-2-cinzia-it",
              "aura-2-cora-en",
              "aura-2-cordelia-en",
              "aura-2-cornelia-nl",
              "aura-2-daphne-nl",
              "aura-2-delia-en",
              "aura-2-demetra-it",
              "aura-2-diana-es",
              "aura-2-dionisio-it",
              "aura-2-draco-en",
              "aura-2-ebisu-ja",
              "aura-2-elara-de",
              "aura-2-electra-en",
              "aura-2-elio-it",
              "aura-2-estrella-es",
              "aura-2-fabian-de",
              "aura-2-flavio-it",
              "aura-2-fujin-ja",
              "aura-2-gloria-es",
              "aura-2-harmonia-en",
              "aura-2-hector-fr",
              "aura-2-helena-en",
              "aura-2-hera-en",
              "aura-2-hermes-en",
              "aura-2-hestia-nl",
              "aura-2-hyperion-en",
              "aura-2-iris-en",
              "aura-2-izanami-ja",
              "aura-2-janus-en",
              "aura-2-javier-es",
              "aura-2-julius-de",
              "aura-2-juno-en",
              "aura-2-jupiter-en",
              "aura-2-kara-de",
              "aura-2-lara-de",
              "aura-2-lars-nl",
              "aura-2-leda-nl",
              "aura-2-livia-it",
              "aura-2-luciano-es",
              "aura-2-luna-en",
              "aura-2-maia-it",
              "aura-2-mars-en",
              "aura-2-melia-it",
              "aura-2-minerva-en",
              "aura-2-neptune-en",
              "aura-2-nestor-es",
              "aura-2-odysseus-en",
              "aura-2-olivia-es",
              "aura-2-ophelia-en",
              "aura-2-orion-en",
              "aura-2-orpheus-en",
              "aura-2-pandora-en",
              "aura-2-phoebe-en",
              "aura-2-pluto-en",
              "aura-2-rhea-nl",
              "aura-2-roman-nl",
              "aura-2-sander-nl",
              "aura-2-saturn-en",
              "aura-2-selena-es",
              "aura-2-selene-en",
              "aura-2-silvia-es",
              "aura-2-sirio-es",
              "aura-2-theia-en",
              "aura-2-uzume-ja",
              "aura-2-valerio-es",
              "aura-2-vesta-en",
              "aura-2-viktoria-de",
              "aura-2-zeus-en"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "todellisuudessa palautettu task_id tai mediakirjaston tietue",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "family": "audio",
            "format": "mp3",
            "http_success": 200,
            "response": "full binary MP3 plus response headers",
            "result": "complete playable owned MP3"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input character"
            },
            "label": "input character",
            "units": [
              {
                "amount": "0.00006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00006",
                "native_quantity": 1,
                "public_unit_label": "per input character",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_character"
              }
            ]
          }
        ],
        "declared_tariff_references": [
          {
            "client_selectable": false,
            "key": "6be270d373c5634e423e",
            "label": "Deepgram: Aura-2",
            "profiles": [
              {
                "basis": "",
                "dimensions": {
                  "conditions": "Oletuskokoonpano"
                },
                "label": "Deepgram: Aura-2 · Oletusasetukset",
                "units": [
                  {
                    "amount": "0.00006",
                    "amount_unit": "usd_per_exact_physical_unit",
                    "billing_input": false,
                    "key": "a771a87d10f80abfd8f1b8cc",
                    "label": "Input characters",
                    "public_unit_label": "per input character",
                    "quantity": "1",
                    "rate_role": "declared_tariff_rate",
                    "side": "in",
                    "unit": "input_character"
                  }
                ]
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"deepgram/aura-2\", \"input\": \"Good afternoon! This is a short voice take.\"}')\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nallowed=json.loads('[\"aura-2-thalia-en\", \"aura-2-agathe-fr\", \"aura-2-agustina-es\", \"aura-2-alvaro-es\", \"aura-2-ama-ja\", \"aura-2-amalthea-en\", \"aura-2-andromeda-en\", \"aura-2-antonia-es\", \"aura-2-apollo-en\", \"aura-2-aquila-es\", \"aura-2-arcas-en\", \"aura-2-aries-en\", \"aura-2-asteria-en\", \"aura-2-athena-en\", \"aura-2-atlas-en\", \"aura-2-aurelia-de\", \"aura-2-aurora-en\", \"aura-2-beatrix-nl\", \"aura-2-callista-en\", \"aura-2-carina-es\", \"aura-2-celeste-es\", \"aura-2-cesare-it\", \"aura-2-cinzia-it\", \"aura-2-cora-en\", \"aura-2-cordelia-en\", \"aura-2-cornelia-nl\", \"aura-2-daphne-nl\", \"aura-2-delia-en\", \"aura-2-demetra-it\", \"aura-2-diana-es\", \"aura-2-dionisio-it\", \"aura-2-draco-en\", \"aura-2-ebisu-ja\", \"aura-2-elara-de\", \"aura-2-electra-en\", \"aura-2-elio-it\", \"aura-2-estrella-es\", \"aura-2-fabian-de\", \"aura-2-flavio-it\", \"aura-2-fujin-ja\", \"aura-2-gloria-es\", \"aura-2-harmonia-en\", \"aura-2-hector-fr\", \"aura-2-helena-en\", \"aura-2-hera-en\", \"aura-2-hermes-en\", \"aura-2-hestia-nl\", \"aura-2-hyperion-en\", \"aura-2-iris-en\", \"aura-2-izanami-ja\", \"aura-2-janus-en\", \"aura-2-javier-es\", \"aura-2-julius-de\", \"aura-2-juno-en\", \"aura-2-jupiter-en\", \"aura-2-kara-de\", \"aura-2-lara-de\", \"aura-2-lars-nl\", \"aura-2-leda-nl\", \"aura-2-livia-it\", \"aura-2-luciano-es\", \"aura-2-luna-en\", \"aura-2-maia-it\", \"aura-2-mars-en\", \"aura-2-melia-it\", \"aura-2-minerva-en\", \"aura-2-neptune-en\", \"aura-2-nestor-es\", \"aura-2-odysseus-en\", \"aura-2-olivia-es\", \"aura-2-ophelia-en\", \"aura-2-orion-en\", \"aura-2-orpheus-en\", \"aura-2-pandora-en\", \"aura-2-phoebe-en\", \"aura-2-pluto-en\", \"aura-2-rhea-nl\", \"aura-2-roman-nl\", \"aura-2-sander-nl\", \"aura-2-saturn-en\", \"aura-2-selena-es\", \"aura-2-selene-en\", \"aura-2-silvia-es\", \"aura-2-sirio-es\", \"aura-2-theia-en\", \"aura-2-uzume-ja\", \"aura-2-valerio-es\", \"aura-2-vesta-en\", \"aura-2-viktoria-de\", \"aura-2-zeus-en\"]')\nif voice not in allowed: raise SystemExit(\"Choose an accepted voice ID from this exact model profile\")\np[\"voice\"]=voice\np[\"response_format\"]=\"mp3\"\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o speech.mp3\n",
            "label": "curl",
            "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 media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Select exact voice from this model profile.",
          "Input characters and audio seconds are different meters."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_character": 6e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input character"
            },
            "label": "input character",
            "units": [
              {
                "amount": "0.00006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00006",
                "native_quantity": 1,
                "public_unit_label": "per input character",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_character"
              }
            ]
          }
        ],
        "request_model_id": "deepgram/aura-2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00006",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00006",
            "native_quantity": 1,
            "public_unit_label": "per input character",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_character"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "deepgram/aura-2",
        "request_model_id": "deepgram/aura-2",
        "route_label": "Ultra"
      }
    ],
    "name": "Deepgram: Aura-2",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.00006",
            "amount_unit": "usd_per_declared_unit",
            "conditions": {},
            "key": "prompt",
            "label": "prompt",
            "quantity": "1",
            "rate_role": "typed_active_maker_rate",
            "side": "in",
            "unit": "input_character"
          }
        ]
      }
    ],
    "public_id": "deepgram/aura-2",
    "short": "Deepgram Aura-2 generoi puhetta englanniksi, espanjaksi, saksaksi, ranskaksi, hollanniksi, italiaksi ja japaniksi. Sen äänivalikoima, tekstiin mukautuva rytmitys ja kielikohtaiset ääntämissäätimet tukevat puhuttuja ohjeita, kerrontaa ja monikielisiä sovelluksia."
  },
  "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": "Deepgram Aura-2 generoi puhetta englanniksi, espanjaksi, saksaksi, ranskaksi, hollanniksi, italiaksi ja japaniksi. Sen äänivalikoima, tekstiin mukautuva rytmitys ja kielikohtaiset ääntämissäätimet tukevat puhuttuja ohjeita, kerrontaa ja monikielisiä sovelluksia.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "762dac873692b8185a79f7d439ca781f99eec72eb1940440428f8822ea4d78bc",
    "renderer_sha256": "303a59603e2bc29ba8fda690e95fd32cec68de223d92e26054a88babff801dd7"
  },
  "sourceRevision": "f5d9f2cfdbe9b2aff7e22bef5e07311f3b634dd96e7b9338ae3908fbc1561f46"
}
