{
  "aboutHtml": "<p>MiniMax Music 2.0 maakt muziek op basis van een geschreven muzikale briefing en songtekst. Selecteer minimax/music-2.0 voor deze exacte editie; music-2.0 is de geconfigureerde alias. De muziekmethode gebruikt een JSON-verzoek met model, prompt en lyrics en produceert gegenereerde audio. Gebruik het om een geschreven liedconcept om te zetten in een luisterversie, aangeleverde songteksten op muziek te zetten of een compositie te verkennen voordat je die verder bewerkt.</p><p>Gebruik prompt om de muziekstijl, de sfeer en de omgeving te beschrijven en lyrics voor de woorden die moeten worden gezongen. Een bruikbare briefing kan vragen om een introspectief folklied voor een rustig café, met een couplet dat de scène neerzet en een refrein dat het centrale idee herhaalt. Houd de muzikale richting in prompt en de bedoelde regels in lyrics, zodat de tekst een duidelijke rol in de compositie heeft.</p><p>Voor Music 2.0 moet prompt 10–2 000 tekens bevatten en lyrics 10–3 500 tekens. Neem beide tekstvelden samen met het geselecteerde model op in het verzoek. Gebruik de ruimte in prompt voor de muzikale keuzes die ertoe doen en geef vervolgens de volledige bedoelde tekst op in lyrics. Een compacte maar volledige briefing is gemakkelijker met het geretourneerde lied te vergelijken dan losstaande instructies die over beide velden zijn verspreid.</p><p>Scheid songtekstregels met regeleindetekens. Sectielabels zoals [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] en [Outro] kunnen de beoogde structuur aangeven; de gedocumenteerde verzameling omvat ook [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] en [Solo]. Plaats de daadwerkelijke woorden onder de bijbehorende sectielabels en laat secties bewust terugkeren. Deze markeringen geven de compositie een structuur om vanuit te werken; beoordeel hoe het voltooide lied de overgangen en herhalingen daadwerkelijk realiseert.</p><p>Het object audio_setting biedt sample_rate-waarden van 16000, 24000, 32000 of 44100, bitrate-waarden van 32000, 64000, 128000 of 256000 en format-waarden mp3 of wav. Kies de bestandsinstellingen voor de volgende bewerkings- of afspeelstap en bewaar ze bij de briefing. Het gepubliceerde voorbeeld vraagt om 44100, 256000 en mp3; dit zijn voorbeeldkeuzes en geen universele standaardwaarden voor alle drie de velden.</p><p>Het geselecteerde muziekwerkproces is synchroon en niet-gestreamd. De gedocumenteerde keuzes voor output_format zijn url en hex, met hex als standaardwaarde van het schema; het geselecteerde voorbeeld vraagt expliciet om url. Gebruik voor URL-uitvoer de geretourneerde Ailoot-link om de opgeslagen audio te downloaden. Een hex-resultaat vertegenwoordigt audiobytes die vóór het afspelen naar het geselecteerde bestandsformaat moeten worden gedecodeerd. Het antwoord kan zowel audio- als audio_url-locaties voor één gegenereerd audiostuk bevatten; bewaar dat resultaat als één lied.</p><p>Sla de voltooide audio op met de songtekst, muzikale briefing, exacte model-ID en gevraagde bestandsinstellingen. Luister naar de bedoelde woorden, sectievolgorde en muzikale richting voordat je het in een project plaatst. Als een verzoek eindigt zonder volledig resultaat, bewaar dan de oorspronkelijke verzoekidentiteit en antwoordinformatie om het resultaat te controleren; een automatisch vervangingsverzoek kan nog een lied maken. Een revisie kan een specifieke tekstregel of muzikale instructie wijzigen, terwijl de rest van de briefing voor vergelijking behouden blijft.</p>",
  "aboutText": "MiniMax Music 2.0 maakt muziek op basis van een geschreven muzikale briefing en songtekst. Selecteer minimax/music-2.0 voor deze exacte editie; music-2.0 is de geconfigureerde alias. De muziekmethode gebruikt een JSON-verzoek met model, prompt en lyrics en produceert gegenereerde audio. Gebruik het om een geschreven liedconcept om te zetten in een luisterversie, aangeleverde songteksten op muziek te zetten of een compositie te verkennen voordat je die verder bewerkt.\n\nGebruik prompt om de muziekstijl, de sfeer en de omgeving te beschrijven en lyrics voor de woorden die moeten worden gezongen. Een bruikbare briefing kan vragen om een introspectief folklied voor een rustig café, met een couplet dat de scène neerzet en een refrein dat het centrale idee herhaalt. Houd de muzikale richting in prompt en de bedoelde regels in lyrics, zodat de tekst een duidelijke rol in de compositie heeft.\n\nVoor Music 2.0 moet prompt 10–2 000 tekens bevatten en lyrics 10–3 500 tekens. Neem beide tekstvelden samen met het geselecteerde model op in het verzoek. Gebruik de ruimte in prompt voor de muzikale keuzes die ertoe doen en geef vervolgens de volledige bedoelde tekst op in lyrics. Een compacte maar volledige briefing is gemakkelijker met het geretourneerde lied te vergelijken dan losstaande instructies die over beide velden zijn verspreid.\n\nScheid songtekstregels met regeleindetekens. Sectielabels zoals [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] en [Outro] kunnen de beoogde structuur aangeven; de gedocumenteerde verzameling omvat ook [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] en [Solo]. Plaats de daadwerkelijke woorden onder de bijbehorende sectielabels en laat secties bewust terugkeren. Deze markeringen geven de compositie een structuur om vanuit te werken; beoordeel hoe het voltooide lied de overgangen en herhalingen daadwerkelijk realiseert.\n\nHet object audio_setting biedt sample_rate-waarden van 16000, 24000, 32000 of 44100, bitrate-waarden van 32000, 64000, 128000 of 256000 en format-waarden mp3 of wav. Kies de bestandsinstellingen voor de volgende bewerkings- of afspeelstap en bewaar ze bij de briefing. Het gepubliceerde voorbeeld vraagt om 44100, 256000 en mp3; dit zijn voorbeeldkeuzes en geen universele standaardwaarden voor alle drie de velden.\n\nHet geselecteerde muziekwerkproces is synchroon en niet-gestreamd. De gedocumenteerde keuzes voor output_format zijn url en hex, met hex als standaardwaarde van het schema; het geselecteerde voorbeeld vraagt expliciet om url. Gebruik voor URL-uitvoer de geretourneerde Ailoot-link om de opgeslagen audio te downloaden. Een hex-resultaat vertegenwoordigt audiobytes die vóór het afspelen naar het geselecteerde bestandsformaat moeten worden gedecodeerd. Het antwoord kan zowel audio- als audio_url-locaties voor één gegenereerd audiostuk bevatten; bewaar dat resultaat als één lied.\n\nSla de voltooide audio op met de songtekst, muzikale briefing, exacte model-ID en gevraagde bestandsinstellingen. Luister naar de bedoelde woorden, sectievolgorde en muzikale richting voordat je het in een project plaatst. Als een verzoek eindigt zonder volledig resultaat, bewaar dan de oorspronkelijke verzoekidentiteit en antwoordinformatie om het resultaat te controleren; een automatisch vervangingsverzoek kan nog een lied maken. Een revisie kan een specifieke tekstregel of muzikale instructie wijzigen, terwijl de rest van de briefing voor vergelijking behouden blijft.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "fa48cf0dad5a79aab99195166431f0cc8bba1aa096d31bd58bfbd10145183ca7",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "nl",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">MM</span><h2 id=\"sheet-title\">MiniMax: Music 2.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sluiten\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>minimax/music-2.0</code><button type=\"button\" id=\"copy-id\">ID kopiëren</button></div><nav class=\"card-jump-nav\" aria-label=\"Onderdelen van de modelkaart\"><button type=\"button\" data-card-jump=\"overview\">Aan de slag</button><button type=\"button\" data-card-jump=\"methods\">Invoer en methoden</button><button type=\"button\" data-card-jump=\"pricing\">Tarieven</button><button type=\"button\" data-card-jump=\"examples\">Voorbeelden</button><button type=\"button\" data-card-jump=\"results\">Resultaten</button><button type=\"button\" data-card-jump=\"aliases\">Aliasnamen</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-methoden\"><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.0\">Muziek · Ultra</button></div><div class=\"idline\"><label for=\"card-model-id\">Model-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.0\" selected>minimax/music-2.0</option><option value=\"Ultra|music|/v1/music/generations|music-2.0\">music-2.0</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\">Aan de slag</h3><p class=\"mdesc-full\">MiniMax Music 2.0 genereert muziek op basis van een prompt voor stijl en sfeer en aangeleverde songtekst. Het synchrone muziekprofiel accepteert 10–2 000 tekens voor de prompt, 10–3 500 tekens songtekst en MP3- of WAV-uitvoer.</p><dl class=\"card-io\" data-card-io><div><dt>Toegestane invoer</dt><dd>Tekst</dd></div><div><dt>Resultaten</dt><dd>Audio</dd></div></dl><details class=\"card-about\"><summary>Over het model</summary><p class=\"note-s\" data-model-method-boundary>Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.</p><div class=\"mabout\" id=\"m-about\"><p>MiniMax Music 2.0 maakt muziek op basis van een geschreven muzikale briefing en songtekst. Selecteer minimax/music-2.0 voor deze exacte editie; music-2.0 is de geconfigureerde alias. De muziekmethode gebruikt een JSON-verzoek met model, prompt en lyrics en produceert gegenereerde audio. Gebruik het om een geschreven liedconcept om te zetten in een luisterversie, aangeleverde songteksten op muziek te zetten of een compositie te verkennen voordat je die verder bewerkt.</p><p>Gebruik prompt om de muziekstijl, de sfeer en de omgeving te beschrijven en lyrics voor de woorden die moeten worden gezongen. Een bruikbare briefing kan vragen om een introspectief folklied voor een rustig café, met een couplet dat de scène neerzet en een refrein dat het centrale idee herhaalt. Houd de muzikale richting in prompt en de bedoelde regels in lyrics, zodat de tekst een duidelijke rol in de compositie heeft.</p><p>Voor Music 2.0 moet prompt 10–2 000 tekens bevatten en lyrics 10–3 500 tekens. Neem beide tekstvelden samen met het geselecteerde model op in het verzoek. Gebruik de ruimte in prompt voor de muzikale keuzes die ertoe doen en geef vervolgens de volledige bedoelde tekst op in lyrics. Een compacte maar volledige briefing is gemakkelijker met het geretourneerde lied te vergelijken dan losstaande instructies die over beide velden zijn verspreid.</p><p>Scheid songtekstregels met regeleindetekens. Sectielabels zoals [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] en [Outro] kunnen de beoogde structuur aangeven; de gedocumenteerde verzameling omvat ook [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] en [Solo]. Plaats de daadwerkelijke woorden onder de bijbehorende sectielabels en laat secties bewust terugkeren. Deze markeringen geven de compositie een structuur om vanuit te werken; beoordeel hoe het voltooide lied de overgangen en herhalingen daadwerkelijk realiseert.</p><p>Het object audio_setting biedt sample_rate-waarden van 16000, 24000, 32000 of 44100, bitrate-waarden van 32000, 64000, 128000 of 256000 en format-waarden mp3 of wav. Kies de bestandsinstellingen voor de volgende bewerkings- of afspeelstap en bewaar ze bij de briefing. Het gepubliceerde voorbeeld vraagt om 44100, 256000 en mp3; dit zijn voorbeeldkeuzes en geen universele standaardwaarden voor alle drie de velden.</p><p>Het geselecteerde muziekwerkproces is synchroon en niet-gestreamd. De gedocumenteerde keuzes voor output_format zijn url en hex, met hex als standaardwaarde van het schema; het geselecteerde voorbeeld vraagt expliciet om url. Gebruik voor URL-uitvoer de geretourneerde Ailoot-link om de opgeslagen audio te downloaden. Een hex-resultaat vertegenwoordigt audiobytes die vóór het afspelen naar het geselecteerde bestandsformaat moeten worden gedecodeerd. Het antwoord kan zowel audio- als audio_url-locaties voor één gegenereerd audiostuk bevatten; bewaar dat resultaat als één lied.</p><p>Sla de voltooide audio op met de songtekst, muzikale briefing, exacte model-ID en gevraagde bestandsinstellingen. Luister naar de bedoelde woorden, sectievolgorde en muzikale richting voordat je het in een project plaatst. Als een verzoek eindigt zonder volledig resultaat, bewaar dan de oorspronkelijke verzoekidentiteit en antwoordinformatie om het resultaat te controleren; een automatisch vervangingsverzoek kan nog een lied maken. Een revisie kan een specifieke tekstregel of muzikale instructie wijzigen, terwijl de rest van de briefing voor vergelijking behouden blijft.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Beschikbaar in Ailoot · invoer en methoden</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>Invoertypen</dt><dd><code>text</code></dd></div><div><dt>Uitvoertypen</dt><dd><code>audio</code></dd></div><div><dt>Uitvoerformaat</dt><dd>mp3,wav</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Veld</th><th>Type</th><th>Vereiste</th><th>Waarden en limieten</th><th>Standaard</th></tr></thead><tbody><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Vereist</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>minimax/music-2.0</div></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Vereist</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">lyrics</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Vereist</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>boolean</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>false</div></td><td data-cell-label=\"Standaard\" data-default=\"known\"><span class=\"card-cell-label\">Standaard</span>false</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">output_format</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>url, hex</div></td><td data-cell-label=\"Standaard\" data-default=\"known\"><span class=\"card-cell-label\">Standaard</span>hex</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">audio_setting</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>object</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">audio_setting.sample_rate</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>16.000, 24.000, 32.000, 44.100</div></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">audio_setting.bitrate</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>32.000, 64.000, 128.000, 256.000</div></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">audio_setting.format</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>mp3, wav</div></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">aigc_watermark</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>boolean</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span></td><td data-cell-label=\"Standaard\" data-default=\"known\"><span class=\"card-cell-label\">Standaard</span>false</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Methodeparameters en levenscyclus</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Contract</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>model, prompt, lyrics</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>optional</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>stream, output_format, audio_setting, aigc_watermark</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>text</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>conditions</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method.</td></tr></tbody></table></div><p>Levenscyclus: <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\">Tarieven</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.</p><dl data-price-conditions><dt>Snelle modus</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer de snelle modus is geselecteerd</span></dd><dt>Flexmodus</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer de modus flex is geselecteerd</span></dd><dt>Maximale redeneerinspanning</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-tarieven</h4><h4>Prijzen per configuratie</h4><p class=\"note-s\">Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuratie</th><th>Tariefstaffel</th><th>Gefactureerde hoeveelheid</th><th>Kosten</th></tr></thead><tbody><tr><th data-cell-label=\"Configuratie\" scope=\"row\"><span class=\"card-cell-label\">Configuratie</span>Basistarieven voor tokens</th><td data-cell-label=\"Tariefstaffel\"><span class=\"card-cell-label\">Tariefstaffel</span>Basistarief</td><td data-cell-label=\"Gefactureerde hoeveelheid\"><span class=\"card-cell-label\">Gefactureerde hoeveelheid</span>—</td><td data-cell-label=\"Kosten\"><span class=\"card-cell-label\">Kosten</span><div><span>Invoer · Invoertokens</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Uitvoer · Uitvoertokens</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache lezen</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache schrijven</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache schrijven, 1 uur</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuratie\" scope=\"row\"><span class=\"card-cell-label\">Configuratie</span>Per verzoek</th><td data-cell-label=\"Tariefstaffel\"><span class=\"card-cell-label\">Tariefstaffel</span>—</td><td data-cell-label=\"Gefactureerde hoeveelheid\"><span class=\"card-cell-label\">Gefactureerde hoeveelheid</span>één verzoek</td><td data-cell-label=\"Kosten\"><span class=\"card-cell-label\">Kosten</span><div><span>Invoer</span> <b>$0.1</b> <span class=\"price-unit\">per verzoek</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. <a href=\"/docs/nl/billing/reserve/\">Zo werken reservering en afrekening →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Voorbeeldverzoeken</h3><h4>Ailoot Ultra · Music</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Codevarianten\"><button class=\"cg-tab\" id=\"model-code-20-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-20-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · maak één keer aan en bewaar het volledige resultaat</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Code kopiëren\"><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-20-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-20-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.0&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\">Resultaten ophalen en opslaan</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>Alle voltooide resultaten bewaren</h5><p class=\"note-s\">Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.</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>Als het oorspronkelijke antwoord moet worden gecontroleerd</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>Antwoordvelden</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Veld</th><th>Type</th></tr></thead><tbody><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">data.audio</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">data.audio_url</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">data.status</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>integer</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasnamen</h3><h4>Modelaliasnamen</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=minimax%2Fmusic-2.0&amp;route=Ultra&amp;caller=minimax%2Fmusic-2.0&amp;fmt=music\"><code>minimax/music-2.0</code></a>, <a href=\"#m=minimax%2Fmusic-2.0&amp;route=Ultra&amp;caller=music-2.0&amp;fmt=music\"><code>music-2.0</code></a></span></p><h4>Aliasnamen voor methodepaden</h4><p class=\"note-s\">Gebruik de hierboven getoonde methodepaden.</p><h4>Gerelateerde aanroeper-ID’s</h4><p class=\"note-s\"><a href=\"#m=minimax%2Fmusic-2.0&amp;route=Ultra&amp;caller=minimax%2Fmusic-2.0&amp;fmt=music\"><code>minimax/music-2.0</code></a>, <a href=\"#m=minimax%2Fmusic-2.0&amp;route=Ultra&amp;caller=music-2.0&amp;fmt=music\"><code>music-2.0</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "minimax/music-2.0",
        "fmt": "music",
        "http": "POST",
        "path": "/v1/music/generations",
        "request_model_id": "minimax/music-2.0",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|music|/v1/music/generations|minimax%2Fmusic-2.0",
      "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.0",
              "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.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 2000,
                "minLength": 10,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 3500,
                "minLength": 10,
                "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": 10,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "minimax/music-2.0"
                  ],
                  "type": "string"
                },
                "output_format": {
                  "default": "hex",
                  "enum": [
                    "url",
                    "hex"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 2000,
                  "minLength": 10,
                  "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.0",
                "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.1",
                "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.1",
                "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.0\", \"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.1"
        },
        "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.1",
                "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.1",
                "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.0",
        "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.1",
            "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.1",
            "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.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sluiten\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>music-2.0</code><button type=\"button\" id=\"copy-id\">ID kopiëren</button></div><nav class=\"card-jump-nav\" aria-label=\"Onderdelen van de modelkaart\"><button type=\"button\" data-card-jump=\"overview\">Aan de slag</button><button type=\"button\" data-card-jump=\"methods\">Invoer en methoden</button><button type=\"button\" data-card-jump=\"pricing\">Tarieven</button><button type=\"button\" data-card-jump=\"examples\">Voorbeelden</button><button type=\"button\" data-card-jump=\"results\">Resultaten</button><button type=\"button\" data-card-jump=\"aliases\">Aliasnamen</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-methoden\"><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.0\">Muziek · Ultra</button></div><div class=\"idline\"><label for=\"card-model-id\">Model-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.0\">minimax/music-2.0</option><option value=\"Ultra|music|/v1/music/generations|music-2.0\" selected>music-2.0</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\">Aan de slag</h3><p class=\"mdesc-full\">MiniMax Music 2.0 genereert muziek op basis van een prompt voor stijl en sfeer en aangeleverde songtekst. Het synchrone muziekprofiel accepteert 10–2 000 tekens voor de prompt, 10–3 500 tekens songtekst en MP3- of WAV-uitvoer.</p><dl class=\"card-io\" data-card-io><div><dt>Toegestane invoer</dt><dd>Tekst</dd></div><div><dt>Resultaten</dt><dd>Audio</dd></div></dl><details class=\"card-about\"><summary>Over het model</summary><p class=\"note-s\" data-model-method-boundary>Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.</p><div class=\"mabout\" id=\"m-about\"><p>MiniMax Music 2.0 maakt muziek op basis van een geschreven muzikale briefing en songtekst. Selecteer minimax/music-2.0 voor deze exacte editie; music-2.0 is de geconfigureerde alias. De muziekmethode gebruikt een JSON-verzoek met model, prompt en lyrics en produceert gegenereerde audio. Gebruik het om een geschreven liedconcept om te zetten in een luisterversie, aangeleverde songteksten op muziek te zetten of een compositie te verkennen voordat je die verder bewerkt.</p><p>Gebruik prompt om de muziekstijl, de sfeer en de omgeving te beschrijven en lyrics voor de woorden die moeten worden gezongen. Een bruikbare briefing kan vragen om een introspectief folklied voor een rustig café, met een couplet dat de scène neerzet en een refrein dat het centrale idee herhaalt. Houd de muzikale richting in prompt en de bedoelde regels in lyrics, zodat de tekst een duidelijke rol in de compositie heeft.</p><p>Voor Music 2.0 moet prompt 10–2 000 tekens bevatten en lyrics 10–3 500 tekens. Neem beide tekstvelden samen met het geselecteerde model op in het verzoek. Gebruik de ruimte in prompt voor de muzikale keuzes die ertoe doen en geef vervolgens de volledige bedoelde tekst op in lyrics. Een compacte maar volledige briefing is gemakkelijker met het geretourneerde lied te vergelijken dan losstaande instructies die over beide velden zijn verspreid.</p><p>Scheid songtekstregels met regeleindetekens. Sectielabels zoals [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] en [Outro] kunnen de beoogde structuur aangeven; de gedocumenteerde verzameling omvat ook [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] en [Solo]. Plaats de daadwerkelijke woorden onder de bijbehorende sectielabels en laat secties bewust terugkeren. Deze markeringen geven de compositie een structuur om vanuit te werken; beoordeel hoe het voltooide lied de overgangen en herhalingen daadwerkelijk realiseert.</p><p>Het object audio_setting biedt sample_rate-waarden van 16000, 24000, 32000 of 44100, bitrate-waarden van 32000, 64000, 128000 of 256000 en format-waarden mp3 of wav. Kies de bestandsinstellingen voor de volgende bewerkings- of afspeelstap en bewaar ze bij de briefing. Het gepubliceerde voorbeeld vraagt om 44100, 256000 en mp3; dit zijn voorbeeldkeuzes en geen universele standaardwaarden voor alle drie de velden.</p><p>Het geselecteerde muziekwerkproces is synchroon en niet-gestreamd. De gedocumenteerde keuzes voor output_format zijn url en hex, met hex als standaardwaarde van het schema; het geselecteerde voorbeeld vraagt expliciet om url. Gebruik voor URL-uitvoer de geretourneerde Ailoot-link om de opgeslagen audio te downloaden. Een hex-resultaat vertegenwoordigt audiobytes die vóór het afspelen naar het geselecteerde bestandsformaat moeten worden gedecodeerd. Het antwoord kan zowel audio- als audio_url-locaties voor één gegenereerd audiostuk bevatten; bewaar dat resultaat als één lied.</p><p>Sla de voltooide audio op met de songtekst, muzikale briefing, exacte model-ID en gevraagde bestandsinstellingen. Luister naar de bedoelde woorden, sectievolgorde en muzikale richting voordat je het in een project plaatst. Als een verzoek eindigt zonder volledig resultaat, bewaar dan de oorspronkelijke verzoekidentiteit en antwoordinformatie om het resultaat te controleren; een automatisch vervangingsverzoek kan nog een lied maken. Een revisie kan een specifieke tekstregel of muzikale instructie wijzigen, terwijl de rest van de briefing voor vergelijking behouden blijft.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Beschikbaar in Ailoot · invoer en methoden</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>Invoertypen</dt><dd><code>text</code></dd></div><div><dt>Uitvoertypen</dt><dd><code>audio</code></dd></div><div><dt>Uitvoerformaat</dt><dd>mp3,wav</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Veld</th><th>Type</th><th>Vereiste</th><th>Waarden en limieten</th><th>Standaard</th></tr></thead><tbody><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Vereist</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>music-2.0</div></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Vereist</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">lyrics</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Vereist</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>boolean</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>false</div></td><td data-cell-label=\"Standaard\" data-default=\"known\"><span class=\"card-cell-label\">Standaard</span>false</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">output_format</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>url, hex</div></td><td data-cell-label=\"Standaard\" data-default=\"known\"><span class=\"card-cell-label\">Standaard</span>hex</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">audio_setting</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>object</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">audio_setting.sample_rate</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>16.000, 24.000, 32.000, 44.100</div></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">audio_setting.bitrate</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>32.000, 64.000, 128.000, 256.000</div></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">audio_setting.format</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>mp3, wav</div></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">aigc_watermark</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>boolean</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Optioneel</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span></td><td data-cell-label=\"Standaard\" data-default=\"known\"><span class=\"card-cell-label\">Standaard</span>false</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Methodeparameters en levenscyclus</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Contract</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>model, prompt, lyrics</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>optional</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>stream, output_format, audio_setting, aigc_watermark</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>text</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>conditions</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method.</td></tr></tbody></table></div><p>Levenscyclus: <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\">Tarieven</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.</p><dl data-price-conditions><dt>Snelle modus</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer de snelle modus is geselecteerd</span></dd><dt>Flexmodus</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer de modus flex is geselecteerd</span></dd><dt>Maximale redeneerinspanning</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-tarieven</h4><h4>Prijzen per configuratie</h4><p class=\"note-s\">Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuratie</th><th>Tariefstaffel</th><th>Gefactureerde hoeveelheid</th><th>Kosten</th></tr></thead><tbody><tr><th data-cell-label=\"Configuratie\" scope=\"row\"><span class=\"card-cell-label\">Configuratie</span>Basistarieven voor tokens</th><td data-cell-label=\"Tariefstaffel\"><span class=\"card-cell-label\">Tariefstaffel</span>Basistarief</td><td data-cell-label=\"Gefactureerde hoeveelheid\"><span class=\"card-cell-label\">Gefactureerde hoeveelheid</span>—</td><td data-cell-label=\"Kosten\"><span class=\"card-cell-label\">Kosten</span><div><span>Invoer · Invoertokens</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Uitvoer · Uitvoertokens</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache lezen</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache schrijven</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache schrijven, 1 uur</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuratie\" scope=\"row\"><span class=\"card-cell-label\">Configuratie</span>Per verzoek</th><td data-cell-label=\"Tariefstaffel\"><span class=\"card-cell-label\">Tariefstaffel</span>—</td><td data-cell-label=\"Gefactureerde hoeveelheid\"><span class=\"card-cell-label\">Gefactureerde hoeveelheid</span>één verzoek</td><td data-cell-label=\"Kosten\"><span class=\"card-cell-label\">Kosten</span><div><span>Invoer</span> <b>$0.1</b> <span class=\"price-unit\">per verzoek</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. <a href=\"/docs/nl/billing/reserve/\">Zo werken reservering en afrekening →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Voorbeeldverzoeken</h3><h4>Ailoot Ultra · Music</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Codevarianten\"><button class=\"cg-tab\" id=\"model-code-21-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-21-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · maak één keer aan en bewaar het volledige resultaat</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Code kopiëren\"><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-21-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-21-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.0&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\">Resultaten ophalen en opslaan</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>Alle voltooide resultaten bewaren</h5><p class=\"note-s\">Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.</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>Als het oorspronkelijke antwoord moet worden gecontroleerd</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>Antwoordvelden</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Veld</th><th>Type</th></tr></thead><tbody><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">data.audio</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">data.audio_url</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">data.status</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>integer</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasnamen</h3><h4>Modelaliasnamen</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=minimax%2Fmusic-2.0&amp;route=Ultra&amp;caller=minimax%2Fmusic-2.0&amp;fmt=music\"><code>minimax/music-2.0</code></a>, <a href=\"#m=minimax%2Fmusic-2.0&amp;route=Ultra&amp;caller=music-2.0&amp;fmt=music\"><code>music-2.0</code></a></span></p><h4>Aliasnamen voor methodepaden</h4><p class=\"note-s\">Gebruik de hierboven getoonde methodepaden.</p><h4>Gerelateerde aanroeper-ID’s</h4><p class=\"note-s\"><a href=\"#m=minimax%2Fmusic-2.0&amp;route=Ultra&amp;caller=minimax%2Fmusic-2.0&amp;fmt=music\"><code>minimax/music-2.0</code></a>, <a href=\"#m=minimax%2Fmusic-2.0&amp;route=Ultra&amp;caller=music-2.0&amp;fmt=music\"><code>music-2.0</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "music-2.0",
        "fmt": "music",
        "http": "POST",
        "path": "/v1/music/generations",
        "request_model_id": "music-2.0",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|music|/v1/music/generations|music-2.0",
      "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.0",
              "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.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 2000,
                "minLength": 10,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 3500,
                "minLength": 10,
                "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": 10,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "music-2.0"
                  ],
                  "type": "string"
                },
                "output_format": {
                  "default": "hex",
                  "enum": [
                    "url",
                    "hex"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 2000,
                  "minLength": 10,
                  "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.0",
                "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.1",
                "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.1",
                "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.0\", \"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.1"
        },
        "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.1",
                "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.1",
                "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.0",
        "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.1",
            "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.1",
            "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.0",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "6d6a4e4d150ada75992c5c57e3331c436587ecc2d75e21fe68f3beb58df7fb55",
    "input_html_sha256": "b9ff6bc73268a873386f43c933a11d8f826fc329a1af71f2d401cef3ab64ace4",
    "private_audit_sha256": "5f022f03d92229ef22c22a9acc57e7ed91399943c62eefa95ca3971807964b1f",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/nl/minimax-music-2-0/",
    "description": "MiniMax Music 2.0 genereert muziek op basis van een prompt voor stijl en sfeer en aangeleverde songtekst. Het synchrone muziekprofiel accepteert 10–2 000 tekens voor de prompt, 10–3 500 tekens songtekst en MP3- of WAV-uitvoer.",
    "locale": "nl",
    "md_url": "https://ailoot.ai/models/nl/minimax-music-2-0/index.md",
    "title": "MiniMax: Music 2.0 — Ailoot",
    "url": "https://ailoot.ai/models/nl/minimax-music-2-0/"
  },
  "rawModel": {
    "about": "MiniMax Music 2.0 maakt muziek op basis van een geschreven muzikale briefing en songtekst. Selecteer minimax/music-2.0 voor deze exacte editie; music-2.0 is de geconfigureerde alias. De muziekmethode gebruikt een JSON-verzoek met model, prompt en lyrics en produceert gegenereerde audio. Gebruik het om een geschreven liedconcept om te zetten in een luisterversie, aangeleverde songteksten op muziek te zetten of een compositie te verkennen voordat je die verder bewerkt.\n\nGebruik prompt om de muziekstijl, de sfeer en de omgeving te beschrijven en lyrics voor de woorden die moeten worden gezongen. Een bruikbare briefing kan vragen om een introspectief folklied voor een rustig café, met een couplet dat de scène neerzet en een refrein dat het centrale idee herhaalt. Houd de muzikale richting in prompt en de bedoelde regels in lyrics, zodat de tekst een duidelijke rol in de compositie heeft.\n\nVoor Music 2.0 moet prompt 10–2 000 tekens bevatten en lyrics 10–3 500 tekens. Neem beide tekstvelden samen met het geselecteerde model op in het verzoek. Gebruik de ruimte in prompt voor de muzikale keuzes die ertoe doen en geef vervolgens de volledige bedoelde tekst op in lyrics. Een compacte maar volledige briefing is gemakkelijker met het geretourneerde lied te vergelijken dan losstaande instructies die over beide velden zijn verspreid.\n\nScheid songtekstregels met regeleindetekens. Sectielabels zoals [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] en [Outro] kunnen de beoogde structuur aangeven; de gedocumenteerde verzameling omvat ook [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] en [Solo]. Plaats de daadwerkelijke woorden onder de bijbehorende sectielabels en laat secties bewust terugkeren. Deze markeringen geven de compositie een structuur om vanuit te werken; beoordeel hoe het voltooide lied de overgangen en herhalingen daadwerkelijk realiseert.\n\nHet object audio_setting biedt sample_rate-waarden van 16000, 24000, 32000 of 44100, bitrate-waarden van 32000, 64000, 128000 of 256000 en format-waarden mp3 of wav. Kies de bestandsinstellingen voor de volgende bewerkings- of afspeelstap en bewaar ze bij de briefing. Het gepubliceerde voorbeeld vraagt om 44100, 256000 en mp3; dit zijn voorbeeldkeuzes en geen universele standaardwaarden voor alle drie de velden.\n\nHet geselecteerde muziekwerkproces is synchroon en niet-gestreamd. De gedocumenteerde keuzes voor output_format zijn url en hex, met hex als standaardwaarde van het schema; het geselecteerde voorbeeld vraagt expliciet om url. Gebruik voor URL-uitvoer de geretourneerde Ailoot-link om de opgeslagen audio te downloaden. Een hex-resultaat vertegenwoordigt audiobytes die vóór het afspelen naar het geselecteerde bestandsformaat moeten worden gedecodeerd. Het antwoord kan zowel audio- als audio_url-locaties voor één gegenereerd audiostuk bevatten; bewaar dat resultaat als één lied.\n\nSla de voltooide audio op met de songtekst, muzikale briefing, exacte model-ID en gevraagde bestandsinstellingen. Luister naar de bedoelde woorden, sectievolgorde en muzikale richting voordat je het in een project plaatst. Als een verzoek eindigt zonder volledig resultaat, bewaar dan de oorspronkelijke verzoekidentiteit en antwoordinformatie om het resultaat te controleren; een automatisch vervangingsverzoek kan nog een lied maken. Een revisie kan een specifieke tekstregel of muzikale instructie wijzigen, terwijl de rest van de briefing voor vergelijking behouden blijft.",
    "alias_of": null,
    "aliases": [
      "music-2.0"
    ],
    "author": "MiniMax",
    "ctx": null,
    "formats": [
      "music"
    ],
    "id": "minimax/music-2.0",
    "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.0",
              "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.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 2000,
                "minLength": 10,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 3500,
                "minLength": 10,
                "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": 10,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "minimax/music-2.0"
                  ],
                  "type": "string"
                },
                "output_format": {
                  "default": "hex",
                  "enum": [
                    "url",
                    "hex"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 2000,
                  "minLength": 10,
                  "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.0",
                "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.1",
                "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.1",
                "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.0\", \"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.1"
        },
        "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.1",
                "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.1",
                "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.0",
        "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.1",
            "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.1",
            "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.0",
              "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.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 2000,
                "minLength": 10,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 3500,
                "minLength": 10,
                "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": 10,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "music-2.0"
                  ],
                  "type": "string"
                },
                "output_format": {
                  "default": "hex",
                  "enum": [
                    "url",
                    "hex"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 2000,
                  "minLength": 10,
                  "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.0",
                "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.1",
                "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.1",
                "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.0\", \"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.1"
        },
        "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.1",
                "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.1",
                "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.0",
        "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.1",
            "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.1",
            "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.0",
        "request_model_id": "minimax/music-2.0",
        "route_label": "Ultra"
      },
      {
        "canonical_model_id": "minimax/music-2.0",
        "request_model_id": "music-2.0",
        "route_label": "Ultra"
      }
    ],
    "name": "MiniMax: Music 2.0",
    "price": {
      "in": "0.1",
      "in_label": "per request",
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": false
    },
    "short": "MiniMax Music 2.0 genereert muziek op basis van een prompt voor stijl en sfeer en aangeleverde songtekst. Het synchrone muziekprofiel accepteert 10–2 000 tekens voor de prompt, 10–3 500 tekens songtekst en MP3- of WAV-uitvoer."
  },
  "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.0 genereert muziek op basis van een prompt voor stijl en sfeer en aangeleverde songtekst. Het synchrone muziekprofiel accepteert 10–2 000 tekens voor de prompt, 10–3 500 tekens songtekst en MP3- of WAV-uitvoer.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "95a10178ef55d3cd00b7f06796c1d850397b98da6add7d4cbce12b86ba77aa8c",
    "renderer_sha256": "be7649af06bb0ae446191041c6cfb8a9b83a53896c8c6e9173e76a39d513e829"
  },
  "sourceRevision": "f86c8c4d3fbfa1d1645a3e5655f127b134cee8fd94929f82b3252bb5cb45af53"
}
