{
  "aboutHtml": "<p>MiniMax Speech 02 HD convierte el texto proporcionado en audio hablado. Su ID exacto de modelo en Ailoot es minimax/speech-02-hd, y su selector de síntesis documentado es speech-02-hd. Utiliza el método audio_speech para una voz en off, una lección hablada, una explicación de producto o un borrador de narración cuyo texto ya tengas. La entrada es el pasaje que debe leerse y el resultado es voz sintetizada en el formato de audio seleccionado.</p><p>Prepara el texto como palabras destinadas a pronunciarse, con una puntuación que refleje el fraseo. Para un borrador de narración, proporciona el orden definitivo de las frases y la grafía de los nombres antes de elegir los ajustes de voz. Mantén las indicaciones de interpretación separadas del pasaje hablado salvo que esas palabras deban formar parte de la grabación. Escucha los nombres, los números y las transiciones importantes del resultado y compáralos con el texto de origen.</p><p>El texto debe tener menos de 10 000 caracteres. El contrato de síntesis publicado requiere model y text. Para material más largo, prepara pasajes dentro de ese límite y conserva su orden para la edición. El perfil síncrono utiliza una respuesta completa, con stream=false como valor predeterminado documentado. La API general también describe opciones de streaming, pero el método seleccionado en esta ficha es el flujo de trabajo síncrono de voz.</p><p>voice_setting selecciona un voice_id disponible y controla speed, vol y pitch. El intervalo documentado de speed es 0.5–2, con 1 como valor predeterminado. vol debe ser mayor que 0 y como máximo 10, con 1 como valor predeterminado; pitch es un entero de -12 a 12, con 0 como valor predeterminado. Haz que cada ajuste responda a las necesidades del pasaje: compara el ritmo de lectura y la audibilidad de la grabación real en lugar de dar por hecho que un cambio numérico crea una interpretación determinada.</p><p>Los valores documentados de emotion son happy, sad, angry, fearful, disgusted, surprised, calm y fluent. El texto también puede guiar la emoción del modelo. text_normalization es un control booleano independiente para preparar la lectura de números en chino e inglés, y latex_read controla la lectura de fórmulas LaTeX; ambos tienen false como valor predeterminado. pronunciation_dict.tone puede contener reglas documentadas de sustitución de pronunciación. Comprueba un nombre o una expresión especializada en el audio resultante antes de utilizarlo en una narración más larga.</p><p>audio_setting.format acepta mp3, pcm, flac o wav, con mp3 como valor predeterminado. sample_rate acepta 8000, 16000, 22050, 24000, 32000 o 44100 y tiene 32000 como valor predeterminado. bitrate acepta 32000, 64000, 128000 o 256000, tiene 128000 como valor predeterminado y se aplica a MP3. channel selecciona 1 para mono o 2 para estéreo, con 1 como valor predeterminado. Conserva estas opciones junto con el pasaje de origen para poder comprobar que el archivo devuelto se ajusta al destino previsto de edición o reproducción.</p><p>Otros controles documentados incluyen language_boost, cuyas opciones exactas con nombre incluyen English, Russian, Chinese y Chinese,Yue; elige un valor real de la lista para el pasaje. timber_weights puede combinar entradas voice_id existentes con valores enteros de weight de 1 a 100. Los valores publicados de sound_effects son spacious_echo, auditorium_echo, lofi_telephone y robotic. Son controles opcionales para dar forma a una voz seleccionada; registra sus ajustes reales al comparar lecturas.</p><p>El resultado síncrono contiene voz generada. output_format selecciona url o hex y tiene hex como valor predeterminado en el esquema de síntesis. Descarga el archivo al que hace referencia un resultado URL o decodifica un resultado hex en bytes de audio antes de reproducirlo. Conserva los metadatos del audio devuelto, incluidos su formato, frecuencia de muestreo, número de canales y tamaño, junto con la grabación. subtitle_enable tiene false como valor predeterminado y solo se aplica a la salida sin streaming cuando se habilita; la fuente no establece un formato de archivo de subtítulos para este perfil.</p><p>Guarda juntos el pasaje de origen, el ID exacto del modelo, la selección de voz y la grabación completada. Revisa toda la lectura para comprobar el texto previsto, las pausas y los ajustes de interpretación elegidos antes de incorporarla a un video, una lección o una guía hablada. Si la respuesta está incompleta, conserva la identidad de su solicitud original y la información devuelta para la conciliación antes de solicitar otra grabación. Una revisión posterior puede modificar una frase o un ajuste de voz específico manteniendo el resto del guion para una comparación clara.</p>",
  "aboutText": "MiniMax Speech 02 HD convierte el texto proporcionado en audio hablado. Su ID exacto de modelo en Ailoot es minimax/speech-02-hd, y su selector de síntesis documentado es speech-02-hd. Utiliza el método audio_speech para una voz en off, una lección hablada, una explicación de producto o un borrador de narración cuyo texto ya tengas. La entrada es el pasaje que debe leerse y el resultado es voz sintetizada en el formato de audio seleccionado.\n\nPrepara el texto como palabras destinadas a pronunciarse, con una puntuación que refleje el fraseo. Para un borrador de narración, proporciona el orden definitivo de las frases y la grafía de los nombres antes de elegir los ajustes de voz. Mantén las indicaciones de interpretación separadas del pasaje hablado salvo que esas palabras deban formar parte de la grabación. Escucha los nombres, los números y las transiciones importantes del resultado y compáralos con el texto de origen.\n\nEl texto debe tener menos de 10 000 caracteres. El contrato de síntesis publicado requiere model y text. Para material más largo, prepara pasajes dentro de ese límite y conserva su orden para la edición. El perfil síncrono utiliza una respuesta completa, con stream=false como valor predeterminado documentado. La API general también describe opciones de streaming, pero el método seleccionado en esta ficha es el flujo de trabajo síncrono de voz.\n\nvoice_setting selecciona un voice_id disponible y controla speed, vol y pitch. El intervalo documentado de speed es 0.5–2, con 1 como valor predeterminado. vol debe ser mayor que 0 y como máximo 10, con 1 como valor predeterminado; pitch es un entero de -12 a 12, con 0 como valor predeterminado. Haz que cada ajuste responda a las necesidades del pasaje: compara el ritmo de lectura y la audibilidad de la grabación real en lugar de dar por hecho que un cambio numérico crea una interpretación determinada.\n\nLos valores documentados de emotion son happy, sad, angry, fearful, disgusted, surprised, calm y fluent. El texto también puede guiar la emoción del modelo. text_normalization es un control booleano independiente para preparar la lectura de números en chino e inglés, y latex_read controla la lectura de fórmulas LaTeX; ambos tienen false como valor predeterminado. pronunciation_dict.tone puede contener reglas documentadas de sustitución de pronunciación. Comprueba un nombre o una expresión especializada en el audio resultante antes de utilizarlo en una narración más larga.\n\naudio_setting.format acepta mp3, pcm, flac o wav, con mp3 como valor predeterminado. sample_rate acepta 8000, 16000, 22050, 24000, 32000 o 44100 y tiene 32000 como valor predeterminado. bitrate acepta 32000, 64000, 128000 o 256000, tiene 128000 como valor predeterminado y se aplica a MP3. channel selecciona 1 para mono o 2 para estéreo, con 1 como valor predeterminado. Conserva estas opciones junto con el pasaje de origen para poder comprobar que el archivo devuelto se ajusta al destino previsto de edición o reproducción.\n\nOtros controles documentados incluyen language_boost, cuyas opciones exactas con nombre incluyen English, Russian, Chinese y Chinese,Yue; elige un valor real de la lista para el pasaje. timber_weights puede combinar entradas voice_id existentes con valores enteros de weight de 1 a 100. Los valores publicados de sound_effects son spacious_echo, auditorium_echo, lofi_telephone y robotic. Son controles opcionales para dar forma a una voz seleccionada; registra sus ajustes reales al comparar lecturas.\n\nEl resultado síncrono contiene voz generada. output_format selecciona url o hex y tiene hex como valor predeterminado en el esquema de síntesis. Descarga el archivo al que hace referencia un resultado URL o decodifica un resultado hex en bytes de audio antes de reproducirlo. Conserva los metadatos del audio devuelto, incluidos su formato, frecuencia de muestreo, número de canales y tamaño, junto con la grabación. subtitle_enable tiene false como valor predeterminado y solo se aplica a la salida sin streaming cuando se habilita; la fuente no establece un formato de archivo de subtítulos para este perfil.\n\nGuarda juntos el pasaje de origen, el ID exacto del modelo, la selección de voz y la grabación completada. Revisa toda la lectura para comprobar el texto previsto, las pausas y los ajustes de interpretación elegidos antes de incorporarla a un video, una lección o una guía hablada. Si la respuesta está incompleta, conserva la identidad de su solicitud original y la información devuelta para la conciliación antes de solicitar otra grabación. Una revisión posterior puede modificar una frase o un ajuste de voz específico manteniendo el resto del guion para una comparación clara.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "138bad3adccd6cc44b925a621cbfd9ebf00b4b321254d423a5fc7e1cdb4ff04c",
    "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: Speech 02 HD</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Cerrar\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>minimax/speech-02-hd</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|speech|/v1/audio/speech|minimax%2Fspeech-02-hd\">Síntesis de voz</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Inicio</h3><p class=\"mdesc-full\">MiniMax Speech 02 HD lee el texto proporcionado como voz generada mediante una solicitud síncrona audio_speech. Acepta texto de menos de 10 000 caracteres y ofrece ajustes de voz, ritmo y tono con salida MP3, PCM, FLAC 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 Speech 02 HD convierte el texto proporcionado en audio hablado. Su ID exacto de modelo en Ailoot es minimax/speech-02-hd, y su selector de síntesis documentado es speech-02-hd. Utiliza el método audio_speech para una voz en off, una lección hablada, una explicación de producto o un borrador de narración cuyo texto ya tengas. La entrada es el pasaje que debe leerse y el resultado es voz sintetizada en el formato de audio seleccionado.</p><p>Prepara el texto como palabras destinadas a pronunciarse, con una puntuación que refleje el fraseo. Para un borrador de narración, proporciona el orden definitivo de las frases y la grafía de los nombres antes de elegir los ajustes de voz. Mantén las indicaciones de interpretación separadas del pasaje hablado salvo que esas palabras deban formar parte de la grabación. Escucha los nombres, los números y las transiciones importantes del resultado y compáralos con el texto de origen.</p><p>El texto debe tener menos de 10 000 caracteres. El contrato de síntesis publicado requiere model y text. Para material más largo, prepara pasajes dentro de ese límite y conserva su orden para la edición. El perfil síncrono utiliza una respuesta completa, con stream=false como valor predeterminado documentado. La API general también describe opciones de streaming, pero el método seleccionado en esta ficha es el flujo de trabajo síncrono de voz.</p><p>voice_setting selecciona un voice_id disponible y controla speed, vol y pitch. El intervalo documentado de speed es 0.5–2, con 1 como valor predeterminado. vol debe ser mayor que 0 y como máximo 10, con 1 como valor predeterminado; pitch es un entero de -12 a 12, con 0 como valor predeterminado. Haz que cada ajuste responda a las necesidades del pasaje: compara el ritmo de lectura y la audibilidad de la grabación real en lugar de dar por hecho que un cambio numérico crea una interpretación determinada.</p><p>Los valores documentados de emotion son happy, sad, angry, fearful, disgusted, surprised, calm y fluent. El texto también puede guiar la emoción del modelo. text_normalization es un control booleano independiente para preparar la lectura de números en chino e inglés, y latex_read controla la lectura de fórmulas LaTeX; ambos tienen false como valor predeterminado. pronunciation_dict.tone puede contener reglas documentadas de sustitución de pronunciación. Comprueba un nombre o una expresión especializada en el audio resultante antes de utilizarlo en una narración más larga.</p><p>audio_setting.format acepta mp3, pcm, flac o wav, con mp3 como valor predeterminado. sample_rate acepta 8000, 16000, 22050, 24000, 32000 o 44100 y tiene 32000 como valor predeterminado. bitrate acepta 32000, 64000, 128000 o 256000, tiene 128000 como valor predeterminado y se aplica a MP3. channel selecciona 1 para mono o 2 para estéreo, con 1 como valor predeterminado. Conserva estas opciones junto con el pasaje de origen para poder comprobar que el archivo devuelto se ajusta al destino previsto de edición o reproducción.</p><p>Otros controles documentados incluyen language_boost, cuyas opciones exactas con nombre incluyen English, Russian, Chinese y Chinese,Yue; elige un valor real de la lista para el pasaje. timber_weights puede combinar entradas voice_id existentes con valores enteros de weight de 1 a 100. Los valores publicados de sound_effects son spacious_echo, auditorium_echo, lofi_telephone y robotic. Son controles opcionales para dar forma a una voz seleccionada; registra sus ajustes reales al comparar lecturas.</p><p>El resultado síncrono contiene voz generada. output_format selecciona url o hex y tiene hex como valor predeterminado en el esquema de síntesis. Descarga el archivo al que hace referencia un resultado URL o decodifica un resultado hex en bytes de audio antes de reproducirlo. Conserva los metadatos del audio devuelto, incluidos su formato, frecuencia de muestreo, número de canales y tamaño, junto con la grabación. subtitle_enable tiene false como valor predeterminado y solo se aplica a la salida sin streaming cuando se habilita; la fuente no establece un formato de archivo de subtítulos para este perfil.</p><p>Guarda juntos el pasaje de origen, el ID exacto del modelo, la selección de voz y la grabación completada. Revisa toda la lectura para comprobar el texto previsto, las pausas y los ajustes de interpretación elegidos antes de incorporarla a un video, una lección o una guía hablada. Si la respuesta está incompleta, conserva la identidad de su solicitud original y la información devuelta para la conciliación antes de solicitar otra grabación. Una revisión posterior puede modificar una frase o un ajuste de voz específico manteniendo el resto del guion para una comparación clara.</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 · Speech</b> <code>POST /v1/audio/speech</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,pcm,flac,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/speech-02-hd</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\">text</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\">voice_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\">voice_setting.voice_id</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></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\">voice_setting.speed</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>number</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>Mínimo: 0.5</div><div>Máximo: 2</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>1</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">voice_setting.vol</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>number</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>Mínimo: 0</div><div>Máximo: 10</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>1</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">voice_setting.pitch</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>Mínimo: -12</div><div>Máximo: 12</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>0</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">voice_setting.emotion</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>happy, sad, angry, fearful, disgusted, surprised, calm, fluent</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\">voice_setting.text_normalization</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><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">voice_setting.latex_read</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><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>8,000, 16,000, 22,050, 24,000, 32,000, 44,100</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>32,000</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=\"known\"><span class=\"card-cell-label\">Predeterminado</span>128,000</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, pcm, flac, wav</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>mp3</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">audio_setting.channel</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>1, 2</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>1</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">audio_setting.force_cbr</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><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">pronunciation_dict</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\">pronunciation_dict.tone</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>array</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\">timber_weights</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>array</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\">language_boost</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>Chinese, Chinese,Yue, English, Arabic, Russian, Spanish, French, Portuguese, German, Turkish, Dutch, Ukrainian, Vietnamese, Indonesian, Japanese, Italian, Korean, Thai, Polish, Romanian, Greek, Czech, Finnish, Hindi, Bulgarian, Danish, Hebrew, Malay, Persian, Slovak, Swedish, Croatian, Filipino, Hungarian, Norwegian, Slovenian, Catalan, Nynorsk, Tamil, Afrikaans, auto</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\">voice_modify</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\">voice_modify.pitch</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>-100, 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\">voice_modify.intensity</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>-100, 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\">voice_modify.timbre</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>-100, 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\">voice_modify.sound_effects</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>spacious_echo, auditorium_echo, lofi_telephone, robotic</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\">subtitle_enable</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><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\">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, text</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, voice_setting, audio_setting, pronunciation_dict, timber_weights, language_boost, voice_modify, subtitle_enable, output_format, 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 text, not input or contents. Fewer than 10000 Unicode characters; stream is false or omitted., PCM is raw audio with its returned sample geometry; do not invent a WAV header or bit depth.</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>Unidad de 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=\"Unidad de facturación\"><span class=\"card-cell-label\">Unidad de 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>carácter de entrada</th><td data-cell-label=\"Tabla de tarifas\"><span class=\"card-cell-label\">Tabla de tarifas</span>—</td><td data-cell-label=\"Unidad de facturación\"><span class=\"card-cell-label\">Unidad de facturación</span>por carácter de entrada</td><td data-cell-label=\"Cargo\"><span class=\"card-cell-label\">Cargo</span><div><span>Entrada · carácter de entrada</span> <b>$0.0002</b> <span class=\"price-unit\">por carácter de entrada</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 · Speech</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-28-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-28-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-28-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-28-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/speech-02-hd&quot;, &quot;text&quot;: &quot;Hello, this is a short speech example.&quot;, &quot;stream&quot;: false, &quot;output_format&quot;: &quot;hex&quot;, &quot;audio_setting&quot;: {&quot;format&quot;: &quot;mp3&quot;, &quot;sample_rate&quot;: 32000, &quot;channel&quot;: 1}}&#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/audio/speech \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o 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 · Speech</h4><p class=\"note-s\">mp3,pcm,flac,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\">Retain the full JSON. Decode every hex audio byte or use the returned owned URL. Keep the actual format, sample rate, channel count and usage_characters.</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\">extra_info</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>object</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">trace_id</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string</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%2Fspeech-02-hd&amp;route=Ultra&amp;caller=minimax%2Fspeech-02-hd&amp;fmt=speech\"><code>minimax/speech-02-hd</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%2Fspeech-02-hd&amp;route=Ultra&amp;caller=minimax%2Fspeech-02-hd&amp;fmt=speech\"><code>minimax/speech-02-hd</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "minimax/speech-02-hd",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "minimax/speech-02-hd",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|minimax%2Fspeech-02-hd",
      "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": {
                "channel": 1,
                "format": "mp3",
                "sample_rate": 32000
              },
              "model": "minimax/speech-02-hd",
              "output_format": "hex",
              "stream": false,
              "text": "Hello, this is a short speech example."
            },
            "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/audio/speech"
              },
              "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": "Retain the full JSON. Decode every hex audio byte or use the returned owned URL. Keep the actual format, sample rate, channel count and usage_characters.",
              "family": "audio",
              "fields": [
                {
                  "name": "data.audio",
                  "type": "string"
                },
                {
                  "name": "extra_info",
                  "type": "object"
                },
                {
                  "name": "trace_id",
                  "type": "string"
                }
              ],
              "format": [
                "mp3",
                "pcm",
                "flac",
                "wav"
              ]
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "minimax/speech-02-hd"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 9999,
                "minLength": 1,
                "name": "text",
                "required": true,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "voice_setting",
                "properties": {
                  "emotion": {
                    "enum": [
                      "happy",
                      "sad",
                      "angry",
                      "fearful",
                      "disgusted",
                      "surprised",
                      "calm",
                      "fluent"
                    ],
                    "type": "string"
                  },
                  "latex_read": {
                    "default": false,
                    "type": "boolean"
                  },
                  "pitch": {
                    "default": 0,
                    "maximum": 12,
                    "minimum": -12,
                    "type": "integer"
                  },
                  "speed": {
                    "default": 1,
                    "maximum": 2,
                    "minimum": 0.5,
                    "type": "number"
                  },
                  "text_normalization": {
                    "default": false,
                    "type": "boolean"
                  },
                  "voice_id": {
                    "type": "string"
                  },
                  "vol": {
                    "default": 1,
                    "exclusiveMinimum": true,
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  }
                },
                "required": false,
                "type": "object"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "voice_setting.voice_id",
                "required": false,
                "type": "string"
              },
              {
                "default": 1,
                "default_known": true,
                "enum_known": false,
                "maximum": 2,
                "minimum": 0.5,
                "name": "voice_setting.speed",
                "required": false,
                "type": "number"
              },
              {
                "default": 1,
                "default_known": true,
                "enum_known": false,
                "exclusiveMinimum": true,
                "maximum": 10,
                "minimum": 0,
                "name": "voice_setting.vol",
                "required": false,
                "type": "number"
              },
              {
                "default": 0,
                "default_known": true,
                "enum_known": false,
                "maximum": 12,
                "minimum": -12,
                "name": "voice_setting.pitch",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  "happy",
                  "sad",
                  "angry",
                  "fearful",
                  "disgusted",
                  "surprised",
                  "calm",
                  "fluent"
                ],
                "enum_known": true,
                "name": "voice_setting.emotion",
                "required": false,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "voice_setting.text_normalization",
                "required": false,
                "type": "boolean"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "voice_setting.latex_read",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "audio_setting",
                "properties": {
                  "bitrate": {
                    "default": 128000,
                    "enum": [
                      32000,
                      64000,
                      128000,
                      256000
                    ],
                    "type": "integer"
                  },
                  "channel": {
                    "default": 1,
                    "enum": [
                      1,
                      2
                    ],
                    "type": "integer"
                  },
                  "force_cbr": {
                    "default": false,
                    "type": "boolean"
                  },
                  "format": {
                    "default": "mp3",
                    "enum": [
                      "mp3",
                      "pcm",
                      "flac",
                      "wav"
                    ],
                    "type": "string"
                  },
                  "sample_rate": {
                    "default": 32000,
                    "enum": [
                      8000,
                      16000,
                      22050,
                      24000,
                      32000,
                      44100
                    ],
                    "type": "integer"
                  }
                },
                "required": false,
                "type": "object"
              },
              {
                "default": 32000,
                "default_known": true,
                "enum": [
                  8000,
                  16000,
                  22050,
                  24000,
                  32000,
                  44100
                ],
                "enum_known": true,
                "name": "audio_setting.sample_rate",
                "required": false,
                "type": "integer"
              },
              {
                "default": 128000,
                "default_known": true,
                "enum": [
                  32000,
                  64000,
                  128000,
                  256000
                ],
                "enum_known": true,
                "name": "audio_setting.bitrate",
                "required": false,
                "type": "integer"
              },
              {
                "default": "mp3",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm",
                  "flac",
                  "wav"
                ],
                "enum_known": true,
                "name": "audio_setting.format",
                "required": false,
                "type": "string"
              },
              {
                "default": 1,
                "default_known": true,
                "enum": [
                  1,
                  2
                ],
                "enum_known": true,
                "name": "audio_setting.channel",
                "required": false,
                "type": "integer"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "audio_setting.force_cbr",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "pronunciation_dict",
                "properties": {
                  "tone": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": false,
                "type": "object"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "type": "string"
                },
                "name": "pronunciation_dict.tone",
                "required": false,
                "type": "array"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "properties": {
                    "voice_id": {
                      "type": "string"
                    },
                    "weight": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "name": "timber_weights",
                "required": false,
                "type": "array"
              },
              {
                "default_known": false,
                "enum": [
                  "Chinese",
                  "Chinese,Yue",
                  "English",
                  "Arabic",
                  "Russian",
                  "Spanish",
                  "French",
                  "Portuguese",
                  "German",
                  "Turkish",
                  "Dutch",
                  "Ukrainian",
                  "Vietnamese",
                  "Indonesian",
                  "Japanese",
                  "Italian",
                  "Korean",
                  "Thai",
                  "Polish",
                  "Romanian",
                  "Greek",
                  "Czech",
                  "Finnish",
                  "Hindi",
                  "Bulgarian",
                  "Danish",
                  "Hebrew",
                  "Malay",
                  "Persian",
                  "Slovak",
                  "Swedish",
                  "Croatian",
                  "Filipino",
                  "Hungarian",
                  "Norwegian",
                  "Slovenian",
                  "Catalan",
                  "Nynorsk",
                  "Tamil",
                  "Afrikaans",
                  "auto"
                ],
                "enum_known": true,
                "name": "language_boost",
                "required": false,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "voice_modify",
                "properties": {
                  "intensity": {
                    "enum": [
                      -100,
                      100
                    ],
                    "type": "integer"
                  },
                  "pitch": {
                    "enum": [
                      -100,
                      100
                    ],
                    "type": "integer"
                  },
                  "sound_effects": {
                    "enum": [
                      "spacious_echo",
                      "auditorium_echo",
                      "lofi_telephone",
                      "robotic"
                    ],
                    "type": "string"
                  },
                  "timbre": {
                    "enum": [
                      -100,
                      100
                    ],
                    "type": "integer"
                  }
                },
                "required": false,
                "type": "object"
              },
              {
                "default_known": false,
                "enum": [
                  -100,
                  100
                ],
                "enum_known": true,
                "name": "voice_modify.pitch",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  -100,
                  100
                ],
                "enum_known": true,
                "name": "voice_modify.intensity",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  -100,
                  100
                ],
                "enum_known": true,
                "name": "voice_modify.timbre",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  "spacious_echo",
                  "auditorium_echo",
                  "lofi_telephone",
                  "robotic"
                ],
                "enum_known": true,
                "name": "voice_modify.sound_effects",
                "required": false,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "subtitle_enable",
                "required": false,
                "type": "boolean"
              },
              {
                "default": "hex",
                "default_known": true,
                "enum": [
                  "url",
                  "hex"
                ],
                "enum_known": true,
                "name": "output_format",
                "required": false,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "aigc_watermark",
                "required": false,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "properties": {
                "aigc_watermark": {
                  "default": false,
                  "type": "boolean"
                },
                "audio_setting": {
                  "properties": {
                    "bitrate": {
                      "default": 128000,
                      "enum": [
                        32000,
                        64000,
                        128000,
                        256000
                      ],
                      "type": "integer"
                    },
                    "channel": {
                      "default": 1,
                      "enum": [
                        1,
                        2
                      ],
                      "type": "integer"
                    },
                    "force_cbr": {
                      "default": false,
                      "type": "boolean"
                    },
                    "format": {
                      "default": "mp3",
                      "enum": [
                        "mp3",
                        "pcm",
                        "flac",
                        "wav"
                      ],
                      "type": "string"
                    },
                    "sample_rate": {
                      "default": 32000,
                      "enum": [
                        8000,
                        16000,
                        22050,
                        24000,
                        32000,
                        44100
                      ],
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "language_boost": {
                  "enum": [
                    "Chinese",
                    "Chinese,Yue",
                    "English",
                    "Arabic",
                    "Russian",
                    "Spanish",
                    "French",
                    "Portuguese",
                    "German",
                    "Turkish",
                    "Dutch",
                    "Ukrainian",
                    "Vietnamese",
                    "Indonesian",
                    "Japanese",
                    "Italian",
                    "Korean",
                    "Thai",
                    "Polish",
                    "Romanian",
                    "Greek",
                    "Czech",
                    "Finnish",
                    "Hindi",
                    "Bulgarian",
                    "Danish",
                    "Hebrew",
                    "Malay",
                    "Persian",
                    "Slovak",
                    "Swedish",
                    "Croatian",
                    "Filipino",
                    "Hungarian",
                    "Norwegian",
                    "Slovenian",
                    "Catalan",
                    "Nynorsk",
                    "Tamil",
                    "Afrikaans",
                    "auto"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "minimax/speech-02-hd"
                  ],
                  "type": "string"
                },
                "output_format": {
                  "default": "hex",
                  "enum": [
                    "url",
                    "hex"
                  ],
                  "type": "string"
                },
                "pronunciation_dict": {
                  "properties": {
                    "tone": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                },
                "subtitle_enable": {
                  "default": false,
                  "type": "boolean"
                },
                "text": {
                  "maxLength": 9999,
                  "minLength": 1,
                  "type": "string"
                },
                "timber_weights": {
                  "items": {
                    "properties": {
                      "voice_id": {
                        "type": "string"
                      },
                      "weight": {
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "voice_modify": {
                  "properties": {
                    "intensity": {
                      "enum": [
                        -100,
                        100
                      ],
                      "type": "integer"
                    },
                    "pitch": {
                      "enum": [
                        -100,
                        100
                      ],
                      "type": "integer"
                    },
                    "sound_effects": {
                      "enum": [
                        "spacious_echo",
                        "auditorium_echo",
                        "lofi_telephone",
                        "robotic"
                      ],
                      "type": "string"
                    },
                    "timbre": {
                      "enum": [
                        -100,
                        100
                      ],
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "voice_setting": {
                  "properties": {
                    "emotion": {
                      "enum": [
                        "happy",
                        "sad",
                        "angry",
                        "fearful",
                        "disgusted",
                        "surprised",
                        "calm",
                        "fluent"
                      ],
                      "type": "string"
                    },
                    "latex_read": {
                      "default": false,
                      "type": "boolean"
                    },
                    "pitch": {
                      "default": 0,
                      "maximum": 12,
                      "minimum": -12,
                      "type": "integer"
                    },
                    "speed": {
                      "default": 1,
                      "maximum": 2,
                      "minimum": 0.5,
                      "type": "number"
                    },
                    "text_normalization": {
                      "default": false,
                      "type": "boolean"
                    },
                    "voice_id": {
                      "type": "string"
                    },
                    "vol": {
                      "default": 1,
                      "exclusiveMinimum": true,
                      "maximum": 10,
                      "minimum": 0,
                      "type": "number"
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "model",
                "text"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "audio_setting": {
                  "channel": 1,
                  "format": "mp3",
                  "sample_rate": 32000
                },
                "model": "minimax/speech-02-hd",
                "output_format": "hex",
                "stream": false,
                "text": "Hello, this is a short speech example."
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use text, not input or contents. Fewer than 10000 Unicode characters; stream is false or omitted.",
              "PCM is raw audio with its returned sample geometry; do not invent a WAV header or bit depth."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "voice_setting",
              "audio_setting",
              "pronunciation_dict",
              "timber_weights",
              "language_boost",
              "voice_modify",
              "subtitle_enable",
              "output_format",
              "aigc_watermark"
            ],
            "required": [
              "model",
              "text"
            ]
          },
          "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/audio/speech"
            },
            "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/audio/speech"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the full JSON. Decode every hex audio byte or use the returned owned URL. Keep the actual format, sample rate, channel count and usage_characters.",
            "family": "audio",
            "fields": [
              {
                "name": "data.audio",
                "type": "string"
              },
              {
                "name": "extra_info",
                "type": "object"
              },
              {
                "name": "trace_id",
                "type": "string"
              }
            ],
            "format": [
              "mp3",
              "pcm",
              "flac",
              "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": {
              "quoted_unit": "per input character"
            },
            "label": "input character",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input character",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_character"
              }
            ]
          }
        ],
        "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/speech-02-hd\", \"text\": \"Hello, this is a short speech example.\", \"stream\": false, \"output_format\": \"hex\", \"audio_setting\": {\"format\": \"mp3\", \"sample_rate\": 32000, \"channel\": 1}}')\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/audio/speech \\\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": "speech",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Speech",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "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": null,
          "max_reasoning_effort_multiplier": null,
          "output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_character": "0.0002"
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input character"
            },
            "label": "input character",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input character",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_character"
              }
            ]
          }
        ],
        "request_model_id": "minimax/speech-02-hd",
        "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.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input character",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_character"
          }
        ]
      }
    }
  ],
  "model_id": "minimax/speech-02-hd",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "67c5317966249357943f3222861966a85b2389b8711902e0d2ef23ae6fd58f1c",
    "input_html_sha256": "35d168cefe3679f6f35f6280858ec316429cdfab1aa78980c80933b69ccb11b1",
    "private_audit_sha256": "b951478a01d16b88e247dd6a5a1e6f3ecfefc181e4595ef6df140799ab6b8211",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/es-mx/minimax-speech-02-hd/",
    "description": "MiniMax Speech 02 HD lee el texto proporcionado como voz generada mediante una solicitud síncrona audio_speech. Acepta texto de menos de 10 000 caracteres y ofrece ajustes de voz, ritmo y tono con salida MP3, PCM, FLAC o WAV.",
    "locale": "es-mx",
    "md_url": "https://ailoot.ai/models/es-mx/minimax-speech-02-hd/index.md",
    "title": "MiniMax: Speech 02 HD — Ailoot",
    "url": "https://ailoot.ai/models/es-mx/minimax-speech-02-hd/"
  },
  "rawModel": {
    "about": "MiniMax Speech 02 HD convierte el texto proporcionado en audio hablado. Su ID exacto de modelo en Ailoot es minimax/speech-02-hd, y su selector de síntesis documentado es speech-02-hd. Utiliza el método audio_speech para una voz en off, una lección hablada, una explicación de producto o un borrador de narración cuyo texto ya tengas. La entrada es el pasaje que debe leerse y el resultado es voz sintetizada en el formato de audio seleccionado.\n\nPrepara el texto como palabras destinadas a pronunciarse, con una puntuación que refleje el fraseo. Para un borrador de narración, proporciona el orden definitivo de las frases y la grafía de los nombres antes de elegir los ajustes de voz. Mantén las indicaciones de interpretación separadas del pasaje hablado salvo que esas palabras deban formar parte de la grabación. Escucha los nombres, los números y las transiciones importantes del resultado y compáralos con el texto de origen.\n\nEl texto debe tener menos de 10 000 caracteres. El contrato de síntesis publicado requiere model y text. Para material más largo, prepara pasajes dentro de ese límite y conserva su orden para la edición. El perfil síncrono utiliza una respuesta completa, con stream=false como valor predeterminado documentado. La API general también describe opciones de streaming, pero el método seleccionado en esta ficha es el flujo de trabajo síncrono de voz.\n\nvoice_setting selecciona un voice_id disponible y controla speed, vol y pitch. El intervalo documentado de speed es 0.5–2, con 1 como valor predeterminado. vol debe ser mayor que 0 y como máximo 10, con 1 como valor predeterminado; pitch es un entero de -12 a 12, con 0 como valor predeterminado. Haz que cada ajuste responda a las necesidades del pasaje: compara el ritmo de lectura y la audibilidad de la grabación real en lugar de dar por hecho que un cambio numérico crea una interpretación determinada.\n\nLos valores documentados de emotion son happy, sad, angry, fearful, disgusted, surprised, calm y fluent. El texto también puede guiar la emoción del modelo. text_normalization es un control booleano independiente para preparar la lectura de números en chino e inglés, y latex_read controla la lectura de fórmulas LaTeX; ambos tienen false como valor predeterminado. pronunciation_dict.tone puede contener reglas documentadas de sustitución de pronunciación. Comprueba un nombre o una expresión especializada en el audio resultante antes de utilizarlo en una narración más larga.\n\naudio_setting.format acepta mp3, pcm, flac o wav, con mp3 como valor predeterminado. sample_rate acepta 8000, 16000, 22050, 24000, 32000 o 44100 y tiene 32000 como valor predeterminado. bitrate acepta 32000, 64000, 128000 o 256000, tiene 128000 como valor predeterminado y se aplica a MP3. channel selecciona 1 para mono o 2 para estéreo, con 1 como valor predeterminado. Conserva estas opciones junto con el pasaje de origen para poder comprobar que el archivo devuelto se ajusta al destino previsto de edición o reproducción.\n\nOtros controles documentados incluyen language_boost, cuyas opciones exactas con nombre incluyen English, Russian, Chinese y Chinese,Yue; elige un valor real de la lista para el pasaje. timber_weights puede combinar entradas voice_id existentes con valores enteros de weight de 1 a 100. Los valores publicados de sound_effects son spacious_echo, auditorium_echo, lofi_telephone y robotic. Son controles opcionales para dar forma a una voz seleccionada; registra sus ajustes reales al comparar lecturas.\n\nEl resultado síncrono contiene voz generada. output_format selecciona url o hex y tiene hex como valor predeterminado en el esquema de síntesis. Descarga el archivo al que hace referencia un resultado URL o decodifica un resultado hex en bytes de audio antes de reproducirlo. Conserva los metadatos del audio devuelto, incluidos su formato, frecuencia de muestreo, número de canales y tamaño, junto con la grabación. subtitle_enable tiene false como valor predeterminado y solo se aplica a la salida sin streaming cuando se habilita; la fuente no establece un formato de archivo de subtítulos para este perfil.\n\nGuarda juntos el pasaje de origen, el ID exacto del modelo, la selección de voz y la grabación completada. Revisa toda la lectura para comprobar el texto previsto, las pausas y los ajustes de interpretación elegidos antes de incorporarla a un video, una lección o una guía hablada. Si la respuesta está incompleta, conserva la identidad de su solicitud original y la información devuelta para la conciliación antes de solicitar otra grabación. Una revisión posterior puede modificar una frase o un ajuste de voz específico manteniendo el resto del guion para una comparación clara.",
    "alias_of": null,
    "aliases": [],
    "author": "MiniMax",
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "minimax/speech-02-hd",
    "input": [
      "text"
    ],
    "kind": "speech",
    "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": {
                "channel": 1,
                "format": "mp3",
                "sample_rate": 32000
              },
              "model": "minimax/speech-02-hd",
              "output_format": "hex",
              "stream": false,
              "text": "Hello, this is a short speech example."
            },
            "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/audio/speech"
              },
              "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": "Retain the full JSON. Decode every hex audio byte or use the returned owned URL. Keep the actual format, sample rate, channel count and usage_characters.",
              "family": "audio",
              "fields": [
                {
                  "name": "data.audio",
                  "type": "string"
                },
                {
                  "name": "extra_info",
                  "type": "object"
                },
                {
                  "name": "trace_id",
                  "type": "string"
                }
              ],
              "format": [
                "mp3",
                "pcm",
                "flac",
                "wav"
              ]
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "minimax/speech-02-hd"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maxLength": 9999,
                "minLength": 1,
                "name": "text",
                "required": true,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "voice_setting",
                "properties": {
                  "emotion": {
                    "enum": [
                      "happy",
                      "sad",
                      "angry",
                      "fearful",
                      "disgusted",
                      "surprised",
                      "calm",
                      "fluent"
                    ],
                    "type": "string"
                  },
                  "latex_read": {
                    "default": false,
                    "type": "boolean"
                  },
                  "pitch": {
                    "default": 0,
                    "maximum": 12,
                    "minimum": -12,
                    "type": "integer"
                  },
                  "speed": {
                    "default": 1,
                    "maximum": 2,
                    "minimum": 0.5,
                    "type": "number"
                  },
                  "text_normalization": {
                    "default": false,
                    "type": "boolean"
                  },
                  "voice_id": {
                    "type": "string"
                  },
                  "vol": {
                    "default": 1,
                    "exclusiveMinimum": true,
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  }
                },
                "required": false,
                "type": "object"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "voice_setting.voice_id",
                "required": false,
                "type": "string"
              },
              {
                "default": 1,
                "default_known": true,
                "enum_known": false,
                "maximum": 2,
                "minimum": 0.5,
                "name": "voice_setting.speed",
                "required": false,
                "type": "number"
              },
              {
                "default": 1,
                "default_known": true,
                "enum_known": false,
                "exclusiveMinimum": true,
                "maximum": 10,
                "minimum": 0,
                "name": "voice_setting.vol",
                "required": false,
                "type": "number"
              },
              {
                "default": 0,
                "default_known": true,
                "enum_known": false,
                "maximum": 12,
                "minimum": -12,
                "name": "voice_setting.pitch",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  "happy",
                  "sad",
                  "angry",
                  "fearful",
                  "disgusted",
                  "surprised",
                  "calm",
                  "fluent"
                ],
                "enum_known": true,
                "name": "voice_setting.emotion",
                "required": false,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "voice_setting.text_normalization",
                "required": false,
                "type": "boolean"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "voice_setting.latex_read",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "audio_setting",
                "properties": {
                  "bitrate": {
                    "default": 128000,
                    "enum": [
                      32000,
                      64000,
                      128000,
                      256000
                    ],
                    "type": "integer"
                  },
                  "channel": {
                    "default": 1,
                    "enum": [
                      1,
                      2
                    ],
                    "type": "integer"
                  },
                  "force_cbr": {
                    "default": false,
                    "type": "boolean"
                  },
                  "format": {
                    "default": "mp3",
                    "enum": [
                      "mp3",
                      "pcm",
                      "flac",
                      "wav"
                    ],
                    "type": "string"
                  },
                  "sample_rate": {
                    "default": 32000,
                    "enum": [
                      8000,
                      16000,
                      22050,
                      24000,
                      32000,
                      44100
                    ],
                    "type": "integer"
                  }
                },
                "required": false,
                "type": "object"
              },
              {
                "default": 32000,
                "default_known": true,
                "enum": [
                  8000,
                  16000,
                  22050,
                  24000,
                  32000,
                  44100
                ],
                "enum_known": true,
                "name": "audio_setting.sample_rate",
                "required": false,
                "type": "integer"
              },
              {
                "default": 128000,
                "default_known": true,
                "enum": [
                  32000,
                  64000,
                  128000,
                  256000
                ],
                "enum_known": true,
                "name": "audio_setting.bitrate",
                "required": false,
                "type": "integer"
              },
              {
                "default": "mp3",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm",
                  "flac",
                  "wav"
                ],
                "enum_known": true,
                "name": "audio_setting.format",
                "required": false,
                "type": "string"
              },
              {
                "default": 1,
                "default_known": true,
                "enum": [
                  1,
                  2
                ],
                "enum_known": true,
                "name": "audio_setting.channel",
                "required": false,
                "type": "integer"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "audio_setting.force_cbr",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "pronunciation_dict",
                "properties": {
                  "tone": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": false,
                "type": "object"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "type": "string"
                },
                "name": "pronunciation_dict.tone",
                "required": false,
                "type": "array"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "properties": {
                    "voice_id": {
                      "type": "string"
                    },
                    "weight": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "name": "timber_weights",
                "required": false,
                "type": "array"
              },
              {
                "default_known": false,
                "enum": [
                  "Chinese",
                  "Chinese,Yue",
                  "English",
                  "Arabic",
                  "Russian",
                  "Spanish",
                  "French",
                  "Portuguese",
                  "German",
                  "Turkish",
                  "Dutch",
                  "Ukrainian",
                  "Vietnamese",
                  "Indonesian",
                  "Japanese",
                  "Italian",
                  "Korean",
                  "Thai",
                  "Polish",
                  "Romanian",
                  "Greek",
                  "Czech",
                  "Finnish",
                  "Hindi",
                  "Bulgarian",
                  "Danish",
                  "Hebrew",
                  "Malay",
                  "Persian",
                  "Slovak",
                  "Swedish",
                  "Croatian",
                  "Filipino",
                  "Hungarian",
                  "Norwegian",
                  "Slovenian",
                  "Catalan",
                  "Nynorsk",
                  "Tamil",
                  "Afrikaans",
                  "auto"
                ],
                "enum_known": true,
                "name": "language_boost",
                "required": false,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "voice_modify",
                "properties": {
                  "intensity": {
                    "enum": [
                      -100,
                      100
                    ],
                    "type": "integer"
                  },
                  "pitch": {
                    "enum": [
                      -100,
                      100
                    ],
                    "type": "integer"
                  },
                  "sound_effects": {
                    "enum": [
                      "spacious_echo",
                      "auditorium_echo",
                      "lofi_telephone",
                      "robotic"
                    ],
                    "type": "string"
                  },
                  "timbre": {
                    "enum": [
                      -100,
                      100
                    ],
                    "type": "integer"
                  }
                },
                "required": false,
                "type": "object"
              },
              {
                "default_known": false,
                "enum": [
                  -100,
                  100
                ],
                "enum_known": true,
                "name": "voice_modify.pitch",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  -100,
                  100
                ],
                "enum_known": true,
                "name": "voice_modify.intensity",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  -100,
                  100
                ],
                "enum_known": true,
                "name": "voice_modify.timbre",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum": [
                  "spacious_echo",
                  "auditorium_echo",
                  "lofi_telephone",
                  "robotic"
                ],
                "enum_known": true,
                "name": "voice_modify.sound_effects",
                "required": false,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "subtitle_enable",
                "required": false,
                "type": "boolean"
              },
              {
                "default": "hex",
                "default_known": true,
                "enum": [
                  "url",
                  "hex"
                ],
                "enum_known": true,
                "name": "output_format",
                "required": false,
                "type": "string"
              },
              {
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "aigc_watermark",
                "required": false,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "properties": {
                "aigc_watermark": {
                  "default": false,
                  "type": "boolean"
                },
                "audio_setting": {
                  "properties": {
                    "bitrate": {
                      "default": 128000,
                      "enum": [
                        32000,
                        64000,
                        128000,
                        256000
                      ],
                      "type": "integer"
                    },
                    "channel": {
                      "default": 1,
                      "enum": [
                        1,
                        2
                      ],
                      "type": "integer"
                    },
                    "force_cbr": {
                      "default": false,
                      "type": "boolean"
                    },
                    "format": {
                      "default": "mp3",
                      "enum": [
                        "mp3",
                        "pcm",
                        "flac",
                        "wav"
                      ],
                      "type": "string"
                    },
                    "sample_rate": {
                      "default": 32000,
                      "enum": [
                        8000,
                        16000,
                        22050,
                        24000,
                        32000,
                        44100
                      ],
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "language_boost": {
                  "enum": [
                    "Chinese",
                    "Chinese,Yue",
                    "English",
                    "Arabic",
                    "Russian",
                    "Spanish",
                    "French",
                    "Portuguese",
                    "German",
                    "Turkish",
                    "Dutch",
                    "Ukrainian",
                    "Vietnamese",
                    "Indonesian",
                    "Japanese",
                    "Italian",
                    "Korean",
                    "Thai",
                    "Polish",
                    "Romanian",
                    "Greek",
                    "Czech",
                    "Finnish",
                    "Hindi",
                    "Bulgarian",
                    "Danish",
                    "Hebrew",
                    "Malay",
                    "Persian",
                    "Slovak",
                    "Swedish",
                    "Croatian",
                    "Filipino",
                    "Hungarian",
                    "Norwegian",
                    "Slovenian",
                    "Catalan",
                    "Nynorsk",
                    "Tamil",
                    "Afrikaans",
                    "auto"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "minimax/speech-02-hd"
                  ],
                  "type": "string"
                },
                "output_format": {
                  "default": "hex",
                  "enum": [
                    "url",
                    "hex"
                  ],
                  "type": "string"
                },
                "pronunciation_dict": {
                  "properties": {
                    "tone": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                },
                "subtitle_enable": {
                  "default": false,
                  "type": "boolean"
                },
                "text": {
                  "maxLength": 9999,
                  "minLength": 1,
                  "type": "string"
                },
                "timber_weights": {
                  "items": {
                    "properties": {
                      "voice_id": {
                        "type": "string"
                      },
                      "weight": {
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "voice_modify": {
                  "properties": {
                    "intensity": {
                      "enum": [
                        -100,
                        100
                      ],
                      "type": "integer"
                    },
                    "pitch": {
                      "enum": [
                        -100,
                        100
                      ],
                      "type": "integer"
                    },
                    "sound_effects": {
                      "enum": [
                        "spacious_echo",
                        "auditorium_echo",
                        "lofi_telephone",
                        "robotic"
                      ],
                      "type": "string"
                    },
                    "timbre": {
                      "enum": [
                        -100,
                        100
                      ],
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "voice_setting": {
                  "properties": {
                    "emotion": {
                      "enum": [
                        "happy",
                        "sad",
                        "angry",
                        "fearful",
                        "disgusted",
                        "surprised",
                        "calm",
                        "fluent"
                      ],
                      "type": "string"
                    },
                    "latex_read": {
                      "default": false,
                      "type": "boolean"
                    },
                    "pitch": {
                      "default": 0,
                      "maximum": 12,
                      "minimum": -12,
                      "type": "integer"
                    },
                    "speed": {
                      "default": 1,
                      "maximum": 2,
                      "minimum": 0.5,
                      "type": "number"
                    },
                    "text_normalization": {
                      "default": false,
                      "type": "boolean"
                    },
                    "voice_id": {
                      "type": "string"
                    },
                    "vol": {
                      "default": 1,
                      "exclusiveMinimum": true,
                      "maximum": 10,
                      "minimum": 0,
                      "type": "number"
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "model",
                "text"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "audio_setting": {
                  "channel": 1,
                  "format": "mp3",
                  "sample_rate": 32000
                },
                "model": "minimax/speech-02-hd",
                "output_format": "hex",
                "stream": false,
                "text": "Hello, this is a short speech example."
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use text, not input or contents. Fewer than 10000 Unicode characters; stream is false or omitted.",
              "PCM is raw audio with its returned sample geometry; do not invent a WAV header or bit depth."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "voice_setting",
              "audio_setting",
              "pronunciation_dict",
              "timber_weights",
              "language_boost",
              "voice_modify",
              "subtitle_enable",
              "output_format",
              "aigc_watermark"
            ],
            "required": [
              "model",
              "text"
            ]
          },
          "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/audio/speech"
            },
            "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/audio/speech"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the full JSON. Decode every hex audio byte or use the returned owned URL. Keep the actual format, sample rate, channel count and usage_characters.",
            "family": "audio",
            "fields": [
              {
                "name": "data.audio",
                "type": "string"
              },
              {
                "name": "extra_info",
                "type": "object"
              },
              {
                "name": "trace_id",
                "type": "string"
              }
            ],
            "format": [
              "mp3",
              "pcm",
              "flac",
              "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": {
              "quoted_unit": "per input character"
            },
            "label": "input character",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input character",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_character"
              }
            ]
          }
        ],
        "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/speech-02-hd\", \"text\": \"Hello, this is a short speech example.\", \"stream\": false, \"output_format\": \"hex\", \"audio_setting\": {\"format\": \"mp3\", \"sample_rate\": 32000, \"channel\": 1}}')\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/audio/speech \\\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": "speech",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Speech",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "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": null,
          "max_reasoning_effort_multiplier": null,
          "output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_character": "0.0002"
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input character"
            },
            "label": "input character",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input character",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_character"
              }
            ]
          }
        ],
        "request_model_id": "minimax/speech-02-hd",
        "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.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input character",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_character"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "minimax/speech-02-hd",
        "request_model_id": "minimax/speech-02-hd",
        "route_label": "Ultra"
      }
    ],
    "name": "MiniMax: Speech 02 HD",
    "price": {
      "in": "0.0002",
      "in_label": "per input character",
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": false
    },
    "short": "MiniMax Speech 02 HD lee el texto proporcionado como voz generada mediante una solicitud síncrona audio_speech. Acepta texto de menos de 10 000 caracteres y ofrece ajustes de voz, ritmo y tono con salida MP3, PCM, FLAC 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
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "MiniMax Speech 02 HD lee el texto proporcionado como voz generada mediante una solicitud síncrona audio_speech. Acepta texto de menos de 10 000 caracteres y ofrece ajustes de voz, ritmo y tono con salida MP3, PCM, FLAC o WAV.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "53ddcaf8ad417e6372992a1ab2fcaed47c45770719f49c9292740d8b959d41b7",
    "renderer_sha256": "50c5984577eac7205687c05e1c36de5d3ba7a0afdff02194efad3a88143581e8"
  },
  "sourceRevision": "dcddb604372b8c213e841599a18ccd29a00a377b5de0711c67ba6ed5d78b7e70"
}
