{
  "aboutHtml": "<p>MiniMax Speech 02 HD converte o texto fornecido em áudio falado. O seu ID exato de modelo no Ailoot é minimax/speech-02-hd e o seu seletor de síntese documentado é speech-02-hd. Utilize o método audio_speech para uma locução, uma aula falada, uma explicação de produto ou um rascunho de narração cujo texto já tenha. A entrada é a passagem a ler e o resultado é voz sintetizada no formato de áudio selecionado.</p><p>Prepare o texto como palavras destinadas a ser pronunciadas, com pontuação que reflita o fraseado. Para um rascunho de narração, forneça a ordem definitiva das frases e a grafia dos nomes antes de escolher as definições de voz. Mantenha as indicações de interpretação separadas da passagem falada, a menos que essas palavras devam constar da gravação. Ouça os nomes, números e transições importantes no resultado e compare-os com o texto de origem.</p><p>O texto deve ter menos de 10 000 carateres. O contrato de síntese publicado exige model e text. Para material mais longo, prepare passagens dentro desse limite e conserve a respetiva ordem para edição. O perfil síncrono utiliza uma resposta completa, com stream=false como valor predefinido documentado. A API geral também descreve opções de streaming, mas o método selecionado para esta ficha é o fluxo síncrono de síntese de voz.</p><p>voice_setting seleciona um voice_id disponível e controla speed, vol e pitch. O intervalo documentado de speed é de 0,5–2, com 1 como valor predefinido. vol deve ser superior a 0 e no máximo 10, com 1 como valor predefinido; pitch é um número inteiro de -12 a 12, com 0 como valor predefinido. Faça com que cada definição sirva a passagem: compare o ritmo de leitura e a audibilidade da gravação real, em vez de assumir que uma alteração numérica cria uma interpretação específica.</p><p>Os valores de emotion documentados são happy, sad, angry, fearful, disgusted, surprised, calm e fluent. O texto também pode orientar a emoção do modelo. text_normalization é um controlo booleano separado para preparar a leitura de números em chinês e inglês e latex_read controla a leitura de fórmulas LaTeX; ambos têm false como valor predefinido. pronunciation_dict.tone pode conter regras documentadas de substituição de pronúncia. Verifique um nome ou uma expressão especializada no áudio resultante antes de o utilizar numa narração mais longa.</p><p>audio_setting.format aceita mp3, pcm, flac ou wav, com mp3 como valor predefinido. sample_rate aceita 8000, 16000, 22050, 24000, 32000 ou 44100 e tem 32000 como valor predefinido. bitrate aceita 32000, 64000, 128000 ou 256000, tem 128000 como valor predefinido e aplica-se a MP3. channel seleciona 1 para mono ou 2 para estéreo, com 1 como valor predefinido. Guarde estas escolhas com a passagem de origem, para que o ficheiro devolvido possa ser verificado para o destino pretendido de edição ou reprodução.</p><p>Os controlos adicionais documentados incluem language_boost, cujas opções com designação exata incluem English, Russian, Chinese e Chinese,Yue; escolha um valor efetivamente listado para a passagem. timber_weights pode combinar entradas voice_id existentes com valores inteiros de weight de 1 a 100. Os valores publicados de sound_effects são spacious_echo, auditorium_echo, lofi_telephone e robotic. Estes são controlos opcionais para moldar uma voz selecionada; registe as suas definições reais ao comparar leituras.</p><p>O resultado síncrono contém voz gerada. output_format seleciona url ou hex e tem hex como valor predefinido no esquema de síntese. Transfira o ficheiro referenciado por um resultado URL ou descodifique um resultado hex para bytes de áudio antes da reprodução. Guarde os metadados de áudio devolvidos, incluindo o formato, a frequência de amostragem, o número de canais e o tamanho, com a gravação. subtitle_enable tem false como valor predefinido e aplica-se apenas a saída sem streaming quando é ativado; a fonte não estabelece um formato de ficheiro de legendas para este perfil.</p><p>Guarde a passagem de origem, o ID exato do modelo, a seleção de voz e a gravação concluída em conjunto. Reveja a leitura completa para verificar as palavras pretendidas, as pausas e as definições de interpretação escolhidas antes de a inserir num vídeo, numa aula ou num guia falado. Se a resposta estiver incompleta, conserve a identidade do pedido original e as informações devolvidas para reconciliação antes de solicitar outra gravação. Uma revisão posterior pode alterar uma expressão específica ou uma definição de voz, preservando o resto do guião para uma comparação clara.</p>",
  "aboutText": "MiniMax Speech 02 HD converte o texto fornecido em áudio falado. O seu ID exato de modelo no Ailoot é minimax/speech-02-hd e o seu seletor de síntese documentado é speech-02-hd. Utilize o método audio_speech para uma locução, uma aula falada, uma explicação de produto ou um rascunho de narração cujo texto já tenha. A entrada é a passagem a ler e o resultado é voz sintetizada no formato de áudio selecionado.\n\nPrepare o texto como palavras destinadas a ser pronunciadas, com pontuação que reflita o fraseado. Para um rascunho de narração, forneça a ordem definitiva das frases e a grafia dos nomes antes de escolher as definições de voz. Mantenha as indicações de interpretação separadas da passagem falada, a menos que essas palavras devam constar da gravação. Ouça os nomes, números e transições importantes no resultado e compare-os com o texto de origem.\n\nO texto deve ter menos de 10 000 carateres. O contrato de síntese publicado exige model e text. Para material mais longo, prepare passagens dentro desse limite e conserve a respetiva ordem para edição. O perfil síncrono utiliza uma resposta completa, com stream=false como valor predefinido documentado. A API geral também descreve opções de streaming, mas o método selecionado para esta ficha é o fluxo síncrono de síntese de voz.\n\nvoice_setting seleciona um voice_id disponível e controla speed, vol e pitch. O intervalo documentado de speed é de 0,5–2, com 1 como valor predefinido. vol deve ser superior a 0 e no máximo 10, com 1 como valor predefinido; pitch é um número inteiro de -12 a 12, com 0 como valor predefinido. Faça com que cada definição sirva a passagem: compare o ritmo de leitura e a audibilidade da gravação real, em vez de assumir que uma alteração numérica cria uma interpretação específica.\n\nOs valores de emotion documentados são happy, sad, angry, fearful, disgusted, surprised, calm e fluent. O texto também pode orientar a emoção do modelo. text_normalization é um controlo booleano separado para preparar a leitura de números em chinês e inglês e latex_read controla a leitura de fórmulas LaTeX; ambos têm false como valor predefinido. pronunciation_dict.tone pode conter regras documentadas de substituição de pronúncia. Verifique um nome ou uma expressão especializada no áudio resultante antes de o utilizar numa narração mais longa.\n\naudio_setting.format aceita mp3, pcm, flac ou wav, com mp3 como valor predefinido. sample_rate aceita 8000, 16000, 22050, 24000, 32000 ou 44100 e tem 32000 como valor predefinido. bitrate aceita 32000, 64000, 128000 ou 256000, tem 128000 como valor predefinido e aplica-se a MP3. channel seleciona 1 para mono ou 2 para estéreo, com 1 como valor predefinido. Guarde estas escolhas com a passagem de origem, para que o ficheiro devolvido possa ser verificado para o destino pretendido de edição ou reprodução.\n\nOs controlos adicionais documentados incluem language_boost, cujas opções com designação exata incluem English, Russian, Chinese e Chinese,Yue; escolha um valor efetivamente listado para a passagem. timber_weights pode combinar entradas voice_id existentes com valores inteiros de weight de 1 a 100. Os valores publicados de sound_effects são spacious_echo, auditorium_echo, lofi_telephone e robotic. Estes são controlos opcionais para moldar uma voz selecionada; registe as suas definições reais ao comparar leituras.\n\nO resultado síncrono contém voz gerada. output_format seleciona url ou hex e tem hex como valor predefinido no esquema de síntese. Transfira o ficheiro referenciado por um resultado URL ou descodifique um resultado hex para bytes de áudio antes da reprodução. Guarde os metadados de áudio devolvidos, incluindo o formato, a frequência de amostragem, o número de canais e o tamanho, com a gravação. subtitle_enable tem false como valor predefinido e aplica-se apenas a saída sem streaming quando é ativado; a fonte não estabelece um formato de ficheiro de legendas para este perfil.\n\nGuarde a passagem de origem, o ID exato do modelo, a seleção de voz e a gravação concluída em conjunto. Reveja a leitura completa para verificar as palavras pretendidas, as pausas e as definições de interpretação escolhidas antes de a inserir num vídeo, numa aula ou num guia falado. Se a resposta estiver incompleta, conserve a identidade do pedido original e as informações devolvidas para reconciliação antes de solicitar outra gravação. Uma revisão posterior pode alterar uma expressão específica ou uma definição de voz, preservando o resto do guião para uma comparação clara.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "ad9d5190bbc5e90b0ca16106b79d6e9e2cf1a6a3ad3015687200d18bfe6f4f8f",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "pt-pt",
  "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=\"Fechar\">×</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=\"Secções do cartão do modelo\"><button type=\"button\" data-card-jump=\"overview\">Introdução</button><button type=\"button\" data-card-jump=\"methods\">Entradas e métodos</button><button type=\"button\" data-card-jump=\"pricing\">Tarifários</button><button type=\"button\" data-card-jump=\"examples\">Exemplos</button><button type=\"button\" data-card-jump=\"results\">Resultados</button><button type=\"button\" data-card-jump=\"aliases\">Aliases</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Métodos da 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íntese 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\">Introdução</h3><p class=\"mdesc-full\">MiniMax Speech 02 HD lê o texto fornecido como voz gerada através de um pedido audio_speech síncrono. Aceita texto com menos de 10 000 carateres e disponibiliza definições de voz, ritmo e altura tonal com saída MP3, PCM, FLAC ou WAV.</p><dl class=\"card-io\" data-card-io><div><dt>Entradas aceites</dt><dd>Texto</dd></div><div><dt>Resultados</dt><dd>Áudio</dd></div></dl><details class=\"card-about\"><summary>Sobre o modelo</summary><p class=\"note-s\" data-model-method-boundary>Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.</p><div class=\"mabout\" id=\"m-about\"><p>MiniMax Speech 02 HD converte o texto fornecido em áudio falado. O seu ID exato de modelo no Ailoot é minimax/speech-02-hd e o seu seletor de síntese documentado é speech-02-hd. Utilize o método audio_speech para uma locução, uma aula falada, uma explicação de produto ou um rascunho de narração cujo texto já tenha. A entrada é a passagem a ler e o resultado é voz sintetizada no formato de áudio selecionado.</p><p>Prepare o texto como palavras destinadas a ser pronunciadas, com pontuação que reflita o fraseado. Para um rascunho de narração, forneça a ordem definitiva das frases e a grafia dos nomes antes de escolher as definições de voz. Mantenha as indicações de interpretação separadas da passagem falada, a menos que essas palavras devam constar da gravação. Ouça os nomes, números e transições importantes no resultado e compare-os com o texto de origem.</p><p>O texto deve ter menos de 10 000 carateres. O contrato de síntese publicado exige model e text. Para material mais longo, prepare passagens dentro desse limite e conserve a respetiva ordem para edição. O perfil síncrono utiliza uma resposta completa, com stream=false como valor predefinido documentado. A API geral também descreve opções de streaming, mas o método selecionado para esta ficha é o fluxo síncrono de síntese de voz.</p><p>voice_setting seleciona um voice_id disponível e controla speed, vol e pitch. O intervalo documentado de speed é de 0,5–2, com 1 como valor predefinido. vol deve ser superior a 0 e no máximo 10, com 1 como valor predefinido; pitch é um número inteiro de -12 a 12, com 0 como valor predefinido. Faça com que cada definição sirva a passagem: compare o ritmo de leitura e a audibilidade da gravação real, em vez de assumir que uma alteração numérica cria uma interpretação específica.</p><p>Os valores de emotion documentados são happy, sad, angry, fearful, disgusted, surprised, calm e fluent. O texto também pode orientar a emoção do modelo. text_normalization é um controlo booleano separado para preparar a leitura de números em chinês e inglês e latex_read controla a leitura de fórmulas LaTeX; ambos têm false como valor predefinido. pronunciation_dict.tone pode conter regras documentadas de substituição de pronúncia. Verifique um nome ou uma expressão especializada no áudio resultante antes de o utilizar numa narração mais longa.</p><p>audio_setting.format aceita mp3, pcm, flac ou wav, com mp3 como valor predefinido. sample_rate aceita 8000, 16000, 22050, 24000, 32000 ou 44100 e tem 32000 como valor predefinido. bitrate aceita 32000, 64000, 128000 ou 256000, tem 128000 como valor predefinido e aplica-se a MP3. channel seleciona 1 para mono ou 2 para estéreo, com 1 como valor predefinido. Guarde estas escolhas com a passagem de origem, para que o ficheiro devolvido possa ser verificado para o destino pretendido de edição ou reprodução.</p><p>Os controlos adicionais documentados incluem language_boost, cujas opções com designação exata incluem English, Russian, Chinese e Chinese,Yue; escolha um valor efetivamente listado para a passagem. timber_weights pode combinar entradas voice_id existentes com valores inteiros de weight de 1 a 100. Os valores publicados de sound_effects são spacious_echo, auditorium_echo, lofi_telephone e robotic. Estes são controlos opcionais para moldar uma voz selecionada; registe as suas definições reais ao comparar leituras.</p><p>O resultado síncrono contém voz gerada. output_format seleciona url ou hex e tem hex como valor predefinido no esquema de síntese. Transfira o ficheiro referenciado por um resultado URL ou descodifique um resultado hex para bytes de áudio antes da reprodução. Guarde os metadados de áudio devolvidos, incluindo o formato, a frequência de amostragem, o número de canais e o tamanho, com a gravação. subtitle_enable tem false como valor predefinido e aplica-se apenas a saída sem streaming quando é ativado; a fonte não estabelece um formato de ficheiro de legendas para este perfil.</p><p>Guarde a passagem de origem, o ID exato do modelo, a seleção de voz e a gravação concluída em conjunto. Reveja a leitura completa para verificar as palavras pretendidas, as pausas e as definições de interpretação escolhidas antes de a inserir num vídeo, numa aula ou num guia falado. Se a resposta estiver incompleta, conserve a identidade do pedido original e as informações devolvidas para reconciliação antes de solicitar outra gravação. Uma revisão posterior pode alterar uma expressão específica ou uma definição de voz, preservando o resto do guião para uma comparação clara.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponível no Ailoot · entradas e 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>Saída</dt><dd><code>audio</code></dd></div><div><dt>Formato de saída</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 e limites</th><th>Predefinição</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>Obrigatório</td><td data-cell-label=\"Valores e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>minimax/speech-02-hd</div></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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>Obrigatório</td><td data-cell-label=\"Valores e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>false</div></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>Mínimo: 0,5</div><div>Máximo: 2</div></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>Mínimo: 0</div><div>Máximo: 10</div></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>Mínimo: -12</div><div>Máximo: 12</div></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>happy, sad, angry, fearful, disgusted, surprised, calm, fluent</div></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>8000, 16 000, 22 050, 24 000, 32 000, 44 100</div></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>32 000, 64 000, 128 000, 256 000</div></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>mp3, pcm, flac, wav</div></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>1, 2</div></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</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=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>-100, 100</div></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>-100, 100</div></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>-100, 100</div></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>spacious_echo, auditorium_echo, lofi_telephone, robotic</div></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>url, hex</div></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</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 e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</span>false</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parâmetros e ciclo de vida do método</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\">Tarifários</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.</p><dl data-price-conditions><dt>Modo rápido</dt><dd>Não especificado <span class=\"note-s\">Quando o modo rápido está selecionado</span></dd><dt>Modo flex</dt><dd>Não especificado <span class=\"note-s\">Quando o modo flex está selecionado</span></dd><dt>Esforço máximo de raciocínio</dt><dd>Não especificado <span class=\"note-s\">Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tarifas Ailoot</h4><h4>Preços por configuração</h4><p class=\"note-s\">Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuração</th><th>Tabela de tarifas</th><th>Unidade de faturação</th><th>Custo</th></tr></thead><tbody><tr><th data-cell-label=\"Configuração\" scope=\"row\"><span class=\"card-cell-label\">Configuração</span>Tarifas base por token</th><td data-cell-label=\"Tabela de tarifas\"><span class=\"card-cell-label\">Tabela de tarifas</span>Tarifa base</td><td data-cell-label=\"Unidade de faturação\"><span class=\"card-cell-label\">Unidade de faturação</span>—</td><td data-cell-label=\"Custo\"><span class=\"card-cell-label\">Custo</span><div><span>Entrada · Tokens de entrada</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Saída · Tokens de saída</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Leitura da cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Escrita na cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Escrita na cache, 1 hora</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuração\" scope=\"row\"><span class=\"card-cell-label\">Configuração</span>carácter de entrada</th><td data-cell-label=\"Tabela de tarifas\"><span class=\"card-cell-label\">Tabela de tarifas</span>—</td><td data-cell-label=\"Unidade de faturação\"><span class=\"card-cell-label\">Unidade de faturação</span>por carácter de entrada</td><td data-cell-label=\"Custo\"><span class=\"card-cell-label\">Custo</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\">O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. <a href=\"/docs/pt-pt/billing/reserve/\">Como funcionam a reserva e a liquidação →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Exemplos de pedidos</h3><h4>Ailoot Ultra · Speech</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Variantes de 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 · crie uma única vez e guarde o 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\">Receber e guardar os 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>Guardar todos os resultados concluídos</h5><p class=\"note-s\">Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.</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>Se for necessário verificar a resposta 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 da resposta</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\">Aliases</h3><h4>Aliases do 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>Aliases dos caminhos dos métodos</h4><p class=\"note-s\">Use os caminhos dos métodos indicados acima.</p><h4>IDs de chamada 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": "2252c8bdddd9cc82d08f41f931935074bd982a0fdd4065bf4fc153dc29c2c0c0",
    "input_html_sha256": "c00a373a8981ecd1887120f5acfbf1b1a6ae9a1daf1a2bad1505771cdcfde182",
    "private_audit_sha256": "ad4c832f7a55868fa9a813b5f4c1f7387835dbe592b2d282db7ad9342e7e17c5",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/pt-pt/minimax-speech-02-hd/",
    "description": "MiniMax Speech 02 HD lê o texto fornecido como voz gerada através de um pedido audio_speech síncrono. Aceita texto com menos de 10 000 carateres e disponibiliza definições de voz, ritmo e altura tonal com saída MP3, PCM, FLAC ou WAV.",
    "locale": "pt-pt",
    "md_url": "https://ailoot.ai/models/pt-pt/minimax-speech-02-hd/index.md",
    "title": "MiniMax: Speech 02 HD — Ailoot",
    "url": "https://ailoot.ai/models/pt-pt/minimax-speech-02-hd/"
  },
  "rawModel": {
    "about": "MiniMax Speech 02 HD converte o texto fornecido em áudio falado. O seu ID exato de modelo no Ailoot é minimax/speech-02-hd e o seu seletor de síntese documentado é speech-02-hd. Utilize o método audio_speech para uma locução, uma aula falada, uma explicação de produto ou um rascunho de narração cujo texto já tenha. A entrada é a passagem a ler e o resultado é voz sintetizada no formato de áudio selecionado.\n\nPrepare o texto como palavras destinadas a ser pronunciadas, com pontuação que reflita o fraseado. Para um rascunho de narração, forneça a ordem definitiva das frases e a grafia dos nomes antes de escolher as definições de voz. Mantenha as indicações de interpretação separadas da passagem falada, a menos que essas palavras devam constar da gravação. Ouça os nomes, números e transições importantes no resultado e compare-os com o texto de origem.\n\nO texto deve ter menos de 10 000 carateres. O contrato de síntese publicado exige model e text. Para material mais longo, prepare passagens dentro desse limite e conserve a respetiva ordem para edição. O perfil síncrono utiliza uma resposta completa, com stream=false como valor predefinido documentado. A API geral também descreve opções de streaming, mas o método selecionado para esta ficha é o fluxo síncrono de síntese de voz.\n\nvoice_setting seleciona um voice_id disponível e controla speed, vol e pitch. O intervalo documentado de speed é de 0,5–2, com 1 como valor predefinido. vol deve ser superior a 0 e no máximo 10, com 1 como valor predefinido; pitch é um número inteiro de -12 a 12, com 0 como valor predefinido. Faça com que cada definição sirva a passagem: compare o ritmo de leitura e a audibilidade da gravação real, em vez de assumir que uma alteração numérica cria uma interpretação específica.\n\nOs valores de emotion documentados são happy, sad, angry, fearful, disgusted, surprised, calm e fluent. O texto também pode orientar a emoção do modelo. text_normalization é um controlo booleano separado para preparar a leitura de números em chinês e inglês e latex_read controla a leitura de fórmulas LaTeX; ambos têm false como valor predefinido. pronunciation_dict.tone pode conter regras documentadas de substituição de pronúncia. Verifique um nome ou uma expressão especializada no áudio resultante antes de o utilizar numa narração mais longa.\n\naudio_setting.format aceita mp3, pcm, flac ou wav, com mp3 como valor predefinido. sample_rate aceita 8000, 16000, 22050, 24000, 32000 ou 44100 e tem 32000 como valor predefinido. bitrate aceita 32000, 64000, 128000 ou 256000, tem 128000 como valor predefinido e aplica-se a MP3. channel seleciona 1 para mono ou 2 para estéreo, com 1 como valor predefinido. Guarde estas escolhas com a passagem de origem, para que o ficheiro devolvido possa ser verificado para o destino pretendido de edição ou reprodução.\n\nOs controlos adicionais documentados incluem language_boost, cujas opções com designação exata incluem English, Russian, Chinese e Chinese,Yue; escolha um valor efetivamente listado para a passagem. timber_weights pode combinar entradas voice_id existentes com valores inteiros de weight de 1 a 100. Os valores publicados de sound_effects são spacious_echo, auditorium_echo, lofi_telephone e robotic. Estes são controlos opcionais para moldar uma voz selecionada; registe as suas definições reais ao comparar leituras.\n\nO resultado síncrono contém voz gerada. output_format seleciona url ou hex e tem hex como valor predefinido no esquema de síntese. Transfira o ficheiro referenciado por um resultado URL ou descodifique um resultado hex para bytes de áudio antes da reprodução. Guarde os metadados de áudio devolvidos, incluindo o formato, a frequência de amostragem, o número de canais e o tamanho, com a gravação. subtitle_enable tem false como valor predefinido e aplica-se apenas a saída sem streaming quando é ativado; a fonte não estabelece um formato de ficheiro de legendas para este perfil.\n\nGuarde a passagem de origem, o ID exato do modelo, a seleção de voz e a gravação concluída em conjunto. Reveja a leitura completa para verificar as palavras pretendidas, as pausas e as definições de interpretação escolhidas antes de a inserir num vídeo, numa aula ou num guia falado. Se a resposta estiver incompleta, conserve a identidade do pedido original e as informações devolvidas para reconciliação antes de solicitar outra gravação. Uma revisão posterior pode alterar uma expressão específica ou uma definição de voz, preservando o resto do guião para uma comparação 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 lê o texto fornecido como voz gerada através de um pedido audio_speech síncrono. Aceita texto com menos de 10 000 carateres e disponibiliza definições de voz, ritmo e altura tonal com saída MP3, PCM, FLAC ou 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 lê o texto fornecido como voz gerada através de um pedido audio_speech síncrono. Aceita texto com menos de 10 000 carateres e disponibiliza definições de voz, ritmo e altura tonal com saída MP3, PCM, FLAC ou WAV.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "2e04679e0a29e57db3965acbe3e6c5278101e4704f23218ef9f926dfea7326cf",
    "renderer_sha256": "8caea4544177cc2b7d2cb3356b5f07bfd3660386d75f2714a6f603fa5e2a6cd2"
  },
  "sourceRevision": "679673f96ace26d96aa77de8584bfc92e39b2564a7952d4a8f590920a7e3fdb7"
}
