{
  "aboutHtml": "<p>MiniMax Music 2.5 luo musiikkia kirjallisesta musiikkikuvauksesta ja sanoituksesta. Valitse minimax/music-2.5 tätä täsmällistä versiota varten; sen määritetty alias on music-2.5. Sen musiikkimenetelmä käyttää JSON-pyyntöä kenttien model, prompt ja lyrics kanssa ja tuottaa generoitua ääntä. Käytä sitä kirjallisen laulukonseptin muuttamiseen kuunneltavaksi luonnokseksi, annetun sanoituksen säveltämiseen tai sävellyksen tutkimiseen ennen jatkomuokkausta.</p><p>Käytä prompt-kenttää musiikkityylin, tunnelman ja ympäristön kuvaamiseen ja lyrics-kenttää laulettaviin sanoihin. Hyödyllinen kuvaus voisi pyytää pohdiskelevaa folk-laulua hiljaiseen kahvilaan, säkeistöä, joka luo tilanteen, ja kertosäettä, joka toistaa sen keskeisen ajatuksen. Pidä musiikillinen ohjaus prompt-kentässä ja tarkoitetut rivit lyrics-kentässä, jotta tekstillä on selkeä tehtävä sävellyksessä.</p><p>Tämä versio sallii prompt-kenttään 0–2 000 merkkiä ja lyrics-kenttään 1–3 500 merkkiä. Määritetty pyyntö sisältää prompt-kentän myös silloin, kun sen arvo on tyhjä, koska skeema luettelee prompt-kentän edelleen pakollisten kenttien joukossa. Ohjattua sävellystä varten ilmoita tässä kentässä lajityyppi, tunne ja ympäristö; tyhjä arvo jättää nämä kirjalliset ohjeet määrittämättä. Pidä koko sanoitusteksti oman rajansa sisällä.</p><p>Erota sanoituksen rivit rivinvaihtomerkeillä. Osamerkinnät, kuten [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] ja [Outro], voivat ilmaista tarkoitetun rakenteen; dokumentoitu joukko sisältää myös merkinnät [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] ja [Solo]. Sijoita varsinaiset sanat osamerkintöjen alle ja pidä toistuvat osat tarkoituksellisina. Nämä merkinnät antavat sävellykselle lähtörakenteen; tarkista, miten valmis kappale todella toteuttaa siirtymät ja toistot.</p><p>audio_setting-objekti tarjoaa sample_rate-arvot 16000, 24000, 32000 tai 44100, bitrate-arvot 32000, 64000, 128000 tai 256000 sekä format-arvot mp3 tai wav. Valitse tiedostoasetukset seuraavaa muokkaus- tai toistovaihetta varten ja säilytä ne kuvauksen kanssa. Julkaistu esimerkki pyytää arvoja 44100, 256000 ja mp3; nämä ovat esimerkkivalintoja, eivät kaikkien kolmen kentän yleisiä oletusarvoja.</p><p>Valittu musiikkityönkulku on synkroninen eikä käytä suoratoistoa. Dokumentoidut output_format-vaihtoehdot ovat url ja hex, ja skeeman oletusarvo on hex; valittu esimerkki pyytää nimenomaisesti arvoa url. URL-tuloksessa lataa tallennettu ääni palautetun Ailoot-linkin avulla. hex-tulos edustaa äänitavuja, jotka on purettava valittuun tiedostomuotoon ennen toistoa. Vastaus voi sisältää sekä audio- että audio_url-sijainnit yhdelle generoidulle äänelle; säilytä tämä tulos yhtenä kappaleena.</p><p>Tallenna valmis ääni sanoituksen, musiikillisen kuvauksen, täsmällisen mallitunnuksen ja pyydettyjen tiedostoasetusten kanssa. Kuuntele, toteutuvatko tarkoitetut sanat, osajärjestys ja musiikillinen suunta, ennen kuin sijoitat sen projektiin. Jos pyyntö päättyy ilman kokonaista tulosta, säilytä sen alkuperäiset tunnistetiedot ja vastaustiedot tuloksen tarkistamista varten; automaattinen korvaava pyyntö voi luoda toisen kappaleen. Muutoksessa voidaan vaihtaa tietty sanoituskohta tai musiikkiohje ja säilyttää muu kuvaus vertailua varten.</p>",
  "aboutText": "MiniMax Music 2.5 luo musiikkia kirjallisesta musiikkikuvauksesta ja sanoituksesta. Valitse minimax/music-2.5 tätä täsmällistä versiota varten; sen määritetty alias on music-2.5. Sen musiikkimenetelmä käyttää JSON-pyyntöä kenttien model, prompt ja lyrics kanssa ja tuottaa generoitua ääntä. Käytä sitä kirjallisen laulukonseptin muuttamiseen kuunneltavaksi luonnokseksi, annetun sanoituksen säveltämiseen tai sävellyksen tutkimiseen ennen jatkomuokkausta.\n\nKäytä prompt-kenttää musiikkityylin, tunnelman ja ympäristön kuvaamiseen ja lyrics-kenttää laulettaviin sanoihin. Hyödyllinen kuvaus voisi pyytää pohdiskelevaa folk-laulua hiljaiseen kahvilaan, säkeistöä, joka luo tilanteen, ja kertosäettä, joka toistaa sen keskeisen ajatuksen. Pidä musiikillinen ohjaus prompt-kentässä ja tarkoitetut rivit lyrics-kentässä, jotta tekstillä on selkeä tehtävä sävellyksessä.\n\nTämä versio sallii prompt-kenttään 0–2 000 merkkiä ja lyrics-kenttään 1–3 500 merkkiä. Määritetty pyyntö sisältää prompt-kentän myös silloin, kun sen arvo on tyhjä, koska skeema luettelee prompt-kentän edelleen pakollisten kenttien joukossa. Ohjattua sävellystä varten ilmoita tässä kentässä lajityyppi, tunne ja ympäristö; tyhjä arvo jättää nämä kirjalliset ohjeet määrittämättä. Pidä koko sanoitusteksti oman rajansa sisällä.\n\nErota sanoituksen rivit rivinvaihtomerkeillä. Osamerkinnät, kuten [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] ja [Outro], voivat ilmaista tarkoitetun rakenteen; dokumentoitu joukko sisältää myös merkinnät [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] ja [Solo]. Sijoita varsinaiset sanat osamerkintöjen alle ja pidä toistuvat osat tarkoituksellisina. Nämä merkinnät antavat sävellykselle lähtörakenteen; tarkista, miten valmis kappale todella toteuttaa siirtymät ja toistot.\n\naudio_setting-objekti tarjoaa sample_rate-arvot 16000, 24000, 32000 tai 44100, bitrate-arvot 32000, 64000, 128000 tai 256000 sekä format-arvot mp3 tai wav. Valitse tiedostoasetukset seuraavaa muokkaus- tai toistovaihetta varten ja säilytä ne kuvauksen kanssa. Julkaistu esimerkki pyytää arvoja 44100, 256000 ja mp3; nämä ovat esimerkkivalintoja, eivät kaikkien kolmen kentän yleisiä oletusarvoja.\n\nValittu musiikkityönkulku on synkroninen eikä käytä suoratoistoa. Dokumentoidut output_format-vaihtoehdot ovat url ja hex, ja skeeman oletusarvo on hex; valittu esimerkki pyytää nimenomaisesti arvoa url. URL-tuloksessa lataa tallennettu ääni palautetun Ailoot-linkin avulla. hex-tulos edustaa äänitavuja, jotka on purettava valittuun tiedostomuotoon ennen toistoa. Vastaus voi sisältää sekä audio- että audio_url-sijainnit yhdelle generoidulle äänelle; säilytä tämä tulos yhtenä kappaleena.\n\nTallenna valmis ääni sanoituksen, musiikillisen kuvauksen, täsmällisen mallitunnuksen ja pyydettyjen tiedostoasetusten kanssa. Kuuntele, toteutuvatko tarkoitetut sanat, osajärjestys ja musiikillinen suunta, ennen kuin sijoitat sen projektiin. Jos pyyntö päättyy ilman kokonaista tulosta, säilytä sen alkuperäiset tunnistetiedot ja vastaustiedot tuloksen tarkistamista varten; automaattinen korvaava pyyntö voi luoda toisen kappaleen. Muutoksessa voidaan vaihtaa tietty sanoituskohta tai musiikkiohje ja säilyttää muu kuvaus vertailua varten.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "d60eb43996f6d172b1e9dbf6adadcd6dc18b48e96ae88e44a7f3c7d27481058a",
    "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\">MM</span><h2 id=\"sheet-title\">MiniMax: Music 2.5</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sulje\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>minimax/music-2.5</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|music|/v1/music/generations|minimax%2Fmusic-2.5\">Musiikki · Ultra</button></div><div class=\"idline\"><label for=\"card-model-id\">Mallin ID</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Ultra|music|/v1/music/generations|minimax%2Fmusic-2.5\" selected>minimax/music-2.5</option><option value=\"Ultra|music|/v1/music/generations|music-2.5\">music-2.5</option></select></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\">MiniMax Music 2.5 muuntaa sanoituksen ja musiikillisen kuvauksen generoiduksi ääneksi synkronisella musiikkipyynnöllä. Tämä täsmällinen versio sallii tyhjän prompt-kentän, hyväksyy 1–3 500 sanoitusmerkkiä ja tarjoaa MP3- tai WAV-tuloksen.</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>MiniMax Music 2.5 luo musiikkia kirjallisesta musiikkikuvauksesta ja sanoituksesta. Valitse minimax/music-2.5 tätä täsmällistä versiota varten; sen määritetty alias on music-2.5. Sen musiikkimenetelmä käyttää JSON-pyyntöä kenttien model, prompt ja lyrics kanssa ja tuottaa generoitua ääntä. Käytä sitä kirjallisen laulukonseptin muuttamiseen kuunneltavaksi luonnokseksi, annetun sanoituksen säveltämiseen tai sävellyksen tutkimiseen ennen jatkomuokkausta.</p><p>Käytä prompt-kenttää musiikkityylin, tunnelman ja ympäristön kuvaamiseen ja lyrics-kenttää laulettaviin sanoihin. Hyödyllinen kuvaus voisi pyytää pohdiskelevaa folk-laulua hiljaiseen kahvilaan, säkeistöä, joka luo tilanteen, ja kertosäettä, joka toistaa sen keskeisen ajatuksen. Pidä musiikillinen ohjaus prompt-kentässä ja tarkoitetut rivit lyrics-kentässä, jotta tekstillä on selkeä tehtävä sävellyksessä.</p><p>Tämä versio sallii prompt-kenttään 0–2 000 merkkiä ja lyrics-kenttään 1–3 500 merkkiä. Määritetty pyyntö sisältää prompt-kentän myös silloin, kun sen arvo on tyhjä, koska skeema luettelee prompt-kentän edelleen pakollisten kenttien joukossa. Ohjattua sävellystä varten ilmoita tässä kentässä lajityyppi, tunne ja ympäristö; tyhjä arvo jättää nämä kirjalliset ohjeet määrittämättä. Pidä koko sanoitusteksti oman rajansa sisällä.</p><p>Erota sanoituksen rivit rivinvaihtomerkeillä. Osamerkinnät, kuten [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] ja [Outro], voivat ilmaista tarkoitetun rakenteen; dokumentoitu joukko sisältää myös merkinnät [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] ja [Solo]. Sijoita varsinaiset sanat osamerkintöjen alle ja pidä toistuvat osat tarkoituksellisina. Nämä merkinnät antavat sävellykselle lähtörakenteen; tarkista, miten valmis kappale todella toteuttaa siirtymät ja toistot.</p><p>audio_setting-objekti tarjoaa sample_rate-arvot 16000, 24000, 32000 tai 44100, bitrate-arvot 32000, 64000, 128000 tai 256000 sekä format-arvot mp3 tai wav. Valitse tiedostoasetukset seuraavaa muokkaus- tai toistovaihetta varten ja säilytä ne kuvauksen kanssa. Julkaistu esimerkki pyytää arvoja 44100, 256000 ja mp3; nämä ovat esimerkkivalintoja, eivät kaikkien kolmen kentän yleisiä oletusarvoja.</p><p>Valittu musiikkityönkulku on synkroninen eikä käytä suoratoistoa. Dokumentoidut output_format-vaihtoehdot ovat url ja hex, ja skeeman oletusarvo on hex; valittu esimerkki pyytää nimenomaisesti arvoa url. URL-tuloksessa lataa tallennettu ääni palautetun Ailoot-linkin avulla. hex-tulos edustaa äänitavuja, jotka on purettava valittuun tiedostomuotoon ennen toistoa. Vastaus voi sisältää sekä audio- että audio_url-sijainnit yhdelle generoidulle äänelle; säilytä tämä tulos yhtenä kappaleena.</p><p>Tallenna valmis ääni sanoituksen, musiikillisen kuvauksen, täsmällisen mallitunnuksen ja pyydettyjen tiedostoasetusten kanssa. Kuuntele, toteutuvatko tarkoitetut sanat, osajärjestys ja musiikillinen suunta, ennen kuin sijoitat sen projektiin. Jos pyyntö päättyy ilman kokonaista tulosta, säilytä sen alkuperäiset tunnistetiedot ja vastaustiedot tuloksen tarkistamista varten; automaattinen korvaava pyyntö voi luoda toisen kappaleen. Muutoksessa voidaan vaihtaa tietty sanoituskohta tai musiikkiohje ja säilyttää muu kuvaus vertailua varten.</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 · Music</b> <code>POST /v1/music/generations</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,wav</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Kenttä</th><th>Tyyppi</th><th>Vaatimus</th><th>Arvot &amp; rajat</th><th>Oletus</th></tr></thead><tbody><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>minimax/music-2.5</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">prompt</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></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">lyrics</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></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>boolean</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>false</div></td><td data-cell-label=\"Oletus\" data-default=\"known\"><span class=\"card-cell-label\">Oletus</span>false</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">output_format</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>url, hex</div></td><td data-cell-label=\"Oletus\" data-default=\"known\"><span class=\"card-cell-label\">Oletus</span>hex</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">audio_setting</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>object</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">audio_setting.sample_rate</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>integer</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>16 000, 24 000, 32 000, 44 100</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">audio_setting.bitrate</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>integer</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>32 000, 64 000, 128 000, 256 000</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">audio_setting.format</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>mp3, wav</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">aigc_watermark</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>boolean</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span></td><td data-cell-label=\"Oletus\" data-default=\"known\"><span class=\"card-cell-label\">Oletus</span>false</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Menetelmän parametrit ja elinkaari</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametri</th><th>Sopimus</th></tr></thead><tbody><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>content_type</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>application/json</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>required</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>model, prompt, lyrics</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>optional</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>stream, output_format, audio_setting, aigc_watermark</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><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>conditions</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method.</td></tr></tbody></table></div><p>Elinkaari: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Hinnoittelu</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.</p><dl data-price-conditions><dt>Nopea tila</dt><dd>Ei määritetty <span class=\"note-s\">Kun nopea tila on valittu</span></dd><dt>Flex-tila</dt><dd>Ei määritetty <span class=\"note-s\">Kun flex-tila on valittu</span></dd><dt>Päättelyn enimmäisteho</dt><dd>Ei määritetty <span class=\"note-s\">Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-hinnat</h4><h4>Hinnat asetusten mukaan</h4><p class=\"note-s\">Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Asetukset</th><th>Hinnasto</th><th>Laskutusmäärä</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=\"Laskutusmäärä\"><span class=\"card-cell-label\">Laskutusmäärä</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>Pyyntöä kohden</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>—</td><td data-cell-label=\"Laskutusmäärä\"><span class=\"card-cell-label\">Laskutusmäärä</span>yksi pyyntö</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Syöte</span> <b>$0.3</b> <span class=\"price-unit\">pyyntöä kohden</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. <a href=\"/docs/fi/billing/reserve/\">Varauksen ja lopullisen veloituksen toiminta →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Esimerkkipyynnöt</h3><h4>Ailoot Ultra · Music</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-22-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-22-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · luo vain kerran ja säilytä koko tulos</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopioi koodi\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-22-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-22-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;minimax/music-2.5&quot;, &quot;prompt&quot;: &quot;独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆&quot;, &quot;lyrics&quot;: &quot;[verse]\\\\n街灯微亮晚风轻抚\\\\n影子拉长独自漫步\\\\n旧外套裹着深深忧郁\\\\n不知去向渴望何处\\\\n[chorus]\\\\n推开木门香气弥漫\\\\n熟悉的角落陌生人看&quot;, &quot;audio_setting&quot;: {&quot;sample_rate&quot;: 44100, &quot;bitrate&quot;: 256000, &quot;format&quot;: &quot;mp3&quot;}, &quot;output_format&quot;: &quot;url&quot;}&#39;)\n\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/music/generations \\\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 result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\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 · Music</h4><p class=\"note-s\">mp3,wav</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Säilytä kaikki valmistuneet tulokset</h5><p class=\"note-s\">Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.</p><p class=\"note-s\">One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jos alkuperäinen vastaus on tarkistettava</h5><p class=\"note-s\">Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.</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\">data.audio</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">data.audio_url</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">data.status</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>integer</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=minimax%2Fmusic-2.5&amp;route=Ultra&amp;caller=minimax%2Fmusic-2.5&amp;fmt=music\"><code>minimax/music-2.5</code></a>, <a href=\"#m=minimax%2Fmusic-2.5&amp;route=Ultra&amp;caller=music-2.5&amp;fmt=music\"><code>music-2.5</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=minimax%2Fmusic-2.5&amp;route=Ultra&amp;caller=minimax%2Fmusic-2.5&amp;fmt=music\"><code>minimax/music-2.5</code></a>, <a href=\"#m=minimax%2Fmusic-2.5&amp;route=Ultra&amp;caller=music-2.5&amp;fmt=music\"><code>music-2.5</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "minimax/music-2.5",
        "fmt": "music",
        "http": "POST",
        "path": "/v1/music/generations",
        "request_model_id": "minimax/music-2.5",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|music|/v1/music/generations|minimax%2Fmusic-2.5",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "audio_setting": {
                "bitrate": 256000,
                "format": "mp3",
                "sample_rate": 44100
              },
              "lyrics": "[verse]\n街灯微亮晚风轻抚\n影子拉长独自漫步\n旧外套裹着深深忧郁\n不知去向渴望何处\n[chorus]\n推开木门香气弥漫\n熟悉的角落陌生人看",
              "model": "minimax/music-2.5",
              "output_format": "url",
              "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
            },
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets",
                  "query": {
                    "cursor": "actual returned next_cursor, when present",
                    "family": "audio"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/music/generations"
              },
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
              },
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
              "family": "audio",
              "fields": [
                {
                  "name": "data.audio",
                  "type": "string"
                },
                {
                  "name": "data.audio_url",
                  "type": "string"
                },
                {
                  "name": "data.status",
                  "type": "integer"
                }
              ],
              "format": [
                "mp3",
                "wav"
              ]
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "minimax/music-2.5"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 2000,
                "minLength": 0,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 3500,
                "minLength": 1,
                "name": "lyrics",
                "required": true,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default": "hex",
                "default_known": true,
                "enum": [
                  "url",
                  "hex"
                ],
                "enum_known": true,
                "name": "output_format",
                "required": false,
                "type": "string"
              },
              {
                "additionalProperties": false,
                "default_known": false,
                "enum_known": false,
                "name": "audio_setting",
                "properties": {
                  "bitrate": {
                    "enum": [
                      32000,
                      64000,
                      128000,
                      256000
                    ],
                    "type": "integer"
                  },
                  "format": {
                    "enum": [
                      "mp3",
                      "wav"
                    ],
                    "type": "string"
                  },
                  "sample_rate": {
                    "enum": [
                      16000,
                      24000,
                      32000,
                      44100
                    ],
                    "type": "integer"
                  }
                },
                "required": false,
                "type": "object"
              },
              {
                "default_known": false,
                "enum": [
                  16000,
                  24000,
                  32000,
                  44100
                ],
                "enum_known": true,
                "name": "audio_setting.sample_rate",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  32000,
                  64000,
                  128000,
                  256000
                ],
                "enum_known": true,
                "name": "audio_setting.bitrate",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  "mp3",
                  "wav"
                ],
                "enum_known": true,
                "name": "audio_setting.format",
                "required": false,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "aigc_watermark",
                "required": false,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "aigc_watermark": {
                  "default": false,
                  "type": "boolean"
                },
                "audio_setting": {
                  "additionalProperties": false,
                  "properties": {
                    "bitrate": {
                      "enum": [
                        32000,
                        64000,
                        128000,
                        256000
                      ],
                      "type": "integer"
                    },
                    "format": {
                      "enum": [
                        "mp3",
                        "wav"
                      ],
                      "type": "string"
                    },
                    "sample_rate": {
                      "enum": [
                        16000,
                        24000,
                        32000,
                        44100
                      ],
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "lyrics": {
                  "maxLength": 3500,
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "minimax/music-2.5"
                  ],
                  "type": "string"
                },
                "output_format": {
                  "default": "hex",
                  "enum": [
                    "url",
                    "hex"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 2000,
                  "minLength": 0,
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "prompt",
                "lyrics"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "audio_setting": {
                  "bitrate": 256000,
                  "format": "mp3",
                  "sample_rate": 44100
                },
                "lyrics": "[verse]\n街灯微亮晚风轻抚\n影子拉长独自漫步\n旧外套裹着深深忧郁\n不知去向渴望何处\n[chorus]\n推开木门香气弥漫\n熟悉的角落陌生人看",
                "model": "minimax/music-2.5",
                "output_format": "url",
                "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "output_format",
              "audio_setting",
              "aigc_watermark"
            ],
            "required": [
              "model",
              "prompt",
              "lyrics"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets",
                "query": {
                  "cursor": "actual returned next_cursor, when present",
                  "family": "audio"
                }
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/music/generations"
            },
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
            },
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/music/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
            "family": "audio",
            "fields": [
              {
                "name": "data.audio",
                "type": "string"
              },
              {
                "name": "data.audio_url",
                "type": "string"
              },
              {
                "name": "data.status",
                "type": "integer"
              }
            ],
            "format": [
              "mp3",
              "wav"
            ]
          }
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"minimax/music-2.5\", \"prompt\": \"独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆\", \"lyrics\": \"[verse]\\\\n街灯微亮晚风轻抚\\\\n影子拉长独自漫步\\\\n旧外套裹着深深忧郁\\\\n不知去向渴望何处\\\\n[chorus]\\\\n推开木门香气弥漫\\\\n熟悉的角落陌生人看\", \"audio_setting\": {\"sample_rate\": 44100, \"bitrate\": 256000, \"format\": \"mp3\"}, \"output_format\": \"url\"}')\n\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/music/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "music",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Music",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/music/generations",
        "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",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": null,
          "flex_multiplier": null,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": null,
          "intervals": [],
          "max_reasoning_effort_multiplier": null,
          "output_price": null,
          "per_request_price": "0.3"
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "minimax/music-2.5",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "per_request",
        "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.3",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0.3",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">MM</span><h2 id=\"sheet-title\">MiniMax: Music 2.5</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sulje\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>music-2.5</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|music|/v1/music/generations|music-2.5\">Musiikki · Ultra</button></div><div class=\"idline\"><label for=\"card-model-id\">Mallin ID</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Ultra|music|/v1/music/generations|minimax%2Fmusic-2.5\">minimax/music-2.5</option><option value=\"Ultra|music|/v1/music/generations|music-2.5\" selected>music-2.5</option></select></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\">MiniMax Music 2.5 muuntaa sanoituksen ja musiikillisen kuvauksen generoiduksi ääneksi synkronisella musiikkipyynnöllä. Tämä täsmällinen versio sallii tyhjän prompt-kentän, hyväksyy 1–3 500 sanoitusmerkkiä ja tarjoaa MP3- tai WAV-tuloksen.</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>MiniMax Music 2.5 luo musiikkia kirjallisesta musiikkikuvauksesta ja sanoituksesta. Valitse minimax/music-2.5 tätä täsmällistä versiota varten; sen määritetty alias on music-2.5. Sen musiikkimenetelmä käyttää JSON-pyyntöä kenttien model, prompt ja lyrics kanssa ja tuottaa generoitua ääntä. Käytä sitä kirjallisen laulukonseptin muuttamiseen kuunneltavaksi luonnokseksi, annetun sanoituksen säveltämiseen tai sävellyksen tutkimiseen ennen jatkomuokkausta.</p><p>Käytä prompt-kenttää musiikkityylin, tunnelman ja ympäristön kuvaamiseen ja lyrics-kenttää laulettaviin sanoihin. Hyödyllinen kuvaus voisi pyytää pohdiskelevaa folk-laulua hiljaiseen kahvilaan, säkeistöä, joka luo tilanteen, ja kertosäettä, joka toistaa sen keskeisen ajatuksen. Pidä musiikillinen ohjaus prompt-kentässä ja tarkoitetut rivit lyrics-kentässä, jotta tekstillä on selkeä tehtävä sävellyksessä.</p><p>Tämä versio sallii prompt-kenttään 0–2 000 merkkiä ja lyrics-kenttään 1–3 500 merkkiä. Määritetty pyyntö sisältää prompt-kentän myös silloin, kun sen arvo on tyhjä, koska skeema luettelee prompt-kentän edelleen pakollisten kenttien joukossa. Ohjattua sävellystä varten ilmoita tässä kentässä lajityyppi, tunne ja ympäristö; tyhjä arvo jättää nämä kirjalliset ohjeet määrittämättä. Pidä koko sanoitusteksti oman rajansa sisällä.</p><p>Erota sanoituksen rivit rivinvaihtomerkeillä. Osamerkinnät, kuten [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] ja [Outro], voivat ilmaista tarkoitetun rakenteen; dokumentoitu joukko sisältää myös merkinnät [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] ja [Solo]. Sijoita varsinaiset sanat osamerkintöjen alle ja pidä toistuvat osat tarkoituksellisina. Nämä merkinnät antavat sävellykselle lähtörakenteen; tarkista, miten valmis kappale todella toteuttaa siirtymät ja toistot.</p><p>audio_setting-objekti tarjoaa sample_rate-arvot 16000, 24000, 32000 tai 44100, bitrate-arvot 32000, 64000, 128000 tai 256000 sekä format-arvot mp3 tai wav. Valitse tiedostoasetukset seuraavaa muokkaus- tai toistovaihetta varten ja säilytä ne kuvauksen kanssa. Julkaistu esimerkki pyytää arvoja 44100, 256000 ja mp3; nämä ovat esimerkkivalintoja, eivät kaikkien kolmen kentän yleisiä oletusarvoja.</p><p>Valittu musiikkityönkulku on synkroninen eikä käytä suoratoistoa. Dokumentoidut output_format-vaihtoehdot ovat url ja hex, ja skeeman oletusarvo on hex; valittu esimerkki pyytää nimenomaisesti arvoa url. URL-tuloksessa lataa tallennettu ääni palautetun Ailoot-linkin avulla. hex-tulos edustaa äänitavuja, jotka on purettava valittuun tiedostomuotoon ennen toistoa. Vastaus voi sisältää sekä audio- että audio_url-sijainnit yhdelle generoidulle äänelle; säilytä tämä tulos yhtenä kappaleena.</p><p>Tallenna valmis ääni sanoituksen, musiikillisen kuvauksen, täsmällisen mallitunnuksen ja pyydettyjen tiedostoasetusten kanssa. Kuuntele, toteutuvatko tarkoitetut sanat, osajärjestys ja musiikillinen suunta, ennen kuin sijoitat sen projektiin. Jos pyyntö päättyy ilman kokonaista tulosta, säilytä sen alkuperäiset tunnistetiedot ja vastaustiedot tuloksen tarkistamista varten; automaattinen korvaava pyyntö voi luoda toisen kappaleen. Muutoksessa voidaan vaihtaa tietty sanoituskohta tai musiikkiohje ja säilyttää muu kuvaus vertailua varten.</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 · Music</b> <code>POST /v1/music/generations</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,wav</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Kenttä</th><th>Tyyppi</th><th>Vaatimus</th><th>Arvot &amp; rajat</th><th>Oletus</th></tr></thead><tbody><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>music-2.5</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">prompt</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></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">lyrics</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></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>boolean</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>false</div></td><td data-cell-label=\"Oletus\" data-default=\"known\"><span class=\"card-cell-label\">Oletus</span>false</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">output_format</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>url, hex</div></td><td data-cell-label=\"Oletus\" data-default=\"known\"><span class=\"card-cell-label\">Oletus</span>hex</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">audio_setting</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>object</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">audio_setting.sample_rate</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>integer</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>16 000, 24 000, 32 000, 44 100</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">audio_setting.bitrate</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>integer</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>32 000, 64 000, 128 000, 256 000</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">audio_setting.format</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>mp3, wav</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">aigc_watermark</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>boolean</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span></td><td data-cell-label=\"Oletus\" data-default=\"known\"><span class=\"card-cell-label\">Oletus</span>false</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Menetelmän parametrit ja elinkaari</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametri</th><th>Sopimus</th></tr></thead><tbody><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>content_type</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>application/json</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>required</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>model, prompt, lyrics</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>optional</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>stream, output_format, audio_setting, aigc_watermark</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><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>conditions</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method.</td></tr></tbody></table></div><p>Elinkaari: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Hinnoittelu</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.</p><dl data-price-conditions><dt>Nopea tila</dt><dd>Ei määritetty <span class=\"note-s\">Kun nopea tila on valittu</span></dd><dt>Flex-tila</dt><dd>Ei määritetty <span class=\"note-s\">Kun flex-tila on valittu</span></dd><dt>Päättelyn enimmäisteho</dt><dd>Ei määritetty <span class=\"note-s\">Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-hinnat</h4><h4>Hinnat asetusten mukaan</h4><p class=\"note-s\">Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Asetukset</th><th>Hinnasto</th><th>Laskutusmäärä</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=\"Laskutusmäärä\"><span class=\"card-cell-label\">Laskutusmäärä</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>Pyyntöä kohden</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>—</td><td data-cell-label=\"Laskutusmäärä\"><span class=\"card-cell-label\">Laskutusmäärä</span>yksi pyyntö</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Syöte</span> <b>$0.3</b> <span class=\"price-unit\">pyyntöä kohden</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. <a href=\"/docs/fi/billing/reserve/\">Varauksen ja lopullisen veloituksen toiminta →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Esimerkkipyynnöt</h3><h4>Ailoot Ultra · Music</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-23-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-23-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · luo vain kerran ja säilytä koko tulos</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopioi koodi\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-23-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-23-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;music-2.5&quot;, &quot;prompt&quot;: &quot;独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆&quot;, &quot;lyrics&quot;: &quot;[verse]\\\\n街灯微亮晚风轻抚\\\\n影子拉长独自漫步\\\\n旧外套裹着深深忧郁\\\\n不知去向渴望何处\\\\n[chorus]\\\\n推开木门香气弥漫\\\\n熟悉的角落陌生人看&quot;, &quot;audio_setting&quot;: {&quot;sample_rate&quot;: 44100, &quot;bitrate&quot;: 256000, &quot;format&quot;: &quot;mp3&quot;}, &quot;output_format&quot;: &quot;url&quot;}&#39;)\n\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/music/generations \\\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 result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\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 · Music</h4><p class=\"note-s\">mp3,wav</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Säilytä kaikki valmistuneet tulokset</h5><p class=\"note-s\">Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.</p><p class=\"note-s\">One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jos alkuperäinen vastaus on tarkistettava</h5><p class=\"note-s\">Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.</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\">data.audio</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">data.audio_url</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">data.status</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>integer</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=minimax%2Fmusic-2.5&amp;route=Ultra&amp;caller=minimax%2Fmusic-2.5&amp;fmt=music\"><code>minimax/music-2.5</code></a>, <a href=\"#m=minimax%2Fmusic-2.5&amp;route=Ultra&amp;caller=music-2.5&amp;fmt=music\"><code>music-2.5</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=minimax%2Fmusic-2.5&amp;route=Ultra&amp;caller=minimax%2Fmusic-2.5&amp;fmt=music\"><code>minimax/music-2.5</code></a>, <a href=\"#m=minimax%2Fmusic-2.5&amp;route=Ultra&amp;caller=music-2.5&amp;fmt=music\"><code>music-2.5</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "music-2.5",
        "fmt": "music",
        "http": "POST",
        "path": "/v1/music/generations",
        "request_model_id": "music-2.5",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|music|/v1/music/generations|music-2.5",
      "ordinal": 1,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "audio_setting": {
                "bitrate": 256000,
                "format": "mp3",
                "sample_rate": 44100
              },
              "lyrics": "[verse]\n街灯微亮晚风轻抚\n影子拉长独自漫步\n旧外套裹着深深忧郁\n不知去向渴望何处\n[chorus]\n推开木门香气弥漫\n熟悉的角落陌生人看",
              "model": "music-2.5",
              "output_format": "url",
              "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
            },
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets",
                  "query": {
                    "cursor": "actual returned next_cursor, when present",
                    "family": "audio"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/music/generations"
              },
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
              },
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
              "family": "audio",
              "fields": [
                {
                  "name": "data.audio",
                  "type": "string"
                },
                {
                  "name": "data.audio_url",
                  "type": "string"
                },
                {
                  "name": "data.status",
                  "type": "integer"
                }
              ],
              "format": [
                "mp3",
                "wav"
              ]
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "music-2.5"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 2000,
                "minLength": 0,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 3500,
                "minLength": 1,
                "name": "lyrics",
                "required": true,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default": "hex",
                "default_known": true,
                "enum": [
                  "url",
                  "hex"
                ],
                "enum_known": true,
                "name": "output_format",
                "required": false,
                "type": "string"
              },
              {
                "additionalProperties": false,
                "default_known": false,
                "enum_known": false,
                "name": "audio_setting",
                "properties": {
                  "bitrate": {
                    "enum": [
                      32000,
                      64000,
                      128000,
                      256000
                    ],
                    "type": "integer"
                  },
                  "format": {
                    "enum": [
                      "mp3",
                      "wav"
                    ],
                    "type": "string"
                  },
                  "sample_rate": {
                    "enum": [
                      16000,
                      24000,
                      32000,
                      44100
                    ],
                    "type": "integer"
                  }
                },
                "required": false,
                "type": "object"
              },
              {
                "default_known": false,
                "enum": [
                  16000,
                  24000,
                  32000,
                  44100
                ],
                "enum_known": true,
                "name": "audio_setting.sample_rate",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  32000,
                  64000,
                  128000,
                  256000
                ],
                "enum_known": true,
                "name": "audio_setting.bitrate",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  "mp3",
                  "wav"
                ],
                "enum_known": true,
                "name": "audio_setting.format",
                "required": false,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "aigc_watermark",
                "required": false,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "aigc_watermark": {
                  "default": false,
                  "type": "boolean"
                },
                "audio_setting": {
                  "additionalProperties": false,
                  "properties": {
                    "bitrate": {
                      "enum": [
                        32000,
                        64000,
                        128000,
                        256000
                      ],
                      "type": "integer"
                    },
                    "format": {
                      "enum": [
                        "mp3",
                        "wav"
                      ],
                      "type": "string"
                    },
                    "sample_rate": {
                      "enum": [
                        16000,
                        24000,
                        32000,
                        44100
                      ],
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "lyrics": {
                  "maxLength": 3500,
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "music-2.5"
                  ],
                  "type": "string"
                },
                "output_format": {
                  "default": "hex",
                  "enum": [
                    "url",
                    "hex"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 2000,
                  "minLength": 0,
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "prompt",
                "lyrics"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "audio_setting": {
                  "bitrate": 256000,
                  "format": "mp3",
                  "sample_rate": 44100
                },
                "lyrics": "[verse]\n街灯微亮晚风轻抚\n影子拉长独自漫步\n旧外套裹着深深忧郁\n不知去向渴望何处\n[chorus]\n推开木门香气弥漫\n熟悉的角落陌生人看",
                "model": "music-2.5",
                "output_format": "url",
                "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "output_format",
              "audio_setting",
              "aigc_watermark"
            ],
            "required": [
              "model",
              "prompt",
              "lyrics"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets",
                "query": {
                  "cursor": "actual returned next_cursor, when present",
                  "family": "audio"
                }
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/music/generations"
            },
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
            },
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/music/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
            "family": "audio",
            "fields": [
              {
                "name": "data.audio",
                "type": "string"
              },
              {
                "name": "data.audio_url",
                "type": "string"
              },
              {
                "name": "data.status",
                "type": "integer"
              }
            ],
            "format": [
              "mp3",
              "wav"
            ]
          }
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"music-2.5\", \"prompt\": \"独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆\", \"lyrics\": \"[verse]\\\\n街灯微亮晚风轻抚\\\\n影子拉长独自漫步\\\\n旧外套裹着深深忧郁\\\\n不知去向渴望何处\\\\n[chorus]\\\\n推开木门香气弥漫\\\\n熟悉的角落陌生人看\", \"audio_setting\": {\"sample_rate\": 44100, \"bitrate\": 256000, \"format\": \"mp3\"}, \"output_format\": \"url\"}')\n\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/music/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "music",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Music",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/music/generations",
        "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",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": null,
          "flex_multiplier": null,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": null,
          "intervals": [],
          "max_reasoning_effort_multiplier": null,
          "output_price": null,
          "per_request_price": "0.3"
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "music-2.5",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "per_request",
        "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.3",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0.3",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      }
    }
  ],
  "model_id": "minimax/music-2.5",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "9858adedb437423ee71d524692d295a8a2184b1192e10e584851e2041578a429",
    "input_html_sha256": "06bff2922394e10ff8693b9f6b7cbbe84cfa26f1cdaa16a9d69582f2f981f010",
    "private_audit_sha256": "75daacbc7b494a693aedd1ac9ec01ae7918b56338c092a2a0ec5b85aef0e2576",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fi/minimax-music-2-5/",
    "description": "MiniMax Music 2.5 muuntaa sanoituksen ja musiikillisen kuvauksen generoiduksi ääneksi synkronisella musiikkipyynnöllä. Tämä täsmällinen versio sallii tyhjän prompt-kentän, hyväksyy 1–3 500 sanoitusmerkkiä ja tarjoaa MP3- tai WAV-tuloksen.",
    "locale": "fi",
    "md_url": "https://ailoot.ai/models/fi/minimax-music-2-5/index.md",
    "title": "MiniMax: Music 2.5 — Ailoot",
    "url": "https://ailoot.ai/models/fi/minimax-music-2-5/"
  },
  "rawModel": {
    "about": "MiniMax Music 2.5 luo musiikkia kirjallisesta musiikkikuvauksesta ja sanoituksesta. Valitse minimax/music-2.5 tätä täsmällistä versiota varten; sen määritetty alias on music-2.5. Sen musiikkimenetelmä käyttää JSON-pyyntöä kenttien model, prompt ja lyrics kanssa ja tuottaa generoitua ääntä. Käytä sitä kirjallisen laulukonseptin muuttamiseen kuunneltavaksi luonnokseksi, annetun sanoituksen säveltämiseen tai sävellyksen tutkimiseen ennen jatkomuokkausta.\n\nKäytä prompt-kenttää musiikkityylin, tunnelman ja ympäristön kuvaamiseen ja lyrics-kenttää laulettaviin sanoihin. Hyödyllinen kuvaus voisi pyytää pohdiskelevaa folk-laulua hiljaiseen kahvilaan, säkeistöä, joka luo tilanteen, ja kertosäettä, joka toistaa sen keskeisen ajatuksen. Pidä musiikillinen ohjaus prompt-kentässä ja tarkoitetut rivit lyrics-kentässä, jotta tekstillä on selkeä tehtävä sävellyksessä.\n\nTämä versio sallii prompt-kenttään 0–2 000 merkkiä ja lyrics-kenttään 1–3 500 merkkiä. Määritetty pyyntö sisältää prompt-kentän myös silloin, kun sen arvo on tyhjä, koska skeema luettelee prompt-kentän edelleen pakollisten kenttien joukossa. Ohjattua sävellystä varten ilmoita tässä kentässä lajityyppi, tunne ja ympäristö; tyhjä arvo jättää nämä kirjalliset ohjeet määrittämättä. Pidä koko sanoitusteksti oman rajansa sisällä.\n\nErota sanoituksen rivit rivinvaihtomerkeillä. Osamerkinnät, kuten [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] ja [Outro], voivat ilmaista tarkoitetun rakenteen; dokumentoitu joukko sisältää myös merkinnät [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] ja [Solo]. Sijoita varsinaiset sanat osamerkintöjen alle ja pidä toistuvat osat tarkoituksellisina. Nämä merkinnät antavat sävellykselle lähtörakenteen; tarkista, miten valmis kappale todella toteuttaa siirtymät ja toistot.\n\naudio_setting-objekti tarjoaa sample_rate-arvot 16000, 24000, 32000 tai 44100, bitrate-arvot 32000, 64000, 128000 tai 256000 sekä format-arvot mp3 tai wav. Valitse tiedostoasetukset seuraavaa muokkaus- tai toistovaihetta varten ja säilytä ne kuvauksen kanssa. Julkaistu esimerkki pyytää arvoja 44100, 256000 ja mp3; nämä ovat esimerkkivalintoja, eivät kaikkien kolmen kentän yleisiä oletusarvoja.\n\nValittu musiikkityönkulku on synkroninen eikä käytä suoratoistoa. Dokumentoidut output_format-vaihtoehdot ovat url ja hex, ja skeeman oletusarvo on hex; valittu esimerkki pyytää nimenomaisesti arvoa url. URL-tuloksessa lataa tallennettu ääni palautetun Ailoot-linkin avulla. hex-tulos edustaa äänitavuja, jotka on purettava valittuun tiedostomuotoon ennen toistoa. Vastaus voi sisältää sekä audio- että audio_url-sijainnit yhdelle generoidulle äänelle; säilytä tämä tulos yhtenä kappaleena.\n\nTallenna valmis ääni sanoituksen, musiikillisen kuvauksen, täsmällisen mallitunnuksen ja pyydettyjen tiedostoasetusten kanssa. Kuuntele, toteutuvatko tarkoitetut sanat, osajärjestys ja musiikillinen suunta, ennen kuin sijoitat sen projektiin. Jos pyyntö päättyy ilman kokonaista tulosta, säilytä sen alkuperäiset tunnistetiedot ja vastaustiedot tuloksen tarkistamista varten; automaattinen korvaava pyyntö voi luoda toisen kappaleen. Muutoksessa voidaan vaihtaa tietty sanoituskohta tai musiikkiohje ja säilyttää muu kuvaus vertailua varten.",
    "alias_of": null,
    "aliases": [
      "music-2.5"
    ],
    "author": "MiniMax",
    "ctx": null,
    "formats": [
      "music"
    ],
    "id": "minimax/music-2.5",
    "input": [
      "text"
    ],
    "kind": "music",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "audio_setting": {
                "bitrate": 256000,
                "format": "mp3",
                "sample_rate": 44100
              },
              "lyrics": "[verse]\n街灯微亮晚风轻抚\n影子拉长独自漫步\n旧外套裹着深深忧郁\n不知去向渴望何处\n[chorus]\n推开木门香气弥漫\n熟悉的角落陌生人看",
              "model": "minimax/music-2.5",
              "output_format": "url",
              "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
            },
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets",
                  "query": {
                    "cursor": "actual returned next_cursor, when present",
                    "family": "audio"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/music/generations"
              },
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
              },
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
              "family": "audio",
              "fields": [
                {
                  "name": "data.audio",
                  "type": "string"
                },
                {
                  "name": "data.audio_url",
                  "type": "string"
                },
                {
                  "name": "data.status",
                  "type": "integer"
                }
              ],
              "format": [
                "mp3",
                "wav"
              ]
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "minimax/music-2.5"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 2000,
                "minLength": 0,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 3500,
                "minLength": 1,
                "name": "lyrics",
                "required": true,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default": "hex",
                "default_known": true,
                "enum": [
                  "url",
                  "hex"
                ],
                "enum_known": true,
                "name": "output_format",
                "required": false,
                "type": "string"
              },
              {
                "additionalProperties": false,
                "default_known": false,
                "enum_known": false,
                "name": "audio_setting",
                "properties": {
                  "bitrate": {
                    "enum": [
                      32000,
                      64000,
                      128000,
                      256000
                    ],
                    "type": "integer"
                  },
                  "format": {
                    "enum": [
                      "mp3",
                      "wav"
                    ],
                    "type": "string"
                  },
                  "sample_rate": {
                    "enum": [
                      16000,
                      24000,
                      32000,
                      44100
                    ],
                    "type": "integer"
                  }
                },
                "required": false,
                "type": "object"
              },
              {
                "default_known": false,
                "enum": [
                  16000,
                  24000,
                  32000,
                  44100
                ],
                "enum_known": true,
                "name": "audio_setting.sample_rate",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  32000,
                  64000,
                  128000,
                  256000
                ],
                "enum_known": true,
                "name": "audio_setting.bitrate",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  "mp3",
                  "wav"
                ],
                "enum_known": true,
                "name": "audio_setting.format",
                "required": false,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "aigc_watermark",
                "required": false,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "aigc_watermark": {
                  "default": false,
                  "type": "boolean"
                },
                "audio_setting": {
                  "additionalProperties": false,
                  "properties": {
                    "bitrate": {
                      "enum": [
                        32000,
                        64000,
                        128000,
                        256000
                      ],
                      "type": "integer"
                    },
                    "format": {
                      "enum": [
                        "mp3",
                        "wav"
                      ],
                      "type": "string"
                    },
                    "sample_rate": {
                      "enum": [
                        16000,
                        24000,
                        32000,
                        44100
                      ],
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "lyrics": {
                  "maxLength": 3500,
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "minimax/music-2.5"
                  ],
                  "type": "string"
                },
                "output_format": {
                  "default": "hex",
                  "enum": [
                    "url",
                    "hex"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 2000,
                  "minLength": 0,
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "prompt",
                "lyrics"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "audio_setting": {
                  "bitrate": 256000,
                  "format": "mp3",
                  "sample_rate": 44100
                },
                "lyrics": "[verse]\n街灯微亮晚风轻抚\n影子拉长独自漫步\n旧外套裹着深深忧郁\n不知去向渴望何处\n[chorus]\n推开木门香气弥漫\n熟悉的角落陌生人看",
                "model": "minimax/music-2.5",
                "output_format": "url",
                "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "output_format",
              "audio_setting",
              "aigc_watermark"
            ],
            "required": [
              "model",
              "prompt",
              "lyrics"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets",
                "query": {
                  "cursor": "actual returned next_cursor, when present",
                  "family": "audio"
                }
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/music/generations"
            },
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
            },
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/music/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
            "family": "audio",
            "fields": [
              {
                "name": "data.audio",
                "type": "string"
              },
              {
                "name": "data.audio_url",
                "type": "string"
              },
              {
                "name": "data.status",
                "type": "integer"
              }
            ],
            "format": [
              "mp3",
              "wav"
            ]
          }
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"minimax/music-2.5\", \"prompt\": \"独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆\", \"lyrics\": \"[verse]\\\\n街灯微亮晚风轻抚\\\\n影子拉长独自漫步\\\\n旧外套裹着深深忧郁\\\\n不知去向渴望何处\\\\n[chorus]\\\\n推开木门香气弥漫\\\\n熟悉的角落陌生人看\", \"audio_setting\": {\"sample_rate\": 44100, \"bitrate\": 256000, \"format\": \"mp3\"}, \"output_format\": \"url\"}')\n\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/music/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "music",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Music",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/music/generations",
        "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",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": null,
          "flex_multiplier": null,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": null,
          "intervals": [],
          "max_reasoning_effort_multiplier": null,
          "output_price": null,
          "per_request_price": "0.3"
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "minimax/music-2.5",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "per_request",
        "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.3",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0.3",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      },
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "audio_setting": {
                "bitrate": 256000,
                "format": "mp3",
                "sample_rate": 44100
              },
              "lyrics": "[verse]\n街灯微亮晚风轻抚\n影子拉长独自漫步\n旧外套裹着深深忧郁\n不知去向渴望何处\n[chorus]\n推开木门香气弥漫\n熟悉的角落陌生人看",
              "model": "music-2.5",
              "output_format": "url",
              "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
            },
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets",
                  "query": {
                    "cursor": "actual returned next_cursor, when present",
                    "family": "audio"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/music/generations"
              },
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
              },
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
              "family": "audio",
              "fields": [
                {
                  "name": "data.audio",
                  "type": "string"
                },
                {
                  "name": "data.audio_url",
                  "type": "string"
                },
                {
                  "name": "data.status",
                  "type": "integer"
                }
              ],
              "format": [
                "mp3",
                "wav"
              ]
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "music-2.5"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 2000,
                "minLength": 0,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 3500,
                "minLength": 1,
                "name": "lyrics",
                "required": true,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default": "hex",
                "default_known": true,
                "enum": [
                  "url",
                  "hex"
                ],
                "enum_known": true,
                "name": "output_format",
                "required": false,
                "type": "string"
              },
              {
                "additionalProperties": false,
                "default_known": false,
                "enum_known": false,
                "name": "audio_setting",
                "properties": {
                  "bitrate": {
                    "enum": [
                      32000,
                      64000,
                      128000,
                      256000
                    ],
                    "type": "integer"
                  },
                  "format": {
                    "enum": [
                      "mp3",
                      "wav"
                    ],
                    "type": "string"
                  },
                  "sample_rate": {
                    "enum": [
                      16000,
                      24000,
                      32000,
                      44100
                    ],
                    "type": "integer"
                  }
                },
                "required": false,
                "type": "object"
              },
              {
                "default_known": false,
                "enum": [
                  16000,
                  24000,
                  32000,
                  44100
                ],
                "enum_known": true,
                "name": "audio_setting.sample_rate",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  32000,
                  64000,
                  128000,
                  256000
                ],
                "enum_known": true,
                "name": "audio_setting.bitrate",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  "mp3",
                  "wav"
                ],
                "enum_known": true,
                "name": "audio_setting.format",
                "required": false,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "aigc_watermark",
                "required": false,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "aigc_watermark": {
                  "default": false,
                  "type": "boolean"
                },
                "audio_setting": {
                  "additionalProperties": false,
                  "properties": {
                    "bitrate": {
                      "enum": [
                        32000,
                        64000,
                        128000,
                        256000
                      ],
                      "type": "integer"
                    },
                    "format": {
                      "enum": [
                        "mp3",
                        "wav"
                      ],
                      "type": "string"
                    },
                    "sample_rate": {
                      "enum": [
                        16000,
                        24000,
                        32000,
                        44100
                      ],
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "lyrics": {
                  "maxLength": 3500,
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "music-2.5"
                  ],
                  "type": "string"
                },
                "output_format": {
                  "default": "hex",
                  "enum": [
                    "url",
                    "hex"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 2000,
                  "minLength": 0,
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "prompt",
                "lyrics"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "audio_setting": {
                  "bitrate": 256000,
                  "format": "mp3",
                  "sample_rate": 44100
                },
                "lyrics": "[verse]\n街灯微亮晚风轻抚\n影子拉长独自漫步\n旧外套裹着深深忧郁\n不知去向渴望何处\n[chorus]\n推开木门香气弥漫\n熟悉的角落陌生人看",
                "model": "music-2.5",
                "output_format": "url",
                "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "output_format",
              "audio_setting",
              "aigc_watermark"
            ],
            "required": [
              "model",
              "prompt",
              "lyrics"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets",
                "query": {
                  "cursor": "actual returned next_cursor, when present",
                  "family": "audio"
                }
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/music/generations"
            },
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
            },
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/music/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
            "family": "audio",
            "fields": [
              {
                "name": "data.audio",
                "type": "string"
              },
              {
                "name": "data.audio_url",
                "type": "string"
              },
              {
                "name": "data.status",
                "type": "integer"
              }
            ],
            "format": [
              "mp3",
              "wav"
            ]
          }
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"music-2.5\", \"prompt\": \"独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆\", \"lyrics\": \"[verse]\\\\n街灯微亮晚风轻抚\\\\n影子拉长独自漫步\\\\n旧外套裹着深深忧郁\\\\n不知去向渴望何处\\\\n[chorus]\\\\n推开木门香气弥漫\\\\n熟悉的角落陌生人看\", \"audio_setting\": {\"sample_rate\": 44100, \"bitrate\": 256000, \"format\": \"mp3\"}, \"output_format\": \"url\"}')\n\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/music/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "music",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Music",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/music/generations",
        "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",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": null,
          "flex_multiplier": null,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": null,
          "intervals": [],
          "max_reasoning_effort_multiplier": null,
          "output_price": null,
          "per_request_price": "0.3"
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "music-2.5",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "per_request",
        "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.3",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0.3",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "minimax/music-2.5",
        "request_model_id": "minimax/music-2.5",
        "route_label": "Ultra"
      },
      {
        "canonical_model_id": "minimax/music-2.5",
        "request_model_id": "music-2.5",
        "route_label": "Ultra"
      }
    ],
    "name": "MiniMax: Music 2.5",
    "price": {
      "in": "0.3",
      "in_label": "per request",
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": false
    },
    "short": "MiniMax Music 2.5 muuntaa sanoituksen ja musiikillisen kuvauksen generoiduksi ääneksi synkronisella musiikkipyynnöllä. Tämä täsmällinen versio sallii tyhjän prompt-kentän, hyväksyy 1–3 500 sanoitusmerkkiä ja tarjoaa MP3- tai WAV-tuloksen."
  },
  "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
        },
        {
          "contract_json_pointer": "/methods/1/rawMethod/contract",
          "html_json_pointer": "/methods/1/html",
          "method_ordinal": 1
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod",
        "/methods/1/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "MiniMax Music 2.5 muuntaa sanoituksen ja musiikillisen kuvauksen generoiduksi ääneksi synkronisella musiikkipyynnöllä. Tämä täsmällinen versio sallii tyhjän prompt-kentän, hyväksyy 1–3 500 sanoitusmerkkiä ja tarjoaa MP3- tai WAV-tuloksen.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "775b5e8111fc41dbbe1e060fa7701a5ed8196cb4e6e413666b36aaec89adc88c",
    "renderer_sha256": "303a59603e2bc29ba8fda690e95fd32cec68de223d92e26054a88babff801dd7"
  },
  "sourceRevision": "2e18786572990ceba864468600474bcf1ad055f22cda44b50c8f2abfde532241"
}
