{
  "aboutHtml": "<p>MiniMax Music 2.5+ crea música a partir de un encargo musical escrito y una letra. Selecciona minimax/music-2.5+ para esta edición exacta; music-2.5+ es su alias configurado. Su método de música utiliza una solicitud JSON con model, prompt y lyrics y produce audio generado. Utilízalo para convertir un concepto escrito de canción en un borrador que escuchar, poner música a una letra proporcionada o explorar una composición antes de seguir editándola.</p><p>Utiliza prompt para describir el estilo musical, el ambiente y el entorno, y lyrics para las palabras que deben cantarse. Un encargo útil podría pedir una canción folk introspectiva para una cafetería tranquila, con una estrofa que establezca la escena y un estribillo que repita su idea central. Mantén la dirección musical en prompt y los versos previstos en lyrics para que el texto tenga una función clara en la composición.</p><p>Para Music 2.5+, prompt debe contener de 10 a 2000 caracteres y lyrics debe contener de 10 a 3500 caracteres. Incluye ambos campos de texto en la solicitud junto con el modelo seleccionado. Utiliza el espacio de prompt para las decisiones musicales importantes y proporciona después todas las palabras previstas en lyrics. Un encargo compacto pero completo resulta más fácil de comparar con la canción devuelta que instrucciones sin relación repartidas entre ambos campos.</p><p>Separa los versos con caracteres de salto de línea. Las etiquetas de sección, como [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] y [Outro], pueden identificar la estructura prevista; el conjunto documentado también incluye [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] y [Solo]. Coloca las palabras reales debajo de sus etiquetas de sección y haz que las secciones repetidas sean deliberadas. Estos marcadores aportan a la composición una estructura de partida; revisa cómo realiza realmente la canción completada las transiciones y las repeticiones.</p><p>El objeto audio_setting ofrece valores de sample_rate de 16000, 24000, 32000 o 44100, valores de bitrate de 32000, 64000, 128000 o 256000, y valores de format mp3 o wav. Elige los ajustes del archivo para el siguiente paso de edición o reproducción y consérvalos junto con el encargo. El ejemplo publicado solicita 44100, 256000 y mp3; son selecciones del ejemplo en lugar de valores predeterminados universales para los tres campos.</p><p>El flujo de trabajo de música seleccionado es síncrono y sin streaming. Las opciones documentadas de output_format son url y hex, con hex como valor predeterminado del esquema; el ejemplo seleccionado solicita explícitamente url. Para la salida URL, utiliza el enlace de Ailoot devuelto para descargar el audio guardado. Un resultado hex representa bytes de audio que deben decodificarse al formato de archivo seleccionado antes de reproducirlos. La respuesta puede contener las ubicaciones audio y audio_url para un único audio generado; conserva ese resultado como una sola canción.</p><p>Guarda el audio completado con su letra, el encargo musical, el ID exacto del modelo y los ajustes de archivo solicitados. Escucha las palabras previstas, el orden de las secciones y la dirección musical antes de incorporarlo a un proyecto. Si una solicitud termina sin un resultado completo, conserva la identidad de su solicitud original y la información de la respuesta para comprobar el resultado; una solicitud de sustitución automática puede crear otra canción. Una revisión puede modificar un verso o una instrucción musical específicos manteniendo el resto del encargo para comparar.</p>",
  "aboutText": "MiniMax Music 2.5+ crea música a partir de un encargo musical escrito y una letra. Selecciona minimax/music-2.5+ para esta edición exacta; music-2.5+ es su alias configurado. Su método de música utiliza una solicitud JSON con model, prompt y lyrics y produce audio generado. Utilízalo para convertir un concepto escrito de canción en un borrador que escuchar, poner música a una letra proporcionada o explorar una composición antes de seguir editándola.\n\nUtiliza prompt para describir el estilo musical, el ambiente y el entorno, y lyrics para las palabras que deben cantarse. Un encargo útil podría pedir una canción folk introspectiva para una cafetería tranquila, con una estrofa que establezca la escena y un estribillo que repita su idea central. Mantén la dirección musical en prompt y los versos previstos en lyrics para que el texto tenga una función clara en la composición.\n\nPara Music 2.5+, prompt debe contener de 10 a 2000 caracteres y lyrics debe contener de 10 a 3500 caracteres. Incluye ambos campos de texto en la solicitud junto con el modelo seleccionado. Utiliza el espacio de prompt para las decisiones musicales importantes y proporciona después todas las palabras previstas en lyrics. Un encargo compacto pero completo resulta más fácil de comparar con la canción devuelta que instrucciones sin relación repartidas entre ambos campos.\n\nSepara los versos con caracteres de salto de línea. Las etiquetas de sección, como [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] y [Outro], pueden identificar la estructura prevista; el conjunto documentado también incluye [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] y [Solo]. Coloca las palabras reales debajo de sus etiquetas de sección y haz que las secciones repetidas sean deliberadas. Estos marcadores aportan a la composición una estructura de partida; revisa cómo realiza realmente la canción completada las transiciones y las repeticiones.\n\nEl objeto audio_setting ofrece valores de sample_rate de 16000, 24000, 32000 o 44100, valores de bitrate de 32000, 64000, 128000 o 256000, y valores de format mp3 o wav. Elige los ajustes del archivo para el siguiente paso de edición o reproducción y consérvalos junto con el encargo. El ejemplo publicado solicita 44100, 256000 y mp3; son selecciones del ejemplo en lugar de valores predeterminados universales para los tres campos.\n\nEl flujo de trabajo de música seleccionado es síncrono y sin streaming. Las opciones documentadas de output_format son url y hex, con hex como valor predeterminado del esquema; el ejemplo seleccionado solicita explícitamente url. Para la salida URL, utiliza el enlace de Ailoot devuelto para descargar el audio guardado. Un resultado hex representa bytes de audio que deben decodificarse al formato de archivo seleccionado antes de reproducirlos. La respuesta puede contener las ubicaciones audio y audio_url para un único audio generado; conserva ese resultado como una sola canción.\n\nGuarda el audio completado con su letra, el encargo musical, el ID exacto del modelo y los ajustes de archivo solicitados. Escucha las palabras previstas, el orden de las secciones y la dirección musical antes de incorporarlo a un proyecto. Si una solicitud termina sin un resultado completo, conserva la identidad de su solicitud original y la información de la respuesta para comprobar el resultado; una solicitud de sustitución automática puede crear otra canción. Una revisión puede modificar un verso o una instrucción musical específicos manteniendo el resto del encargo para comparar.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "4363b576884636f6d1241ee863bc8d60e6bdd8746d52605913c0c6cfb5fafdfd",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "es-mx",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">MM</span><h2 id=\"sheet-title\">MiniMax: Music 2.5+</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Cerrar\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>minimax/music-2.5+</code><button type=\"button\" id=\"copy-id\">Copiar ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Secciones de la ficha del modelo\"><button type=\"button\" data-card-jump=\"overview\">Inicio</button><button type=\"button\" data-card-jump=\"methods\">Entradas y métodos</button><button type=\"button\" data-card-jump=\"pricing\">Tarifas</button><button type=\"button\" data-card-jump=\"examples\">Ejemplos</button><button type=\"button\" data-card-jump=\"results\">Resultados</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Métodos de API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|music|/v1/music/generations|minimax%2Fmusic-2.5%2B\">Música · Ultra</button></div><div class=\"idline\"><label for=\"card-model-id\">ID del modelo</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Ultra|music|/v1/music/generations|minimax%2Fmusic-2.5%2B\" selected>minimax/music-2.5+</option><option value=\"Ultra|music|/v1/music/generations|music-2.5%2B\">music-2.5+</option></select></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Inicio</h3><p class=\"mdesc-full\">MiniMax Music 2.5+ genera música a partir de un prompt de estilo y ambiente y de la letra proporcionada. Su perfil de música síncrono acepta de 10 a 2000 caracteres en el prompt, de 10 a 3500 caracteres en la letra y salida MP3 o WAV.</p><dl class=\"card-io\" data-card-io><div><dt>Entradas aceptadas</dt><dd>Texto</dd></div><div><dt>Resultados</dt><dd>Audio</dd></div></dl><details class=\"card-about\"><summary>Sobre el modelo</summary><p class=\"note-s\" data-model-method-boundary>Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.</p><div class=\"mabout\" id=\"m-about\"><p>MiniMax Music 2.5+ crea música a partir de un encargo musical escrito y una letra. Selecciona minimax/music-2.5+ para esta edición exacta; music-2.5+ es su alias configurado. Su método de música utiliza una solicitud JSON con model, prompt y lyrics y produce audio generado. Utilízalo para convertir un concepto escrito de canción en un borrador que escuchar, poner música a una letra proporcionada o explorar una composición antes de seguir editándola.</p><p>Utiliza prompt para describir el estilo musical, el ambiente y el entorno, y lyrics para las palabras que deben cantarse. Un encargo útil podría pedir una canción folk introspectiva para una cafetería tranquila, con una estrofa que establezca la escena y un estribillo que repita su idea central. Mantén la dirección musical en prompt y los versos previstos en lyrics para que el texto tenga una función clara en la composición.</p><p>Para Music 2.5+, prompt debe contener de 10 a 2000 caracteres y lyrics debe contener de 10 a 3500 caracteres. Incluye ambos campos de texto en la solicitud junto con el modelo seleccionado. Utiliza el espacio de prompt para las decisiones musicales importantes y proporciona después todas las palabras previstas en lyrics. Un encargo compacto pero completo resulta más fácil de comparar con la canción devuelta que instrucciones sin relación repartidas entre ambos campos.</p><p>Separa los versos con caracteres de salto de línea. Las etiquetas de sección, como [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] y [Outro], pueden identificar la estructura prevista; el conjunto documentado también incluye [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] y [Solo]. Coloca las palabras reales debajo de sus etiquetas de sección y haz que las secciones repetidas sean deliberadas. Estos marcadores aportan a la composición una estructura de partida; revisa cómo realiza realmente la canción completada las transiciones y las repeticiones.</p><p>El objeto audio_setting ofrece valores de sample_rate de 16000, 24000, 32000 o 44100, valores de bitrate de 32000, 64000, 128000 o 256000, y valores de format mp3 o wav. Elige los ajustes del archivo para el siguiente paso de edición o reproducción y consérvalos junto con el encargo. El ejemplo publicado solicita 44100, 256000 y mp3; son selecciones del ejemplo en lugar de valores predeterminados universales para los tres campos.</p><p>El flujo de trabajo de música seleccionado es síncrono y sin streaming. Las opciones documentadas de output_format son url y hex, con hex como valor predeterminado del esquema; el ejemplo seleccionado solicita explícitamente url. Para la salida URL, utiliza el enlace de Ailoot devuelto para descargar el audio guardado. Un resultado hex representa bytes de audio que deben decodificarse al formato de archivo seleccionado antes de reproducirlos. La respuesta puede contener las ubicaciones audio y audio_url para un único audio generado; conserva ese resultado como una sola canción.</p><p>Guarda el audio completado con su letra, el encargo musical, el ID exacto del modelo y los ajustes de archivo solicitados. Escucha las palabras previstas, el orden de las secciones y la dirección musical antes de incorporarlo a un proyecto. Si una solicitud termina sin un resultado completo, conserva la identidad de su solicitud original y la información de la respuesta para comprobar el resultado; una solicitud de sustitución automática puede crear otra canción. Una revisión puede modificar un verso o una instrucción musical específicos manteniendo el resto del encargo para comparar.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponible en Ailoot · entradas y métodos</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>Entrada</dt><dd><code>text</code></dd></div><div><dt>Salida</dt><dd><code>audio</code></dd></div><div><dt>Formato de salida</dt><dd>mp3,wav</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Campo</th><th>Tipo</th><th>Requisito</th><th>Valores y límites</th><th>Predeterminado</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>minimax/music-2.5+</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">lyrics</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>boolean</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>false</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>false</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">output_format</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>url, hex</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>hex</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">audio_setting</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>object</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">audio_setting.sample_rate</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>integer</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>16,000, 24,000, 32,000, 44,100</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">audio_setting.bitrate</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>integer</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>32,000, 64,000, 128,000, 256,000</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">audio_setting.format</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>mp3, wav</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">aigc_watermark</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>boolean</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>false</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parámetros del método y ciclo de vida</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parámetro</th><th>Contrato</th></tr></thead><tbody><tr><th data-cell-label=\"Parámetro\" scope=\"row\"><span class=\"card-cell-label\">Parámetro</span><code>content_type</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>application/json</td></tr><tr><th data-cell-label=\"Parámetro\" scope=\"row\"><span class=\"card-cell-label\">Parámetro</span><code>required</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>model, prompt, lyrics</td></tr><tr><th data-cell-label=\"Parámetro\" scope=\"row\"><span class=\"card-cell-label\">Parámetro</span><code>optional</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>stream, output_format, audio_setting, aigc_watermark</td></tr><tr><th data-cell-label=\"Parámetro\" scope=\"row\"><span class=\"card-cell-label\">Parámetro</span><code>material_types</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>text</td></tr><tr><th data-cell-label=\"Parámetro\" scope=\"row\"><span class=\"card-cell-label\">Parámetro</span><code>conditions</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method.</td></tr></tbody></table></div><p>Ciclo de vida: <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\">Tarifas</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.</p><dl data-price-conditions><dt>Modo fast</dt><dd>Sin especificar <span class=\"note-s\">Cuando se selecciona el modo fast</span></dd><dt>Modo flex</dt><dd>Sin especificar <span class=\"note-s\">Cuando se selecciona el modo flex</span></dd><dt>Esfuerzo máximo de razonamiento</dt><dd>Sin especificar <span class=\"note-s\">Cuando el esfuerzo máximo de razonamiento usa el ajuste default</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tarifas de Ailoot</h4><h4>Precios por configuración</h4><p class=\"note-s\">Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuración</th><th>Tabla de tarifas</th><th>Cantidad para facturación</th><th>Cargo</th></tr></thead><tbody><tr><th data-cell-label=\"Configuración\" scope=\"row\"><span class=\"card-cell-label\">Configuración</span>Tarifas base por token</th><td data-cell-label=\"Tabla de tarifas\"><span class=\"card-cell-label\">Tabla de tarifas</span>Tarifa base</td><td data-cell-label=\"Cantidad para facturación\"><span class=\"card-cell-label\">Cantidad para facturación</span>—</td><td data-cell-label=\"Cargo\"><span class=\"card-cell-label\">Cargo</span><div><span>Entrada · Tokens de entrada</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Salida · Tokens de salida</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Lectura de caché</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Escritura en caché</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Escritura en caché, 1 hora</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuración\" scope=\"row\"><span class=\"card-cell-label\">Configuración</span>Por solicitud</th><td data-cell-label=\"Tabla de tarifas\"><span class=\"card-cell-label\">Tabla de tarifas</span>—</td><td data-cell-label=\"Cantidad para facturación\"><span class=\"card-cell-label\">Cantidad para facturación</span>una solicitud</td><td data-cell-label=\"Cargo\"><span class=\"card-cell-label\">Cargo</span><div><span>Entrada</span> <b>$0.3</b> <span class=\"price-unit\">por solicitud</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. <a href=\"/docs/es-mx/billing/reserve/\">Cómo funcionan la reserva y la liquidación →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Solicitudes de ejemplo</h3><h4>Ailoot Ultra · Music</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Variantes del código\"><button class=\"cg-tab\" id=\"model-code-24-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-24-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · crea una sola vez y conserva el resultado completo</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copiar código\"><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-24-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-24-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;minimax/music-2.5+&quot;, &quot;prompt&quot;: &quot;独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆&quot;, &quot;lyrics&quot;: &quot;[verse]\\\\n街灯微亮晚风轻抚\\\\n影子拉长独自漫步\\\\n旧外套裹着深深忧郁\\\\n不知去向渴望何处\\\\n[chorus]\\\\n推开木门香气弥漫\\\\n熟悉的角落陌生人看&quot;, &quot;audio_setting&quot;: {&quot;sample_rate&quot;: 44100, &quot;bitrate&quot;: 256000, &quot;format&quot;: &quot;mp3&quot;}, &quot;output_format&quot;: &quot;url&quot;}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/music/generations \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Recibir y guardar resultados</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>Conserva todos los resultados completados</h5><p class=\"note-s\">Conserva todas las respuestas, archivos y partes de contenido completos recibidos.</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>Si es necesario revisar la respuesta original</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>Campos de respuesta</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Campo</th><th>Tipo</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data.audio</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data.audio_url</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data.status</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>integer</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias del modelo</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=minimax%2Fmusic-2.5%2B&amp;route=Ultra&amp;caller=minimax%2Fmusic-2.5%2B&amp;fmt=music\"><code>minimax/music-2.5+</code></a>, <a href=\"#m=minimax%2Fmusic-2.5%2B&amp;route=Ultra&amp;caller=music-2.5%2B&amp;fmt=music\"><code>music-2.5+</code></a></span></p><h4>Alias de rutas de métodos</h4><p class=\"note-s\">Usa las rutas de método indicadas arriba.</p><h4>ID de modelo relacionados</h4><p class=\"note-s\"><a href=\"#m=minimax%2Fmusic-2.5%2B&amp;route=Ultra&amp;caller=minimax%2Fmusic-2.5%2B&amp;fmt=music\"><code>minimax/music-2.5+</code></a>, <a href=\"#m=minimax%2Fmusic-2.5%2B&amp;route=Ultra&amp;caller=music-2.5%2B&amp;fmt=music\"><code>music-2.5+</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "minimax/music-2.5+",
        "fmt": "music",
        "http": "POST",
        "path": "/v1/music/generations",
        "request_model_id": "minimax/music-2.5+",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|music|/v1/music/generations|minimax%2Fmusic-2.5%2B",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "audio_setting": {
                "bitrate": 256000,
                "format": "mp3",
                "sample_rate": 44100
              },
              "lyrics": "[verse]\n街灯微亮晚风轻抚\n影子拉长独自漫步\n旧外套裹着深深忧郁\n不知去向渴望何处\n[chorus]\n推开木门香气弥漫\n熟悉的角落陌生人看",
              "model": "minimax/music-2.5+",
              "output_format": "url",
              "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
            },
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets",
                  "query": {
                    "cursor": "actual returned next_cursor, when present",
                    "family": "audio"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/music/generations"
              },
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
              },
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
              "family": "audio",
              "fields": [
                {
                  "name": "data.audio",
                  "type": "string"
                },
                {
                  "name": "data.audio_url",
                  "type": "string"
                },
                {
                  "name": "data.status",
                  "type": "integer"
                }
              ],
              "format": [
                "mp3",
                "wav"
              ]
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "minimax/music-2.5+"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 2000,
                "minLength": 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.5+"
                  ],
                  "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.5+",
                "output_format": "url",
                "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "output_format",
              "audio_setting",
              "aigc_watermark"
            ],
            "required": [
              "model",
              "prompt",
              "lyrics"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets",
                "query": {
                  "cursor": "actual returned next_cursor, when present",
                  "family": "audio"
                }
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/music/generations"
            },
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
            },
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/music/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
            "family": "audio",
            "fields": [
              {
                "name": "data.audio",
                "type": "string"
              },
              {
                "name": "data.audio_url",
                "type": "string"
              },
              {
                "name": "data.status",
                "type": "integer"
              }
            ],
            "format": [
              "mp3",
              "wav"
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"minimax/music-2.5+\", \"prompt\": \"独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆\", \"lyrics\": \"[verse]\\\\n街灯微亮晚风轻抚\\\\n影子拉长独自漫步\\\\n旧外套裹着深深忧郁\\\\n不知去向渴望何处\\\\n[chorus]\\\\n推开木门香气弥漫\\\\n熟悉的角落陌生人看\", \"audio_setting\": {\"sample_rate\": 44100, \"bitrate\": 256000, \"format\": \"mp3\"}, \"output_format\": \"url\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/music/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "music",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Music",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/music/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": null,
          "flex_multiplier": null,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": null,
          "intervals": [],
          "max_reasoning_effort_multiplier": null,
          "output_price": null,
          "per_request_price": "0.3"
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "minimax/music-2.5+",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "per_request",
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.3",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0.3",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">MM</span><h2 id=\"sheet-title\">MiniMax: Music 2.5+</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Cerrar\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>music-2.5+</code><button type=\"button\" id=\"copy-id\">Copiar ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Secciones de la ficha del modelo\"><button type=\"button\" data-card-jump=\"overview\">Inicio</button><button type=\"button\" data-card-jump=\"methods\">Entradas y métodos</button><button type=\"button\" data-card-jump=\"pricing\">Tarifas</button><button type=\"button\" data-card-jump=\"examples\">Ejemplos</button><button type=\"button\" data-card-jump=\"results\">Resultados</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Métodos de API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|music|/v1/music/generations|music-2.5%2B\">Música · Ultra</button></div><div class=\"idline\"><label for=\"card-model-id\">ID del modelo</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Ultra|music|/v1/music/generations|minimax%2Fmusic-2.5%2B\">minimax/music-2.5+</option><option value=\"Ultra|music|/v1/music/generations|music-2.5%2B\" selected>music-2.5+</option></select></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Inicio</h3><p class=\"mdesc-full\">MiniMax Music 2.5+ genera música a partir de un prompt de estilo y ambiente y de la letra proporcionada. Su perfil de música síncrono acepta de 10 a 2000 caracteres en el prompt, de 10 a 3500 caracteres en la letra y salida MP3 o WAV.</p><dl class=\"card-io\" data-card-io><div><dt>Entradas aceptadas</dt><dd>Texto</dd></div><div><dt>Resultados</dt><dd>Audio</dd></div></dl><details class=\"card-about\"><summary>Sobre el modelo</summary><p class=\"note-s\" data-model-method-boundary>Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.</p><div class=\"mabout\" id=\"m-about\"><p>MiniMax Music 2.5+ crea música a partir de un encargo musical escrito y una letra. Selecciona minimax/music-2.5+ para esta edición exacta; music-2.5+ es su alias configurado. Su método de música utiliza una solicitud JSON con model, prompt y lyrics y produce audio generado. Utilízalo para convertir un concepto escrito de canción en un borrador que escuchar, poner música a una letra proporcionada o explorar una composición antes de seguir editándola.</p><p>Utiliza prompt para describir el estilo musical, el ambiente y el entorno, y lyrics para las palabras que deben cantarse. Un encargo útil podría pedir una canción folk introspectiva para una cafetería tranquila, con una estrofa que establezca la escena y un estribillo que repita su idea central. Mantén la dirección musical en prompt y los versos previstos en lyrics para que el texto tenga una función clara en la composición.</p><p>Para Music 2.5+, prompt debe contener de 10 a 2000 caracteres y lyrics debe contener de 10 a 3500 caracteres. Incluye ambos campos de texto en la solicitud junto con el modelo seleccionado. Utiliza el espacio de prompt para las decisiones musicales importantes y proporciona después todas las palabras previstas en lyrics. Un encargo compacto pero completo resulta más fácil de comparar con la canción devuelta que instrucciones sin relación repartidas entre ambos campos.</p><p>Separa los versos con caracteres de salto de línea. Las etiquetas de sección, como [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] y [Outro], pueden identificar la estructura prevista; el conjunto documentado también incluye [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] y [Solo]. Coloca las palabras reales debajo de sus etiquetas de sección y haz que las secciones repetidas sean deliberadas. Estos marcadores aportan a la composición una estructura de partida; revisa cómo realiza realmente la canción completada las transiciones y las repeticiones.</p><p>El objeto audio_setting ofrece valores de sample_rate de 16000, 24000, 32000 o 44100, valores de bitrate de 32000, 64000, 128000 o 256000, y valores de format mp3 o wav. Elige los ajustes del archivo para el siguiente paso de edición o reproducción y consérvalos junto con el encargo. El ejemplo publicado solicita 44100, 256000 y mp3; son selecciones del ejemplo en lugar de valores predeterminados universales para los tres campos.</p><p>El flujo de trabajo de música seleccionado es síncrono y sin streaming. Las opciones documentadas de output_format son url y hex, con hex como valor predeterminado del esquema; el ejemplo seleccionado solicita explícitamente url. Para la salida URL, utiliza el enlace de Ailoot devuelto para descargar el audio guardado. Un resultado hex representa bytes de audio que deben decodificarse al formato de archivo seleccionado antes de reproducirlos. La respuesta puede contener las ubicaciones audio y audio_url para un único audio generado; conserva ese resultado como una sola canción.</p><p>Guarda el audio completado con su letra, el encargo musical, el ID exacto del modelo y los ajustes de archivo solicitados. Escucha las palabras previstas, el orden de las secciones y la dirección musical antes de incorporarlo a un proyecto. Si una solicitud termina sin un resultado completo, conserva la identidad de su solicitud original y la información de la respuesta para comprobar el resultado; una solicitud de sustitución automática puede crear otra canción. Una revisión puede modificar un verso o una instrucción musical específicos manteniendo el resto del encargo para comparar.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponible en Ailoot · entradas y métodos</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>Entrada</dt><dd><code>text</code></dd></div><div><dt>Salida</dt><dd><code>audio</code></dd></div><div><dt>Formato de salida</dt><dd>mp3,wav</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Campo</th><th>Tipo</th><th>Requisito</th><th>Valores y límites</th><th>Predeterminado</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>music-2.5+</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">lyrics</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>boolean</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>false</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>false</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">output_format</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>url, hex</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>hex</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">audio_setting</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>object</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">audio_setting.sample_rate</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>integer</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>16,000, 24,000, 32,000, 44,100</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">audio_setting.bitrate</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>integer</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>32,000, 64,000, 128,000, 256,000</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">audio_setting.format</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>mp3, wav</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">aigc_watermark</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>boolean</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>false</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parámetros del método y ciclo de vida</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parámetro</th><th>Contrato</th></tr></thead><tbody><tr><th data-cell-label=\"Parámetro\" scope=\"row\"><span class=\"card-cell-label\">Parámetro</span><code>content_type</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>application/json</td></tr><tr><th data-cell-label=\"Parámetro\" scope=\"row\"><span class=\"card-cell-label\">Parámetro</span><code>required</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>model, prompt, lyrics</td></tr><tr><th data-cell-label=\"Parámetro\" scope=\"row\"><span class=\"card-cell-label\">Parámetro</span><code>optional</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>stream, output_format, audio_setting, aigc_watermark</td></tr><tr><th data-cell-label=\"Parámetro\" scope=\"row\"><span class=\"card-cell-label\">Parámetro</span><code>material_types</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>text</td></tr><tr><th data-cell-label=\"Parámetro\" scope=\"row\"><span class=\"card-cell-label\">Parámetro</span><code>conditions</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method.</td></tr></tbody></table></div><p>Ciclo de vida: <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\">Tarifas</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.</p><dl data-price-conditions><dt>Modo fast</dt><dd>Sin especificar <span class=\"note-s\">Cuando se selecciona el modo fast</span></dd><dt>Modo flex</dt><dd>Sin especificar <span class=\"note-s\">Cuando se selecciona el modo flex</span></dd><dt>Esfuerzo máximo de razonamiento</dt><dd>Sin especificar <span class=\"note-s\">Cuando el esfuerzo máximo de razonamiento usa el ajuste default</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tarifas de Ailoot</h4><h4>Precios por configuración</h4><p class=\"note-s\">Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuración</th><th>Tabla de tarifas</th><th>Cantidad para facturación</th><th>Cargo</th></tr></thead><tbody><tr><th data-cell-label=\"Configuración\" scope=\"row\"><span class=\"card-cell-label\">Configuración</span>Tarifas base por token</th><td data-cell-label=\"Tabla de tarifas\"><span class=\"card-cell-label\">Tabla de tarifas</span>Tarifa base</td><td data-cell-label=\"Cantidad para facturación\"><span class=\"card-cell-label\">Cantidad para facturación</span>—</td><td data-cell-label=\"Cargo\"><span class=\"card-cell-label\">Cargo</span><div><span>Entrada · Tokens de entrada</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Salida · Tokens de salida</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Lectura de caché</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Escritura en caché</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Escritura en caché, 1 hora</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuración\" scope=\"row\"><span class=\"card-cell-label\">Configuración</span>Por solicitud</th><td data-cell-label=\"Tabla de tarifas\"><span class=\"card-cell-label\">Tabla de tarifas</span>—</td><td data-cell-label=\"Cantidad para facturación\"><span class=\"card-cell-label\">Cantidad para facturación</span>una solicitud</td><td data-cell-label=\"Cargo\"><span class=\"card-cell-label\">Cargo</span><div><span>Entrada</span> <b>$0.3</b> <span class=\"price-unit\">por solicitud</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. <a href=\"/docs/es-mx/billing/reserve/\">Cómo funcionan la reserva y la liquidación →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Solicitudes de ejemplo</h3><h4>Ailoot Ultra · Music</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Variantes del código\"><button class=\"cg-tab\" id=\"model-code-25-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-25-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · crea una sola vez y conserva el resultado completo</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copiar código\"><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-25-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-25-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;music-2.5+&quot;, &quot;prompt&quot;: &quot;独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆&quot;, &quot;lyrics&quot;: &quot;[verse]\\\\n街灯微亮晚风轻抚\\\\n影子拉长独自漫步\\\\n旧外套裹着深深忧郁\\\\n不知去向渴望何处\\\\n[chorus]\\\\n推开木门香气弥漫\\\\n熟悉的角落陌生人看&quot;, &quot;audio_setting&quot;: {&quot;sample_rate&quot;: 44100, &quot;bitrate&quot;: 256000, &quot;format&quot;: &quot;mp3&quot;}, &quot;output_format&quot;: &quot;url&quot;}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/music/generations \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Recibir y guardar resultados</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>Conserva todos los resultados completados</h5><p class=\"note-s\">Conserva todas las respuestas, archivos y partes de contenido completos recibidos.</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>Si es necesario revisar la respuesta original</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>Campos de respuesta</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Campo</th><th>Tipo</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data.audio</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data.audio_url</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data.status</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>integer</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias del modelo</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=minimax%2Fmusic-2.5%2B&amp;route=Ultra&amp;caller=minimax%2Fmusic-2.5%2B&amp;fmt=music\"><code>minimax/music-2.5+</code></a>, <a href=\"#m=minimax%2Fmusic-2.5%2B&amp;route=Ultra&amp;caller=music-2.5%2B&amp;fmt=music\"><code>music-2.5+</code></a></span></p><h4>Alias de rutas de métodos</h4><p class=\"note-s\">Usa las rutas de método indicadas arriba.</p><h4>ID de modelo relacionados</h4><p class=\"note-s\"><a href=\"#m=minimax%2Fmusic-2.5%2B&amp;route=Ultra&amp;caller=minimax%2Fmusic-2.5%2B&amp;fmt=music\"><code>minimax/music-2.5+</code></a>, <a href=\"#m=minimax%2Fmusic-2.5%2B&amp;route=Ultra&amp;caller=music-2.5%2B&amp;fmt=music\"><code>music-2.5+</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "music-2.5+",
        "fmt": "music",
        "http": "POST",
        "path": "/v1/music/generations",
        "request_model_id": "music-2.5+",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|music|/v1/music/generations|music-2.5%2B",
      "ordinal": 1,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "audio_setting": {
                "bitrate": 256000,
                "format": "mp3",
                "sample_rate": 44100
              },
              "lyrics": "[verse]\n街灯微亮晚风轻抚\n影子拉长独自漫步\n旧外套裹着深深忧郁\n不知去向渴望何处\n[chorus]\n推开木门香气弥漫\n熟悉的角落陌生人看",
              "model": "music-2.5+",
              "output_format": "url",
              "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
            },
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets",
                  "query": {
                    "cursor": "actual returned next_cursor, when present",
                    "family": "audio"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/music/generations"
              },
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
              },
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
              "family": "audio",
              "fields": [
                {
                  "name": "data.audio",
                  "type": "string"
                },
                {
                  "name": "data.audio_url",
                  "type": "string"
                },
                {
                  "name": "data.status",
                  "type": "integer"
                }
              ],
              "format": [
                "mp3",
                "wav"
              ]
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "music-2.5+"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 2000,
                "minLength": 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.5+"
                  ],
                  "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.5+",
                "output_format": "url",
                "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "output_format",
              "audio_setting",
              "aigc_watermark"
            ],
            "required": [
              "model",
              "prompt",
              "lyrics"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets",
                "query": {
                  "cursor": "actual returned next_cursor, when present",
                  "family": "audio"
                }
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/music/generations"
            },
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
            },
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/music/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
            "family": "audio",
            "fields": [
              {
                "name": "data.audio",
                "type": "string"
              },
              {
                "name": "data.audio_url",
                "type": "string"
              },
              {
                "name": "data.status",
                "type": "integer"
              }
            ],
            "format": [
              "mp3",
              "wav"
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"music-2.5+\", \"prompt\": \"独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆\", \"lyrics\": \"[verse]\\\\n街灯微亮晚风轻抚\\\\n影子拉长独自漫步\\\\n旧外套裹着深深忧郁\\\\n不知去向渴望何处\\\\n[chorus]\\\\n推开木门香气弥漫\\\\n熟悉的角落陌生人看\", \"audio_setting\": {\"sample_rate\": 44100, \"bitrate\": 256000, \"format\": \"mp3\"}, \"output_format\": \"url\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/music/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "music",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Music",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/music/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": null,
          "flex_multiplier": null,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": null,
          "intervals": [],
          "max_reasoning_effort_multiplier": null,
          "output_price": null,
          "per_request_price": "0.3"
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "music-2.5+",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "per_request",
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.3",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0.3",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      }
    }
  ],
  "model_id": "minimax/music-2.5+",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "6421eb86f7e996c52c9a24b299cd80cf93e326a6783f7d2d15da9e12032589ec",
    "input_html_sha256": "270cafe240d3e5c30ce3cf48bf8d58f8b76d796d8206fc997b7dfc2f1061b5f2",
    "private_audit_sha256": "ed1abc543fbd3fe4b4b001fd91d533483383871e26f45c00ce632c7dc519f2e6",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/es-mx/minimax-music-2-5-u002b/",
    "description": "MiniMax Music 2.5+ genera música a partir de un prompt de estilo y ambiente y de la letra proporcionada. Su perfil de música síncrono acepta de 10 a 2000 caracteres en el prompt, de 10 a 3500 caracteres en la letra y salida MP3 o WAV.",
    "locale": "es-mx",
    "md_url": "https://ailoot.ai/models/es-mx/minimax-music-2-5-u002b/index.md",
    "title": "MiniMax: Music 2.5+ — Ailoot",
    "url": "https://ailoot.ai/models/es-mx/minimax-music-2-5-u002b/"
  },
  "rawModel": {
    "about": "MiniMax Music 2.5+ crea música a partir de un encargo musical escrito y una letra. Selecciona minimax/music-2.5+ para esta edición exacta; music-2.5+ es su alias configurado. Su método de música utiliza una solicitud JSON con model, prompt y lyrics y produce audio generado. Utilízalo para convertir un concepto escrito de canción en un borrador que escuchar, poner música a una letra proporcionada o explorar una composición antes de seguir editándola.\n\nUtiliza prompt para describir el estilo musical, el ambiente y el entorno, y lyrics para las palabras que deben cantarse. Un encargo útil podría pedir una canción folk introspectiva para una cafetería tranquila, con una estrofa que establezca la escena y un estribillo que repita su idea central. Mantén la dirección musical en prompt y los versos previstos en lyrics para que el texto tenga una función clara en la composición.\n\nPara Music 2.5+, prompt debe contener de 10 a 2000 caracteres y lyrics debe contener de 10 a 3500 caracteres. Incluye ambos campos de texto en la solicitud junto con el modelo seleccionado. Utiliza el espacio de prompt para las decisiones musicales importantes y proporciona después todas las palabras previstas en lyrics. Un encargo compacto pero completo resulta más fácil de comparar con la canción devuelta que instrucciones sin relación repartidas entre ambos campos.\n\nSepara los versos con caracteres de salto de línea. Las etiquetas de sección, como [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge] y [Outro], pueden identificar la estructura prevista; el conjunto documentado también incluye [Interlude], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst] y [Solo]. Coloca las palabras reales debajo de sus etiquetas de sección y haz que las secciones repetidas sean deliberadas. Estos marcadores aportan a la composición una estructura de partida; revisa cómo realiza realmente la canción completada las transiciones y las repeticiones.\n\nEl objeto audio_setting ofrece valores de sample_rate de 16000, 24000, 32000 o 44100, valores de bitrate de 32000, 64000, 128000 o 256000, y valores de format mp3 o wav. Elige los ajustes del archivo para el siguiente paso de edición o reproducción y consérvalos junto con el encargo. El ejemplo publicado solicita 44100, 256000 y mp3; son selecciones del ejemplo en lugar de valores predeterminados universales para los tres campos.\n\nEl flujo de trabajo de música seleccionado es síncrono y sin streaming. Las opciones documentadas de output_format son url y hex, con hex como valor predeterminado del esquema; el ejemplo seleccionado solicita explícitamente url. Para la salida URL, utiliza el enlace de Ailoot devuelto para descargar el audio guardado. Un resultado hex representa bytes de audio que deben decodificarse al formato de archivo seleccionado antes de reproducirlos. La respuesta puede contener las ubicaciones audio y audio_url para un único audio generado; conserva ese resultado como una sola canción.\n\nGuarda el audio completado con su letra, el encargo musical, el ID exacto del modelo y los ajustes de archivo solicitados. Escucha las palabras previstas, el orden de las secciones y la dirección musical antes de incorporarlo a un proyecto. Si una solicitud termina sin un resultado completo, conserva la identidad de su solicitud original y la información de la respuesta para comprobar el resultado; una solicitud de sustitución automática puede crear otra canción. Una revisión puede modificar un verso o una instrucción musical específicos manteniendo el resto del encargo para comparar.",
    "alias_of": null,
    "aliases": [
      "music-2.5+"
    ],
    "author": "MiniMax",
    "ctx": null,
    "formats": [
      "music"
    ],
    "id": "minimax/music-2.5+",
    "input": [
      "text"
    ],
    "kind": "music",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "audio_setting": {
                "bitrate": 256000,
                "format": "mp3",
                "sample_rate": 44100
              },
              "lyrics": "[verse]\n街灯微亮晚风轻抚\n影子拉长独自漫步\n旧外套裹着深深忧郁\n不知去向渴望何处\n[chorus]\n推开木门香气弥漫\n熟悉的角落陌生人看",
              "model": "minimax/music-2.5+",
              "output_format": "url",
              "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
            },
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets",
                  "query": {
                    "cursor": "actual returned next_cursor, when present",
                    "family": "audio"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/music/generations"
              },
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
              },
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
              "family": "audio",
              "fields": [
                {
                  "name": "data.audio",
                  "type": "string"
                },
                {
                  "name": "data.audio_url",
                  "type": "string"
                },
                {
                  "name": "data.status",
                  "type": "integer"
                }
              ],
              "format": [
                "mp3",
                "wav"
              ]
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "minimax/music-2.5+"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 2000,
                "minLength": 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.5+"
                  ],
                  "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.5+",
                "output_format": "url",
                "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "output_format",
              "audio_setting",
              "aigc_watermark"
            ],
            "required": [
              "model",
              "prompt",
              "lyrics"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets",
                "query": {
                  "cursor": "actual returned next_cursor, when present",
                  "family": "audio"
                }
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/music/generations"
            },
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
            },
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/music/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
            "family": "audio",
            "fields": [
              {
                "name": "data.audio",
                "type": "string"
              },
              {
                "name": "data.audio_url",
                "type": "string"
              },
              {
                "name": "data.status",
                "type": "integer"
              }
            ],
            "format": [
              "mp3",
              "wav"
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"minimax/music-2.5+\", \"prompt\": \"独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆\", \"lyrics\": \"[verse]\\\\n街灯微亮晚风轻抚\\\\n影子拉长独自漫步\\\\n旧外套裹着深深忧郁\\\\n不知去向渴望何处\\\\n[chorus]\\\\n推开木门香气弥漫\\\\n熟悉的角落陌生人看\", \"audio_setting\": {\"sample_rate\": 44100, \"bitrate\": 256000, \"format\": \"mp3\"}, \"output_format\": \"url\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/music/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "music",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Music",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/music/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": null,
          "flex_multiplier": null,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": null,
          "intervals": [],
          "max_reasoning_effort_multiplier": null,
          "output_price": null,
          "per_request_price": "0.3"
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "minimax/music-2.5+",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "per_request",
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.3",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0.3",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      },
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "audio_setting": {
                "bitrate": 256000,
                "format": "mp3",
                "sample_rate": 44100
              },
              "lyrics": "[verse]\n街灯微亮晚风轻抚\n影子拉长独自漫步\n旧外套裹着深深忧郁\n不知去向渴望何处\n[chorus]\n推开木门香气弥漫\n熟悉的角落陌生人看",
              "model": "music-2.5+",
              "output_format": "url",
              "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
            },
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets",
                  "query": {
                    "cursor": "actual returned next_cursor, when present",
                    "family": "audio"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/music/generations"
              },
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
              },
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
              "family": "audio",
              "fields": [
                {
                  "name": "data.audio",
                  "type": "string"
                },
                {
                  "name": "data.audio_url",
                  "type": "string"
                },
                {
                  "name": "data.status",
                  "type": "integer"
                }
              ],
              "format": [
                "mp3",
                "wav"
              ]
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "music-2.5+"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 2000,
                "minLength": 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.5+"
                  ],
                  "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.5+",
                "output_format": "url",
                "prompt": "独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use a nonstreaming request. MP3 and WAV are available; a PCM control is absent from this method."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "output_format",
              "audio_setting",
              "aigc_watermark"
            ],
            "required": [
              "model",
              "prompt",
              "lyrics"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets",
                "query": {
                  "cursor": "actual returned next_cursor, when present",
                  "family": "audio"
                }
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/music/generations"
            },
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned content_url. Refresh an expired link by reading the same existing asset."
            },
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/music/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "One generated audio; retain every returned field. audio and audio_url are representations of the same output, not separate songs.",
            "family": "audio",
            "fields": [
              {
                "name": "data.audio",
                "type": "string"
              },
              {
                "name": "data.audio_url",
                "type": "string"
              },
              {
                "name": "data.status",
                "type": "integer"
              }
            ],
            "format": [
              "mp3",
              "wav"
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"music-2.5+\", \"prompt\": \"独立民谣,忧郁,内省,渴望,独自漫步,咖啡馆\", \"lyrics\": \"[verse]\\\\n街灯微亮晚风轻抚\\\\n影子拉长独自漫步\\\\n旧外套裹着深深忧郁\\\\n不知去向渴望何处\\\\n[chorus]\\\\n推开木门香气弥漫\\\\n熟悉的角落陌生人看\", \"audio_setting\": {\"sample_rate\": 44100, \"bitrate\": 256000, \"format\": \"mp3\"}, \"output_format\": \"url\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/music/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "music",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Music",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/music/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": null,
          "flex_multiplier": null,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": null,
          "intervals": [],
          "max_reasoning_effort_multiplier": null,
          "output_price": null,
          "per_request_price": "0.3"
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.3",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.3",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "music-2.5+",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "per_request",
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.3",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0.3",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "minimax/music-2.5+",
        "request_model_id": "minimax/music-2.5+",
        "route_label": "Ultra"
      },
      {
        "canonical_model_id": "minimax/music-2.5+",
        "request_model_id": "music-2.5+",
        "route_label": "Ultra"
      }
    ],
    "name": "MiniMax: Music 2.5+",
    "price": {
      "in": "0.3",
      "in_label": "per request",
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": false
    },
    "short": "MiniMax Music 2.5+ genera música a partir de un prompt de estilo y ambiente y de la letra proporcionada. Su perfil de música síncrono acepta de 10 a 2000 caracteres en el prompt, de 10 a 3500 caracteres en la letra y salida MP3 o WAV."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        },
        {
          "contract_json_pointer": "/methods/1/rawMethod/contract",
          "html_json_pointer": "/methods/1/html",
          "method_ordinal": 1
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod",
        "/methods/1/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "MiniMax Music 2.5+ genera música a partir de un prompt de estilo y ambiente y de la letra proporcionada. Su perfil de música síncrono acepta de 10 a 2000 caracteres en el prompt, de 10 a 3500 caracteres en la letra y salida MP3 o WAV.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "e0d8dd4f058849e2709631046e04f3dcccc7fef6cb41f3b6608d7de93c007189",
    "renderer_sha256": "50c5984577eac7205687c05e1c36de5d3ba7a0afdff02194efad3a88143581e8"
  },
  "sourceRevision": "68bf31216d26c42eac0efcc0017a4bf498e2ad38ac73473fbf13353da94943be"
}
