{
  "aboutHtml": "<p>Eleven Flash v2.5 é o modelo multilingue de conversão de texto em fala da ElevenLabs, concebido para aplicações em tempo real e interativas. Transforma uma resposta de texto fornecida em áudio falado e combina um perfil de resposta rápida com uma elocução natural e características vocais consistentes. O fabricante indica como utilizações típicas os agentes de voz, os chatbots, os jogos e as aplicações que exigem uma resposta imediata, bem como a conversão de texto em fala em maior escala.</p><p>O modelo suporta 32 idiomas: os 29 do conjunto Multilingual v2, mais húngaro, norueguês e vietnamita. O conjunto documentado inclui inglês, japonês, chinês, alemão, hindi, francês, coreano, português, italiano, espanhol, indonésio, neerlandês, turco, filipino, polaco, sueco, búlgaro, romeno, árabe, checo, grego, finlandês, croata, malaio, eslovaco, dinamarquês, tâmil, ucraniano e russo. Distingue-se, assim, do Flash v2, que só suporta inglês. Escolha o idioma do guião e uma voz regional adequada, em vez de presumir que o sotaque de uma voz inglesa serve para todas as localizações.</p><p>Um pedido suporta até 40 000 caracteres. O produtor apresenta durações aproximadas de áudio junto da tabela de caracteres, mas um limite de caracteres não corresponde a uma duração fixa de gravação. A velocidade de fala, o idioma, a pontuação e a elocução da voz alteram a duração. Para uma resposta em direto, use frases completas muito mais curtas; para uma gravação mais longa, divida o guião em secções com sentido e conserve o contexto junto dos pontos de divisão. Um limite elevado de caracteres ajuda a preparar o texto de origem, mas não torna uma resposta longa e ininterrupta fácil de ouvir.</p><p>A normalização de números é uma diferença importante neste modelo. A secção específica do Flash v2.5 indica que a normalização está desativada por predefinição no seu perfil de baixa latência e que números de telefone, datas ou valores monetários podem ser lidos de forma inesperada. Prepare a forma falada pretendida antes da síntese. Decida se um número representa uma quantidade, um código de referência ou algarismos a repetir individualmente. Numa data, escreva o mês e o dia como o público os deve ouvir; numa abreviatura, forneça a forma por extenso quando se pretende que seja pronunciada como palavras.</p><p>A pronúncia pode ser orientada através de grafias adaptadas ou de aliases de dicionário. O guia de dicionários do fabricante reserva as regras de fonemas para os modelos v4, v3 e Flash v2 explicitamente identificados e recomenda aliases para as restantes edições; por isso, não se deve atribuir ao Flash v2.5 o suporte de etiquetas de fonemas do Flash v2. Mantenha uma pronúncia preferida para nomes e termos recorrentes e verifique-a com a voz selecionada. Se incluir prosa emocional como instrução no texto normal, essa própria instrução pode ser pronunciada; prepare um guião final limpo para a gravação pretendida.</p><p>O fluxo de trabalho TTS partilhado suporta áudio em streaming e geração de fala completa. A família de formatos inclui MP3, PCM não comprimido de 16 bits, μ-law e A-law para telefonia, e Opus. Escolha o formato de acordo com o destino de reprodução e mantenha o texto gerado disponível junto do áudio. Os controlos de voz da ElevenLabs podem influenciar a consistência e a velocidade, enquanto a redação e a pontuação do guião fornecem grande parte do ritmo pretendido. Estas são opções do fluxo de trabalho do produtor e não permitem presumir que todos os controlos estejam disponíveis numa aplicação específica. O guia do produto suporta explicitamente pausas SSML no Flash v2.5, por exemplo &lt;break time=&quot;1.5s&quot; /&gt;, com pausas até três segundos. O uso excessivo de etiquetas de pausa pode afetar a velocidade ou introduzir artefactos. O controlo de velocidade partilhado varia entre 0.7 e 1.2; 1.0 mantém a velocidade inalterada.</p><p>Para um assistente, prepare um resultado claro e um próximo passo numa frase de tom conversacional. Uma formulação prática pode confirmar que uma ação terminou e depois explicar qual é o único campo ainda necessário. Num jogo ou tutorial, mantenha a instrução suficientemente curta para ser compreendida enquanto o utilizador continua a sua atividade. Num projeto multilingue, adapte a formulação efetiva, em vez de apenas substituir vocabulário, e preserve o significado dos nomes, das ações e das condições.</p><p>Reveja um trecho representativo que contenha a parte difícil do guião: um nome, um identificador, uma data ou uma explicação mais longa. Verifique a inteligibilidade, o sotaque, o ritmo e se os números são pronunciados da forma pretendida. A documentação do produtor descreve a síntese como não determinística, pelo que a gravação exata pode variar mesmo com entradas semelhantes. Conserve o áudio escolhido e o texto preparado para a fala como artefacto reutilizável numa notificação, resposta de ajuda, personagem interativa ou explicação gravada.</p>",
  "aboutText": "Eleven Flash v2.5 é o modelo multilingue de conversão de texto em fala da ElevenLabs, concebido para aplicações em tempo real e interativas. Transforma uma resposta de texto fornecida em áudio falado e combina um perfil de resposta rápida com uma elocução natural e características vocais consistentes. O fabricante indica como utilizações típicas os agentes de voz, os chatbots, os jogos e as aplicações que exigem uma resposta imediata, bem como a conversão de texto em fala em maior escala.\n\nO modelo suporta 32 idiomas: os 29 do conjunto Multilingual v2, mais húngaro, norueguês e vietnamita. O conjunto documentado inclui inglês, japonês, chinês, alemão, hindi, francês, coreano, português, italiano, espanhol, indonésio, neerlandês, turco, filipino, polaco, sueco, búlgaro, romeno, árabe, checo, grego, finlandês, croata, malaio, eslovaco, dinamarquês, tâmil, ucraniano e russo. Distingue-se, assim, do Flash v2, que só suporta inglês. Escolha o idioma do guião e uma voz regional adequada, em vez de presumir que o sotaque de uma voz inglesa serve para todas as localizações.\n\nUm pedido suporta até 40 000 caracteres. O produtor apresenta durações aproximadas de áudio junto da tabela de caracteres, mas um limite de caracteres não corresponde a uma duração fixa de gravação. A velocidade de fala, o idioma, a pontuação e a elocução da voz alteram a duração. Para uma resposta em direto, use frases completas muito mais curtas; para uma gravação mais longa, divida o guião em secções com sentido e conserve o contexto junto dos pontos de divisão. Um limite elevado de caracteres ajuda a preparar o texto de origem, mas não torna uma resposta longa e ininterrupta fácil de ouvir.\n\nA normalização de números é uma diferença importante neste modelo. A secção específica do Flash v2.5 indica que a normalização está desativada por predefinição no seu perfil de baixa latência e que números de telefone, datas ou valores monetários podem ser lidos de forma inesperada. Prepare a forma falada pretendida antes da síntese. Decida se um número representa uma quantidade, um código de referência ou algarismos a repetir individualmente. Numa data, escreva o mês e o dia como o público os deve ouvir; numa abreviatura, forneça a forma por extenso quando se pretende que seja pronunciada como palavras.\n\nA pronúncia pode ser orientada através de grafias adaptadas ou de aliases de dicionário. O guia de dicionários do fabricante reserva as regras de fonemas para os modelos v4, v3 e Flash v2 explicitamente identificados e recomenda aliases para as restantes edições; por isso, não se deve atribuir ao Flash v2.5 o suporte de etiquetas de fonemas do Flash v2. Mantenha uma pronúncia preferida para nomes e termos recorrentes e verifique-a com a voz selecionada. Se incluir prosa emocional como instrução no texto normal, essa própria instrução pode ser pronunciada; prepare um guião final limpo para a gravação pretendida.\n\nO fluxo de trabalho TTS partilhado suporta áudio em streaming e geração de fala completa. A família de formatos inclui MP3, PCM não comprimido de 16 bits, μ-law e A-law para telefonia, e Opus. Escolha o formato de acordo com o destino de reprodução e mantenha o texto gerado disponível junto do áudio. Os controlos de voz da ElevenLabs podem influenciar a consistência e a velocidade, enquanto a redação e a pontuação do guião fornecem grande parte do ritmo pretendido. Estas são opções do fluxo de trabalho do produtor e não permitem presumir que todos os controlos estejam disponíveis numa aplicação específica. O guia do produto suporta explicitamente pausas SSML no Flash v2.5, por exemplo <break time=\"1.5s\" />, com pausas até três segundos. O uso excessivo de etiquetas de pausa pode afetar a velocidade ou introduzir artefactos. O controlo de velocidade partilhado varia entre 0.7 e 1.2; 1.0 mantém a velocidade inalterada.\n\nPara um assistente, prepare um resultado claro e um próximo passo numa frase de tom conversacional. Uma formulação prática pode confirmar que uma ação terminou e depois explicar qual é o único campo ainda necessário. Num jogo ou tutorial, mantenha a instrução suficientemente curta para ser compreendida enquanto o utilizador continua a sua atividade. Num projeto multilingue, adapte a formulação efetiva, em vez de apenas substituir vocabulário, e preserve o significado dos nomes, das ações e das condições.\n\nReveja um trecho representativo que contenha a parte difícil do guião: um nome, um identificador, uma data ou uma explicação mais longa. Verifique a inteligibilidade, o sotaque, o ritmo e se os números são pronunciados da forma pretendida. A documentação do produtor descreve a síntese como não determinística, pelo que a gravação exata pode variar mesmo com entradas semelhantes. Conserve o áudio escolhido e o texto preparado para a fala como artefacto reutilizável numa notificação, resposta de ajuda, personagem interativa ou explicação gravada.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "3a40954927bb6d0bb1253ed9232f7c71accec938d978e717a344d692434a810b",
    "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\">•</span><h2 id=\"sheet-title\">ElevenLabs: Eleven Flash v2.5</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Fechar\">×</button></div><div class=\"idline\"><span>ElevenLabs /</span><code>elevenlabs/eleven-flash-v2.5</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|elevenlabs%2Feleven-flash-v2.5\">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\">Eleven Flash v2.5 converte texto em fala para respostas interativas multilingues e aplicações de voz. Suporta 32 idiomas e até 40 000 caracteres por pedido, com um perfil de resposta rápida que beneficia da preparação de números e nomes na forma como devem ser pronunciados.</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>Eleven Flash v2.5 é o modelo multilingue de conversão de texto em fala da ElevenLabs, concebido para aplicações em tempo real e interativas. Transforma uma resposta de texto fornecida em áudio falado e combina um perfil de resposta rápida com uma elocução natural e características vocais consistentes. O fabricante indica como utilizações típicas os agentes de voz, os chatbots, os jogos e as aplicações que exigem uma resposta imediata, bem como a conversão de texto em fala em maior escala.</p><p>O modelo suporta 32 idiomas: os 29 do conjunto Multilingual v2, mais húngaro, norueguês e vietnamita. O conjunto documentado inclui inglês, japonês, chinês, alemão, hindi, francês, coreano, português, italiano, espanhol, indonésio, neerlandês, turco, filipino, polaco, sueco, búlgaro, romeno, árabe, checo, grego, finlandês, croata, malaio, eslovaco, dinamarquês, tâmil, ucraniano e russo. Distingue-se, assim, do Flash v2, que só suporta inglês. Escolha o idioma do guião e uma voz regional adequada, em vez de presumir que o sotaque de uma voz inglesa serve para todas as localizações.</p><p>Um pedido suporta até 40 000 caracteres. O produtor apresenta durações aproximadas de áudio junto da tabela de caracteres, mas um limite de caracteres não corresponde a uma duração fixa de gravação. A velocidade de fala, o idioma, a pontuação e a elocução da voz alteram a duração. Para uma resposta em direto, use frases completas muito mais curtas; para uma gravação mais longa, divida o guião em secções com sentido e conserve o contexto junto dos pontos de divisão. Um limite elevado de caracteres ajuda a preparar o texto de origem, mas não torna uma resposta longa e ininterrupta fácil de ouvir.</p><p>A normalização de números é uma diferença importante neste modelo. A secção específica do Flash v2.5 indica que a normalização está desativada por predefinição no seu perfil de baixa latência e que números de telefone, datas ou valores monetários podem ser lidos de forma inesperada. Prepare a forma falada pretendida antes da síntese. Decida se um número representa uma quantidade, um código de referência ou algarismos a repetir individualmente. Numa data, escreva o mês e o dia como o público os deve ouvir; numa abreviatura, forneça a forma por extenso quando se pretende que seja pronunciada como palavras.</p><p>A pronúncia pode ser orientada através de grafias adaptadas ou de aliases de dicionário. O guia de dicionários do fabricante reserva as regras de fonemas para os modelos v4, v3 e Flash v2 explicitamente identificados e recomenda aliases para as restantes edições; por isso, não se deve atribuir ao Flash v2.5 o suporte de etiquetas de fonemas do Flash v2. Mantenha uma pronúncia preferida para nomes e termos recorrentes e verifique-a com a voz selecionada. Se incluir prosa emocional como instrução no texto normal, essa própria instrução pode ser pronunciada; prepare um guião final limpo para a gravação pretendida.</p><p>O fluxo de trabalho TTS partilhado suporta áudio em streaming e geração de fala completa. A família de formatos inclui MP3, PCM não comprimido de 16 bits, μ-law e A-law para telefonia, e Opus. Escolha o formato de acordo com o destino de reprodução e mantenha o texto gerado disponível junto do áudio. Os controlos de voz da ElevenLabs podem influenciar a consistência e a velocidade, enquanto a redação e a pontuação do guião fornecem grande parte do ritmo pretendido. Estas são opções do fluxo de trabalho do produtor e não permitem presumir que todos os controlos estejam disponíveis numa aplicação específica. O guia do produto suporta explicitamente pausas SSML no Flash v2.5, por exemplo &lt;break time=&quot;1.5s&quot; /&gt;, com pausas até três segundos. O uso excessivo de etiquetas de pausa pode afetar a velocidade ou introduzir artefactos. O controlo de velocidade partilhado varia entre 0.7 e 1.2; 1.0 mantém a velocidade inalterada.</p><p>Para um assistente, prepare um resultado claro e um próximo passo numa frase de tom conversacional. Uma formulação prática pode confirmar que uma ação terminou e depois explicar qual é o único campo ainda necessário. Num jogo ou tutorial, mantenha a instrução suficientemente curta para ser compreendida enquanto o utilizador continua a sua atividade. Num projeto multilingue, adapte a formulação efetiva, em vez de apenas substituir vocabulário, e preserve o significado dos nomes, das ações e das condições.</p><p>Reveja um trecho representativo que contenha a parte difícil do guião: um nome, um identificador, uma data ou uma explicação mais longa. Verifique a inteligibilidade, o sotaque, o ritmo e se os números são pronunciados da forma pretendida. A documentação do produtor descreve a síntese como não determinística, pelo que a gravação exata pode variar mesmo com entradas semelhantes. Conserve o áudio escolhido e o texto preparado para a fala como artefacto reutilizável numa notificação, resposta de ajuda, personagem interativa ou explicação gravada.</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 · Síntese de voz</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</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 data-parameter-availability=\"source_interface\"><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>elevenlabs/eleven-flash-v2.5</div></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">input</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>Comprimento mínimo: 1</div><div>Comprimento máximo: 40 000</div><div>Unidade: carateres Unicode</div></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">voice</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>george, sarah, adam, alice, bella, bill, brian, callum, charlie, chris, daniel, eric, harry, jessica, laura, liam, lily, matilda, river, roger, will</div></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">response_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>Obrigatório</td><td data-cell-label=\"Valores e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>mp3</div></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Combinações de materiais de entrada</summary><p class=\"note-s\"><b>text_to_speech</b> · Obrigatório: input</p></details><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, input, voice, response_format</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>voice_ids</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>george, sarah, adam, alice, bella, bill, brian, callum, charlie, chris, daniel, eric, harry, jessica, laura, liam, lily, matilda, river, roger, will</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>response_format</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>mp3</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>max_input_characters</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>40000</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>other_options</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>false</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>input</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>texto UTF-8 exato; contagem de carateres Unicode sem normalização</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></tbody></table></div><p>Ciclo de vida: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · task_id efetivamente devolvido ou registo na biblioteca de multimédia</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</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><p class=\"note-s\">Selecione a voz exata deste perfil de modelo.</p><p class=\"note-s\">Os carateres de entrada e os segundos de áudio são medidas de utilização diferentes.</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.00008</b> <span class=\"price-unit\">por carácter de entrada</span></div></td></tr></tbody></table></div></div><div data-declared-reference-pricing><h4>Detalhes da tarifa de referência</h4><p class=\"note-s\">As tabelas de referência do modelo não alteram a seleção do método, as cotações ou os custos. Os custos ativos usam as tarifas do método Ailoot selecionado.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>ElevenLabs: Eleven Flash v2.5</summary><h4>Preços por configuração</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuração</th><th>Condições 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>ElevenLabs: Eleven Flash v2.5 · Configuração predefinida</th><td data-cell-label=\"Condições de faturação\"><span class=\"card-cell-label\">Condições de faturação</span>Configuração predefinida</td><td data-cell-label=\"Custo\"><span class=\"card-cell-label\">Custo</span><div><span>Entrada · Caracteres de entrada</span> <b>0,00004 US$</b> <span class=\"price-unit\">por carácter de entrada</span></div></td></tr></tbody></table></div></details></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 · Síntese de voz</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-1312-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1312-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</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-1312-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1312-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}&quot;\nexport AILOOT_VOICE_ID\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;elevenlabs/eleven-flash-v2.5&quot;, &quot;input&quot;: &quot;Good afternoon! This is a short voice take.&quot;}&#39;)\nvoice=os.environ[&quot;AILOOT_VOICE_ID&quot;]\nallowed=json.loads(&#39;[&quot;george&quot;, &quot;sarah&quot;, &quot;adam&quot;, &quot;alice&quot;, &quot;bella&quot;, &quot;bill&quot;, &quot;brian&quot;, &quot;callum&quot;, &quot;charlie&quot;, &quot;chris&quot;, &quot;daniel&quot;, &quot;eric&quot;, &quot;harry&quot;, &quot;jessica&quot;, &quot;laura&quot;, &quot;liam&quot;, &quot;lily&quot;, &quot;matilda&quot;, &quot;river&quot;, &quot;roger&quot;, &quot;will&quot;]&#39;)\nif voice not in allowed: raise SystemExit(&quot;Choose an accepted voice ID from this exact model profile&quot;)\np[&quot;voice&quot;]=voice\np[&quot;response_format&quot;]=&quot;mp3&quot;\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 speech.mp3\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 · Síntese de voz</h4><p class=\"note-s\">mp3</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>Outras leituras de conteúdo</summary><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-1313-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1313-panel-0\" aria-selected=\"true\" tabindex=\"0\">Biblioteca multimédia</button><button class=\"cg-tab\" id=\"model-code-1313-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1313-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Estado da tarefa</button><button class=\"cg-tab\" id=\"model-code-1313-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1313-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Detalhes dos recursos</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-1313-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1313-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-assets.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1313-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1313-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_MEDIA_TASK_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/tasks/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-task.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-task.json&quot;).read_text())))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1313-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-1313-tab-2\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_ASSET_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/assets/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-asset.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-asset.json&quot;).read_text())))\nPY_RESULT\n</code></pre></div></div></div></details><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\">Guarde o resultado binário completo e os cabeçalhos. Se forem devolvidos JSON/vários resultados, conserve todos os itens de dados e obtenha cada recurso através do seu URL assinado efetivo.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Se for necessário verificar a resposta original</h5><p class=\"note-s\">Conserve o operation_id/X-Client-Request-ID original para reconciliação sem voltar a enviar o pedido; não existe uma rota dedicada à consulta periódica do estado do áudio.</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\">binary audio</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>bytes</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">response headers</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>headers</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Erros e passos seguintes</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Resposta</th><th>Condição</th><th>Passo seguinte</th></tr></thead><tbody><tr><th data-cell-label=\"Resposta\" scope=\"row\"><span class=\"card-cell-label\">Resposta</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Condição\"><span class=\"card-cell-label\">Condição</span>Campos obrigatórios, representação do material ou valor do parâmetro inválidos</td><td data-cell-label=\"Passo seguinte\"><span class=\"card-cell-label\">Passo seguinte</span>Corrija os campos indicados antes de um novo pedido de criação.</td></tr><tr><th data-cell-label=\"Resposta\" scope=\"row\"><span class=\"card-cell-label\">Resposta</span><code>server_error</code></th><td data-cell-label=\"Condição\"><span class=\"card-cell-label\">Condição</span>A resposta devolvida indica que a operação ou o resultado requer verificação</td><td data-cell-label=\"Passo seguinte\"><span class=\"card-cell-label\">Passo seguinte</span>Guarde o ID original da operação/tarefa devolvido, os cabeçalhos do pedido e a resposta; continue a consultar essa operação original através das consultas suportadas. Não volte a enviar o pedido de criação.</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=elevenlabs%2Feleven-flash-v2.5&amp;route=Ultra&amp;caller=elevenlabs%2Feleven-flash-v2.5&amp;fmt=speech\"><code>elevenlabs/eleven-flash-v2.5</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=elevenlabs%2Feleven-flash-v2.5&amp;route=Ultra&amp;caller=elevenlabs%2Feleven-flash-v2.5&amp;fmt=speech\"><code>elevenlabs/eleven-flash-v2.5</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "elevenlabs/eleven-flash-v2.5",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "elevenlabs/eleven-flash-v2.5",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|elevenlabs%2Feleven-flash-v2.5",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "errors": [
              {
                "code": null,
                "condition": "Campos obrigatórios, representação do material ou valor do parâmetro inválidos",
                "http_status": 400,
                "recovery": "Corrija os campos indicados antes de um novo pedido de criação.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "A resposta devolvida indica que a operação ou o resultado requer verificação",
                "http_status": null,
                "recovery": "Guarde o ID original da operação/tarefa devolvido, os cabeçalhos do pedido e a resposta; continue a consultar essa operação original através das consultas suportadas. Não volte a enviar o pedido de criação.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Conserve o operation_id/X-Client-Request-ID original para reconciliação sem voltar a enviar o pedido; não existe uma rota dedicada à consulta periódica do estado do áudio."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "Guarde o resultado binário completo e os cabeçalhos. Se forem devolvidos JSON/vários resultados, conserve todos os itens de dados e obtenha cada recurso através do seu URL assinado efetivo.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3",
              "http_success": 200
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "elevenlabs/eleven-flash-v2.5"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_known": true,
                "maximum_length": 40000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "carateres Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "george",
                  "sarah",
                  "adam",
                  "alice",
                  "bella",
                  "bill",
                  "brian",
                  "callum",
                  "charlie",
                  "chris",
                  "daniel",
                  "eric",
                  "harry",
                  "jessica",
                  "laura",
                  "liam",
                  "lily",
                  "matilda",
                  "river",
                  "roger",
                  "will"
                ],
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "every field outside exactmodel,input,voice,response_format",
              "stream/speed/reference speech options"
            ]
          },
          "hints": [
            "Selecione a voz exata deste perfil de modelo.",
            "Os carateres de entrada e os segundos de áudio são medidas de utilização diferentes."
          ],
          "input": {
            "content_type": "application/json",
            "input": "texto UTF-8 exato; contagem de carateres Unicode sem normalização",
            "material_types": [
              "text"
            ],
            "max_input_characters": 40000,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice",
              "response_format"
            ],
            "response_format": [
              "mp3"
            ],
            "voice_ids": [
              "george",
              "sarah",
              "adam",
              "alice",
              "bella",
              "bill",
              "brian",
              "callum",
              "charlie",
              "chris",
              "daniel",
              "eric",
              "harry",
              "jessica",
              "laura",
              "liam",
              "lily",
              "matilda",
              "river",
              "roger",
              "will"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id efetivamente devolvido ou registo na biblioteca de multimédia",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "family": "audio",
            "format": "mp3",
            "http_success": 200,
            "response": "full binary MP3 plus response headers",
            "result": "complete playable owned MP3"
          }
        },
        "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.00008",
                "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.00008",
                "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"
              }
            ]
          }
        ],
        "declared_tariff_references": [
          {
            "client_selectable": false,
            "key": "4c7bf3e811c3c0cb69c7",
            "label": "ElevenLabs: Eleven Flash v2.5",
            "profiles": [
              {
                "basis": "",
                "dimensions": {
                  "conditions": "Configuração predefinida"
                },
                "label": "ElevenLabs: Eleven Flash v2.5 · Configuração predefinida",
                "units": [
                  {
                    "amount": "0.00004",
                    "amount_unit": "usd_per_exact_physical_unit",
                    "billing_input": false,
                    "key": "2fef4e5ac6c9e0698373e386",
                    "label": "Input characters",
                    "public_unit_label": "per input character",
                    "quantity": "1",
                    "rate_role": "declared_tariff_rate",
                    "side": "in",
                    "unit": "input_character"
                  }
                ]
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"elevenlabs/eleven-flash-v2.5\", \"input\": \"Good afternoon! This is a short voice take.\"}')\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nallowed=json.loads('[\"george\", \"sarah\", \"adam\", \"alice\", \"bella\", \"bill\", \"brian\", \"callum\", \"charlie\", \"chris\", \"daniel\", \"eric\", \"harry\", \"jessica\", \"laura\", \"liam\", \"lily\", \"matilda\", \"river\", \"roger\", \"will\"]')\nif voice not in allowed: raise SystemExit(\"Choose an accepted voice ID from this exact model profile\")\np[\"voice\"]=voice\np[\"response_format\"]=\"mp3\"\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 speech.mp3\n",
            "label": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Select exact voice from this model profile.",
          "Input characters and audio seconds are different meters."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "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",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_character": 8e-05
          }
        },
        "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.00008",
                "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.00008",
                "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": "elevenlabs/eleven-flash-v2.5",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "tiers": [],
        "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.00008",
            "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.00008",
            "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": "elevenlabs/eleven-flash-v2.5",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "9e4e96815f91ec86be9215d6e506ca57a2195c48f20dff2c2efa88e6d65331dd",
    "input_html_sha256": "02dd279ab6a316c2777526f08bbfe7d264b5fab991e4c542d1127dac28c1d9dd",
    "private_audit_sha256": "fa66ea7d3a02bf4e261a77bcba3eec266ec1db5863911821a618939628bf577d",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/pt-pt/elevenlabs-eleven-flash-v2-5/",
    "description": "Eleven Flash v2.5 converte texto em fala para respostas interativas multilingues e aplicações de voz. Suporta 32 idiomas e até 40 000 caracteres por pedido, com um perfil de resposta rápida que beneficia da preparação de números e nomes na forma como devem ser pronunciados.",
    "locale": "pt-pt",
    "md_url": "https://ailoot.ai/models/pt-pt/elevenlabs-eleven-flash-v2-5/index.md",
    "title": "ElevenLabs: Eleven Flash v2.5 — Ailoot",
    "url": "https://ailoot.ai/models/pt-pt/elevenlabs-eleven-flash-v2-5/"
  },
  "rawModel": {
    "about": "Eleven Flash v2.5 é o modelo multilingue de conversão de texto em fala da ElevenLabs, concebido para aplicações em tempo real e interativas. Transforma uma resposta de texto fornecida em áudio falado e combina um perfil de resposta rápida com uma elocução natural e características vocais consistentes. O fabricante indica como utilizações típicas os agentes de voz, os chatbots, os jogos e as aplicações que exigem uma resposta imediata, bem como a conversão de texto em fala em maior escala.\n\nO modelo suporta 32 idiomas: os 29 do conjunto Multilingual v2, mais húngaro, norueguês e vietnamita. O conjunto documentado inclui inglês, japonês, chinês, alemão, hindi, francês, coreano, português, italiano, espanhol, indonésio, neerlandês, turco, filipino, polaco, sueco, búlgaro, romeno, árabe, checo, grego, finlandês, croata, malaio, eslovaco, dinamarquês, tâmil, ucraniano e russo. Distingue-se, assim, do Flash v2, que só suporta inglês. Escolha o idioma do guião e uma voz regional adequada, em vez de presumir que o sotaque de uma voz inglesa serve para todas as localizações.\n\nUm pedido suporta até 40 000 caracteres. O produtor apresenta durações aproximadas de áudio junto da tabela de caracteres, mas um limite de caracteres não corresponde a uma duração fixa de gravação. A velocidade de fala, o idioma, a pontuação e a elocução da voz alteram a duração. Para uma resposta em direto, use frases completas muito mais curtas; para uma gravação mais longa, divida o guião em secções com sentido e conserve o contexto junto dos pontos de divisão. Um limite elevado de caracteres ajuda a preparar o texto de origem, mas não torna uma resposta longa e ininterrupta fácil de ouvir.\n\nA normalização de números é uma diferença importante neste modelo. A secção específica do Flash v2.5 indica que a normalização está desativada por predefinição no seu perfil de baixa latência e que números de telefone, datas ou valores monetários podem ser lidos de forma inesperada. Prepare a forma falada pretendida antes da síntese. Decida se um número representa uma quantidade, um código de referência ou algarismos a repetir individualmente. Numa data, escreva o mês e o dia como o público os deve ouvir; numa abreviatura, forneça a forma por extenso quando se pretende que seja pronunciada como palavras.\n\nA pronúncia pode ser orientada através de grafias adaptadas ou de aliases de dicionário. O guia de dicionários do fabricante reserva as regras de fonemas para os modelos v4, v3 e Flash v2 explicitamente identificados e recomenda aliases para as restantes edições; por isso, não se deve atribuir ao Flash v2.5 o suporte de etiquetas de fonemas do Flash v2. Mantenha uma pronúncia preferida para nomes e termos recorrentes e verifique-a com a voz selecionada. Se incluir prosa emocional como instrução no texto normal, essa própria instrução pode ser pronunciada; prepare um guião final limpo para a gravação pretendida.\n\nO fluxo de trabalho TTS partilhado suporta áudio em streaming e geração de fala completa. A família de formatos inclui MP3, PCM não comprimido de 16 bits, μ-law e A-law para telefonia, e Opus. Escolha o formato de acordo com o destino de reprodução e mantenha o texto gerado disponível junto do áudio. Os controlos de voz da ElevenLabs podem influenciar a consistência e a velocidade, enquanto a redação e a pontuação do guião fornecem grande parte do ritmo pretendido. Estas são opções do fluxo de trabalho do produtor e não permitem presumir que todos os controlos estejam disponíveis numa aplicação específica. O guia do produto suporta explicitamente pausas SSML no Flash v2.5, por exemplo <break time=\"1.5s\" />, com pausas até três segundos. O uso excessivo de etiquetas de pausa pode afetar a velocidade ou introduzir artefactos. O controlo de velocidade partilhado varia entre 0.7 e 1.2; 1.0 mantém a velocidade inalterada.\n\nPara um assistente, prepare um resultado claro e um próximo passo numa frase de tom conversacional. Uma formulação prática pode confirmar que uma ação terminou e depois explicar qual é o único campo ainda necessário. Num jogo ou tutorial, mantenha a instrução suficientemente curta para ser compreendida enquanto o utilizador continua a sua atividade. Num projeto multilingue, adapte a formulação efetiva, em vez de apenas substituir vocabulário, e preserve o significado dos nomes, das ações e das condições.\n\nReveja um trecho representativo que contenha a parte difícil do guião: um nome, um identificador, uma data ou uma explicação mais longa. Verifique a inteligibilidade, o sotaque, o ritmo e se os números são pronunciados da forma pretendida. A documentação do produtor descreve a síntese como não determinística, pelo que a gravação exata pode variar mesmo com entradas semelhantes. Conserve o áudio escolhido e o texto preparado para a fala como artefacto reutilizável numa notificação, resposta de ajuda, personagem interativa ou explicação gravada.",
    "alias_of": null,
    "aliases": [],
    "author": "ElevenLabs",
    "available": null,
    "canonical_model": "elevenlabs/eleven-flash-v2.5",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00008",
            "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.00008",
            "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"
          }
        ],
        "summary": "Todas as tarifas da configuração constam dos detalhes."
      }
    ],
    "ctx": null,
    "entity_type": "model",
    "formats": [
      "speech"
    ],
    "id": "elevenlabs/eleven-flash-v2.5",
    "input": [
      "text"
    ],
    "kind": "speech",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "errors": [
              {
                "code": null,
                "condition": "Campos obrigatórios, representação do material ou valor do parâmetro inválidos",
                "http_status": 400,
                "recovery": "Corrija os campos indicados antes de um novo pedido de criação.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "A resposta devolvida indica que a operação ou o resultado requer verificação",
                "http_status": null,
                "recovery": "Guarde o ID original da operação/tarefa devolvido, os cabeçalhos do pedido e a resposta; continue a consultar essa operação original através das consultas suportadas. Não volte a enviar o pedido de criação.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Conserve o operation_id/X-Client-Request-ID original para reconciliação sem voltar a enviar o pedido; não existe uma rota dedicada à consulta periódica do estado do áudio."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "Guarde o resultado binário completo e os cabeçalhos. Se forem devolvidos JSON/vários resultados, conserve todos os itens de dados e obtenha cada recurso através do seu URL assinado efetivo.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3",
              "http_success": 200
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "elevenlabs/eleven-flash-v2.5"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_known": true,
                "maximum_length": 40000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "carateres Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "george",
                  "sarah",
                  "adam",
                  "alice",
                  "bella",
                  "bill",
                  "brian",
                  "callum",
                  "charlie",
                  "chris",
                  "daniel",
                  "eric",
                  "harry",
                  "jessica",
                  "laura",
                  "liam",
                  "lily",
                  "matilda",
                  "river",
                  "roger",
                  "will"
                ],
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "every field outside exactmodel,input,voice,response_format",
              "stream/speed/reference speech options"
            ]
          },
          "hints": [
            "Selecione a voz exata deste perfil de modelo.",
            "Os carateres de entrada e os segundos de áudio são medidas de utilização diferentes."
          ],
          "input": {
            "content_type": "application/json",
            "input": "texto UTF-8 exato; contagem de carateres Unicode sem normalização",
            "material_types": [
              "text"
            ],
            "max_input_characters": 40000,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice",
              "response_format"
            ],
            "response_format": [
              "mp3"
            ],
            "voice_ids": [
              "george",
              "sarah",
              "adam",
              "alice",
              "bella",
              "bill",
              "brian",
              "callum",
              "charlie",
              "chris",
              "daniel",
              "eric",
              "harry",
              "jessica",
              "laura",
              "liam",
              "lily",
              "matilda",
              "river",
              "roger",
              "will"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id efetivamente devolvido ou registo na biblioteca de multimédia",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "family": "audio",
            "format": "mp3",
            "http_success": 200,
            "response": "full binary MP3 plus response headers",
            "result": "complete playable owned MP3"
          }
        },
        "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.00008",
                "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.00008",
                "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"
              }
            ]
          }
        ],
        "declared_tariff_references": [
          {
            "client_selectable": false,
            "key": "4c7bf3e811c3c0cb69c7",
            "label": "ElevenLabs: Eleven Flash v2.5",
            "profiles": [
              {
                "basis": "",
                "dimensions": {
                  "conditions": "Configuração predefinida"
                },
                "label": "ElevenLabs: Eleven Flash v2.5 · Configuração predefinida",
                "units": [
                  {
                    "amount": "0.00004",
                    "amount_unit": "usd_per_exact_physical_unit",
                    "billing_input": false,
                    "key": "2fef4e5ac6c9e0698373e386",
                    "label": "Input characters",
                    "public_unit_label": "per input character",
                    "quantity": "1",
                    "rate_role": "declared_tariff_rate",
                    "side": "in",
                    "unit": "input_character"
                  }
                ]
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"elevenlabs/eleven-flash-v2.5\", \"input\": \"Good afternoon! This is a short voice take.\"}')\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nallowed=json.loads('[\"george\", \"sarah\", \"adam\", \"alice\", \"bella\", \"bill\", \"brian\", \"callum\", \"charlie\", \"chris\", \"daniel\", \"eric\", \"harry\", \"jessica\", \"laura\", \"liam\", \"lily\", \"matilda\", \"river\", \"roger\", \"will\"]')\nif voice not in allowed: raise SystemExit(\"Choose an accepted voice ID from this exact model profile\")\np[\"voice\"]=voice\np[\"response_format\"]=\"mp3\"\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 speech.mp3\n",
            "label": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Select exact voice from this model profile.",
          "Input characters and audio seconds are different meters."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "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",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_character": 8e-05
          }
        },
        "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.00008",
                "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.00008",
                "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": "elevenlabs/eleven-flash-v2.5",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "tiers": [],
        "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.00008",
            "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.00008",
            "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": "elevenlabs/eleven-flash-v2.5",
        "request_model_id": "elevenlabs/eleven-flash-v2.5",
        "route_label": "Ultra"
      }
    ],
    "name": "ElevenLabs: Eleven Flash v2.5",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.00008",
            "amount_unit": "usd_per_declared_unit",
            "conditions": {},
            "key": "characters",
            "label": "characters",
            "quantity": "1",
            "rate_role": "typed_published_regular_rate",
            "side": "in",
            "unit": "input_character"
          }
        ]
      }
    ],
    "public_id": "elevenlabs/eleven-flash-v2.5",
    "short": "Eleven Flash v2.5 converte texto em fala para respostas interativas multilingues e aplicações de voz. Suporta 32 idiomas e até 40 000 caracteres por pedido, com um perfil de resposta rápida que beneficia da preparação de números e nomes na forma como devem ser pronunciados."
  },
  "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": "Eleven Flash v2.5 converte texto em fala para respostas interativas multilingues e aplicações de voz. Suporta 32 idiomas e até 40 000 caracteres por pedido, com um perfil de resposta rápida que beneficia da preparação de números e nomes na forma como devem ser pronunciados.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "194019c3d1a98f6da642c6ad399a06a700b0628ef9bfef2737ac77fadaa2db34",
    "renderer_sha256": "8caea4544177cc2b7d2cb3356b5f07bfd3660386d75f2714a6f603fa5e2a6cd2"
  },
  "sourceRevision": "e926b578c5a8fd5525b8e5be3abfdef19bac711c9805217b50020c0792ae77bc"
}
