{
  "aboutHtml": "<p>Whisper large-v3 é um checkpoint de reconhecimento de fala publicado pela OpenAI, com aproximadamente 1,55 mil milhões de parâmetros. É um modelo multilingue com codificador e descodificador: o áudio entra no codificador e o descodificador prevê texto e tokens relacionados com a tarefa. As principais tarefas são a transcrição da fala no idioma de origem e a tradução da fala para inglês. Trata-se da identidade de um modelo com pesos abertos, distinta do identificador de modelo de um serviço alojado ou das regras desse serviço para carregamentos e formatos de resposta.</p><p>O large-v3 mantém a arquitetura dos checkpoints Whisper large anteriores, com duas alterações declaradas: a entrada do espectrograma usa 128 bandas de frequência Mel em vez de 80, e acrescenta um token de idioma cantonês. A ficha do modelo do produtor descreve um treino com um milhão de horas de áudio com rótulos de supervisão fraca e quatro milhões de horas de áudio com pseudorrótulos preparados com Whisper large-v2. Esta mistura foi usada durante duas épocas de treino. A versão publicada é um checkpoint large-v3 específico, e não um nome genérico para todos os modelos da família Whisper.</p><p>O fluxo de inferência documentado realiza transcrição por predefinição, preservando o idioma falado na gravação. Pode detetar automaticamente o idioma de origem ou aceitar a seleção de um idioma conhecido. Para tradução, o modelo large multilingue fornece um resultado textual em inglês a partir de fala noutro idioma. Escolha explicitamente essa tarefa: uma transcrição no mesmo idioma e uma tradução para inglês são artefactos diferentes. Numa entrevista, mantenha a redação no idioma original; num documento de referência em inglês, especifique que o resultado pretendido é uma tradução do conteúdo falado.</p><p>A preparação do áudio faz parte do percurso de entrada. O carregador da OpenAI descodifica a gravação para uma forma de onda mono e reamostra-a a 16 kHz. O campo recetivo acústico do modelo é de 30 segundos. Trata-se de uma janela de processamento, e não de uma duração máxima para uma entrevista ou aula inteira. A inferência de gravações longas pode avançar sequencialmente por janelas deslizantes ou dividir uma gravação longa em blocos sobrepostos e juntar as respetivas transcrições. A ficha do modelo do produtor descreve o processamento sequencial quando a prioridade é a precisão e o processamento por blocos quando é mais importante obter rapidamente o resultado de uma única gravação longa.</p><p>A configuração publicada indica 448 posições do descodificador para uma sequência de descodificação individual. As gravações mais longas são tratadas pelo processo para gravações longas, em vez de se considerar esse número um limite universal de transcrição. O fluxo documentado pode devolver marcas temporais ao nível do segmento ou da palavra junto do texto reconhecido. Estas informações temporais são úteis para navegar nas gravações e preparar legendas, enquanto o contentor final de legendas ou o formato do ficheiro de transcrição constitui uma escolha separada de formatação da saída. Preserve a temporização da gravação ao preparar o áudio se a transcrição for alinhada com o material original.</p><p>A função prevista do Whisper é reconhecer e traduzir fala. A transcrição de uma aula, o registo de uma entrevista ou uma coleção pesquisável de material falado são resultados práticos; o resumo ou a interpretação podem seguir-se como outro passo sobre o texto. A ficha do modelo não estabelece a classificação automática robusta de locutores nem a diarização como saída padrão do checkpoint de base. Se uma tarefa precisar de etiquetas de locutor, esse requisito deve ser tratado separadamente de uma afirmação de transcrição precisa. Um pedido bem definido identifica o idioma de origem, se é necessária transcrição ou tradução para inglês e se são exigidas informações temporais.</p><p>Entre as limitações importantes encontram-se texto inventado que nunca foi pronunciado e texto repetitivo, associados ao treino com supervisão fraca em dados ruidosos e à arquitetura de sequência para sequência. A qualidade do reconhecimento varia entre idiomas, sotaques e dialetos, com resultados mais fracos onde existe menos material de treino. Por isso, o ruído, o vocabulário especializado e a fala sobreposta devem estar representados na amostra usada para avaliar a adequação. Compare nomes, quantidades e afirmações importantes com a gravação e inspecione os trechos sem fala ou as linhas repetidas, em vez de tratar uma transcrição fluente como prova de que todas as palavras foram ouvidas.</p><p>Um resultado completo conserva o texto reconhecido, o seu idioma e quaisquer informações temporais pedidas, com uma referência à gravação original. Mantenha a transcrição separada da edição posterior: uma transcrição corrigida para publicação pode remover expressões de preenchimento, enquanto a transcrição reconhecida preserva o que o modelo efetivamente devolveu. A identidade do large-v3 e a sua capacidade de tradução devem também manter-se separadas da edição Turbo, mais rápida. A velocidade real de processamento depende do idioma, da velocidade de fala, do hardware e do método de inferência; o nome do checkpoint, por si só, não implica uma determinada latência de serviço alojado, um tamanho máximo de carregamento ou uma rota de aplicação ativa.</p>",
  "aboutText": "Whisper large-v3 é um checkpoint de reconhecimento de fala publicado pela OpenAI, com aproximadamente 1,55 mil milhões de parâmetros. É um modelo multilingue com codificador e descodificador: o áudio entra no codificador e o descodificador prevê texto e tokens relacionados com a tarefa. As principais tarefas são a transcrição da fala no idioma de origem e a tradução da fala para inglês. Trata-se da identidade de um modelo com pesos abertos, distinta do identificador de modelo de um serviço alojado ou das regras desse serviço para carregamentos e formatos de resposta.\n\nO large-v3 mantém a arquitetura dos checkpoints Whisper large anteriores, com duas alterações declaradas: a entrada do espectrograma usa 128 bandas de frequência Mel em vez de 80, e acrescenta um token de idioma cantonês. A ficha do modelo do produtor descreve um treino com um milhão de horas de áudio com rótulos de supervisão fraca e quatro milhões de horas de áudio com pseudorrótulos preparados com Whisper large-v2. Esta mistura foi usada durante duas épocas de treino. A versão publicada é um checkpoint large-v3 específico, e não um nome genérico para todos os modelos da família Whisper.\n\nO fluxo de inferência documentado realiza transcrição por predefinição, preservando o idioma falado na gravação. Pode detetar automaticamente o idioma de origem ou aceitar a seleção de um idioma conhecido. Para tradução, o modelo large multilingue fornece um resultado textual em inglês a partir de fala noutro idioma. Escolha explicitamente essa tarefa: uma transcrição no mesmo idioma e uma tradução para inglês são artefactos diferentes. Numa entrevista, mantenha a redação no idioma original; num documento de referência em inglês, especifique que o resultado pretendido é uma tradução do conteúdo falado.\n\nA preparação do áudio faz parte do percurso de entrada. O carregador da OpenAI descodifica a gravação para uma forma de onda mono e reamostra-a a 16 kHz. O campo recetivo acústico do modelo é de 30 segundos. Trata-se de uma janela de processamento, e não de uma duração máxima para uma entrevista ou aula inteira. A inferência de gravações longas pode avançar sequencialmente por janelas deslizantes ou dividir uma gravação longa em blocos sobrepostos e juntar as respetivas transcrições. A ficha do modelo do produtor descreve o processamento sequencial quando a prioridade é a precisão e o processamento por blocos quando é mais importante obter rapidamente o resultado de uma única gravação longa.\n\nA configuração publicada indica 448 posições do descodificador para uma sequência de descodificação individual. As gravações mais longas são tratadas pelo processo para gravações longas, em vez de se considerar esse número um limite universal de transcrição. O fluxo documentado pode devolver marcas temporais ao nível do segmento ou da palavra junto do texto reconhecido. Estas informações temporais são úteis para navegar nas gravações e preparar legendas, enquanto o contentor final de legendas ou o formato do ficheiro de transcrição constitui uma escolha separada de formatação da saída. Preserve a temporização da gravação ao preparar o áudio se a transcrição for alinhada com o material original.\n\nA função prevista do Whisper é reconhecer e traduzir fala. A transcrição de uma aula, o registo de uma entrevista ou uma coleção pesquisável de material falado são resultados práticos; o resumo ou a interpretação podem seguir-se como outro passo sobre o texto. A ficha do modelo não estabelece a classificação automática robusta de locutores nem a diarização como saída padrão do checkpoint de base. Se uma tarefa precisar de etiquetas de locutor, esse requisito deve ser tratado separadamente de uma afirmação de transcrição precisa. Um pedido bem definido identifica o idioma de origem, se é necessária transcrição ou tradução para inglês e se são exigidas informações temporais.\n\nEntre as limitações importantes encontram-se texto inventado que nunca foi pronunciado e texto repetitivo, associados ao treino com supervisão fraca em dados ruidosos e à arquitetura de sequência para sequência. A qualidade do reconhecimento varia entre idiomas, sotaques e dialetos, com resultados mais fracos onde existe menos material de treino. Por isso, o ruído, o vocabulário especializado e a fala sobreposta devem estar representados na amostra usada para avaliar a adequação. Compare nomes, quantidades e afirmações importantes com a gravação e inspecione os trechos sem fala ou as linhas repetidas, em vez de tratar uma transcrição fluente como prova de que todas as palavras foram ouvidas.\n\nUm resultado completo conserva o texto reconhecido, o seu idioma e quaisquer informações temporais pedidas, com uma referência à gravação original. Mantenha a transcrição separada da edição posterior: uma transcrição corrigida para publicação pode remover expressões de preenchimento, enquanto a transcrição reconhecida preserva o que o modelo efetivamente devolveu. A identidade do large-v3 e a sua capacidade de tradução devem também manter-se separadas da edição Turbo, mais rápida. A velocidade real de processamento depende do idioma, da velocidade de fala, do hardware e do método de inferência; o nome do checkpoint, por si só, não implica uma determinada latência de serviço alojado, um tamanho máximo de carregamento ou uma rota de aplicação ativa.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "af5bd70732eaa521a030b31482249082e499687d6dd621ea5e74186f3ab36753",
    "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\">O</span><h2 id=\"sheet-title\">OpenAI: Whisper Large V3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Fechar\">×</button></div><div class=\"idline\"><span>OpenAI /</span><code>openai/whisper-large-v3</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|transcriptions|/v1/audio/transcriptions|openai%2Fwhisper-large-v3\">Reconhecimento</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\">Whisper large-v3 é o checkpoint multilingue da OpenAI com pesos abertos para reconhecimento de fala, transcrição e tradução de fala para inglês. Converte fala gravada em texto, com seleção de idioma, marcas temporais e processamento de gravações longas para além da sua janela acústica de 30 segundos, conforme documentado.</p><dl class=\"card-io\" data-card-io><div><dt>Entradas aceites</dt><dd>Áudio</dd></div><div><dt>Resultados</dt><dd>transcription</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>Whisper large-v3 é um checkpoint de reconhecimento de fala publicado pela OpenAI, com aproximadamente 1,55 mil milhões de parâmetros. É um modelo multilingue com codificador e descodificador: o áudio entra no codificador e o descodificador prevê texto e tokens relacionados com a tarefa. As principais tarefas são a transcrição da fala no idioma de origem e a tradução da fala para inglês. Trata-se da identidade de um modelo com pesos abertos, distinta do identificador de modelo de um serviço alojado ou das regras desse serviço para carregamentos e formatos de resposta.</p><p>O large-v3 mantém a arquitetura dos checkpoints Whisper large anteriores, com duas alterações declaradas: a entrada do espectrograma usa 128 bandas de frequência Mel em vez de 80, e acrescenta um token de idioma cantonês. A ficha do modelo do produtor descreve um treino com um milhão de horas de áudio com rótulos de supervisão fraca e quatro milhões de horas de áudio com pseudorrótulos preparados com Whisper large-v2. Esta mistura foi usada durante duas épocas de treino. A versão publicada é um checkpoint large-v3 específico, e não um nome genérico para todos os modelos da família Whisper.</p><p>O fluxo de inferência documentado realiza transcrição por predefinição, preservando o idioma falado na gravação. Pode detetar automaticamente o idioma de origem ou aceitar a seleção de um idioma conhecido. Para tradução, o modelo large multilingue fornece um resultado textual em inglês a partir de fala noutro idioma. Escolha explicitamente essa tarefa: uma transcrição no mesmo idioma e uma tradução para inglês são artefactos diferentes. Numa entrevista, mantenha a redação no idioma original; num documento de referência em inglês, especifique que o resultado pretendido é uma tradução do conteúdo falado.</p><p>A preparação do áudio faz parte do percurso de entrada. O carregador da OpenAI descodifica a gravação para uma forma de onda mono e reamostra-a a 16 kHz. O campo recetivo acústico do modelo é de 30 segundos. Trata-se de uma janela de processamento, e não de uma duração máxima para uma entrevista ou aula inteira. A inferência de gravações longas pode avançar sequencialmente por janelas deslizantes ou dividir uma gravação longa em blocos sobrepostos e juntar as respetivas transcrições. A ficha do modelo do produtor descreve o processamento sequencial quando a prioridade é a precisão e o processamento por blocos quando é mais importante obter rapidamente o resultado de uma única gravação longa.</p><p>A configuração publicada indica 448 posições do descodificador para uma sequência de descodificação individual. As gravações mais longas são tratadas pelo processo para gravações longas, em vez de se considerar esse número um limite universal de transcrição. O fluxo documentado pode devolver marcas temporais ao nível do segmento ou da palavra junto do texto reconhecido. Estas informações temporais são úteis para navegar nas gravações e preparar legendas, enquanto o contentor final de legendas ou o formato do ficheiro de transcrição constitui uma escolha separada de formatação da saída. Preserve a temporização da gravação ao preparar o áudio se a transcrição for alinhada com o material original.</p><p>A função prevista do Whisper é reconhecer e traduzir fala. A transcrição de uma aula, o registo de uma entrevista ou uma coleção pesquisável de material falado são resultados práticos; o resumo ou a interpretação podem seguir-se como outro passo sobre o texto. A ficha do modelo não estabelece a classificação automática robusta de locutores nem a diarização como saída padrão do checkpoint de base. Se uma tarefa precisar de etiquetas de locutor, esse requisito deve ser tratado separadamente de uma afirmação de transcrição precisa. Um pedido bem definido identifica o idioma de origem, se é necessária transcrição ou tradução para inglês e se são exigidas informações temporais.</p><p>Entre as limitações importantes encontram-se texto inventado que nunca foi pronunciado e texto repetitivo, associados ao treino com supervisão fraca em dados ruidosos e à arquitetura de sequência para sequência. A qualidade do reconhecimento varia entre idiomas, sotaques e dialetos, com resultados mais fracos onde existe menos material de treino. Por isso, o ruído, o vocabulário especializado e a fala sobreposta devem estar representados na amostra usada para avaliar a adequação. Compare nomes, quantidades e afirmações importantes com a gravação e inspecione os trechos sem fala ou as linhas repetidas, em vez de tratar uma transcrição fluente como prova de que todas as palavras foram ouvidas.</p><p>Um resultado completo conserva o texto reconhecido, o seu idioma e quaisquer informações temporais pedidas, com uma referência à gravação original. Mantenha a transcrição separada da edição posterior: uma transcrição corrigida para publicação pode remover expressões de preenchimento, enquanto a transcrição reconhecida preserva o que o modelo efetivamente devolveu. A identidade do large-v3 e a sua capacidade de tradução devem também manter-se separadas da edição Turbo, mais rápida. A velocidade real de processamento depende do idioma, da velocidade de fala, do hardware e do método de inferência; o nome do checkpoint, por si só, não implica uma determinada latência de serviço alojado, um tamanho máximo de carregamento ou uma rota de aplicação ativa.</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 · Reconhecimento de voz</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Entrada</dt><dd><code>audio</code></dd></div><div><dt>Saída</dt><dd><code>transcription</code></dd></div><div><dt>Formato de saída</dt><dd>json</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>openai/whisper-large-v3</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_audio</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>object</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obrigatório</td><td data-cell-label=\"Valores e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</span>—</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">language</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</span>—</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">temperature</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>number</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>Mínimo: 0</div><div>Máximo: 1</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=\"retained_official_STTRequest\"><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>Opcional</td><td data-cell-label=\"Valores e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>json, verbose_json</div></td><td data-cell-label=\"Predefinição\" data-default=\"known\"><span class=\"card-cell-label\">Predefinição</span>json</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">timestamp_granularities</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>array</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</span>—</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>object</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores e limites\"><span class=\"card-cell-label\">Valores e limites</span></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Combinações de materiais de entrada</summary><p class=\"note-s\"><b>speech_to_text</b> · Obrigatório: actual matching-format audio file</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_types</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>application/json, multipart/form-data</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_audio</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>audio</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>JSON_audio</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>bytes reais de áudio bruto em base64 e formato correspondente</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>multipart_required</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>model, file</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>multipart_cap_bytes</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>26214400</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>optional_controls</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>language, temperature, response_format, timestamp_granularities, provider</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>default_response_format</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>json</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>optional_features</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>A saída detalhada, diarize/keyterms e o áudio por URL ou áudio incorporado de maior dimensão exigem a capacidade e o tarifário exatos do modelo/fornecedor.</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\">Utilize o modelo exato e os campos de entrada documentados.</p><p class=\"note-s\">Conserve a resposta completa, todos os resultados reais e os IDs originais devolvidos.</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>Ultra</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 segundo de áudio de entrada</td><td data-cell-label=\"Custo\"><span class=\"card-cell-label\">Custo</span><div><span>Entrada · segundo de áudio de entrada</span> <b>$0.000015</b> <span class=\"price-unit\">por segundo de áudio de entrada</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. <a href=\"/docs/pt-pt/billing/reserve/\">Como funcionam a reserva e a liquidação →</a></p><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>OpenAI: Whisper Large V3</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>OpenAI: Whisper Large V3 · 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 · Segundos de áudio de entrada</span> <b>0,000015 US$</b> <span class=\"price-unit\">por segundo de áudio de entrada</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Exemplos de pedidos</h3><h4>Ailoot Ultra · Reconhecimento 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-2185-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2185-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · corpo nativo exato e resultado completo</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copiar código\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2185-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2185-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual WAV recording}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4]==b&#39;RIFF&#39; and audio[8:12]==b&#39;WAVE&#39;): raise SystemExit(&#39;Supply an actual WAV audio file&#39;)\nif len(audio)&gt;26214400: raise SystemExit(&#39;Use a documented supported large-file flow&#39;)\nrequest={&#39;model&#39;: &#39;openai/whisper-large-v3&#39;, &#39;input_audio&#39;: {&#39;data&#39;: &#39;${BASE64_ACTUAL_WAV_BYTES}&#39;, &#39;format&#39;: &#39;wav&#39;}}\nrequest[&#39;input_audio&#39;][&#39;data&#39;]=base64.b64encode(audio).decode(&#39;ascii&#39;)\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\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 response.bin\n# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\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 · Reconhecimento de voz</h4><p class=\"note-s\">json</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><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\">JSON original completo, todo o texto/segmentos/palavras/intervenientes/marcas temporais disponíveis e a utilização.</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 operation_id/X-Client-Request-ID originais e a resposta original. Consulte os registos reais de tarefas/recursos pertencentes ao utilizador sem voltar a enviar; não é construído qualquer URL específico de consulta periódica de á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\">text</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>object</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">segments[]</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>object</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">words[]</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>object</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=openai%2Fwhisper-large-v3&amp;route=Ultra&amp;caller=openai%2Fwhisper-large-v3&amp;fmt=transcriptions\"><code>openai/whisper-large-v3</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=openai%2Fwhisper-large-v3&amp;route=Ultra&amp;caller=openai%2Fwhisper-large-v3&amp;fmt=transcriptions\"><code>openai/whisper-large-v3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/whisper-large-v3",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/whisper-large-v3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fwhisper-large-v3",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "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": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Conserve operation_id/X-Client-Request-ID originais e a resposta original. Consulte os registos reais de tarefas/recursos pertencentes ao utilizador sem voltar a enviar; não é construído qualquer URL específico de consulta periódica de áudio."
            },
            "material_combinations": [
              {
                "content_types": [
                  "application/json",
                  "multipart/form-data"
                ],
                "mode": "speech_to_text",
                "required": [
                  "actual matching-format audio file"
                ]
              }
            ],
            "outputs": {
              "all_results": "JSON original completo, todo o texto/segmentos/palavras/intervenientes/marcas temporais disponíveis e a utilização.",
              "family": "transcription",
              "fields": [
                {
                  "name": "text",
                  "type": "string"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "segments[]",
                  "optional": true,
                  "type": "object"
                },
                {
                  "name": "words[]",
                  "optional": true,
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "enum": [
                  "openai/whisper-large-v3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "data_encoding": "base64 raw actual audio bytes, not data URI",
                "fields": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "ISO-639-1 code; omitted means auto-detection",
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "retained_official_STTRequest",
                "default": "json",
                "default_known": true,
                "description": "verbose_json requires exact model/provider support",
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Only used with supported verbose_json",
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "enum": [
                        "wav",
                        "mp3",
                        "flac",
                        "m4a",
                        "ogg",
                        "webm",
                        "aac"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "language": {
                  "description": "ISO-639-1 code; omitted means auto-detection",
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "openai/whisper-large-v3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "json",
                  "description": "verbose_json requires exact model/provider support",
                  "enum": [
                    "json",
                    "verbose_json"
                  ],
                  "type": "string"
                },
                "temperature": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "timestamp_granularities": {
                  "description": "Only used with supported verbose_json",
                  "items": {
                    "enum": [
                      "segment",
                      "word"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/whisper-large-v3"
              },
              "content_type": "application/json"
            }
          },
          "hints": [
            "Utilize o modelo exato e os campos de entrada documentados.",
            "Conserve a resposta completa, todos os resultados reais e os IDs originais devolvidos."
          ],
          "input": {
            "JSON_audio": "bytes reais de áudio bruto em base64 e formato correspondente",
            "content_types": [
              "application/json",
              "multipart/form-data"
            ],
            "default_response_format": "json",
            "material_types": [
              "audio"
            ],
            "multipart_cap_bytes": 26214400,
            "multipart_required": [
              "model",
              "file"
            ],
            "optional_controls": [
              "language",
              "temperature",
              "response_format",
              "timestamp_granularities",
              "provider"
            ],
            "optional_features": "A saída detalhada, diarize/keyterms e o áudio por URL ou áudio incorporado de maior dimensão exigem a capacidade e o tarifário exatos do modelo/fornecedor.",
            "required": [
              "model",
              "input_audio"
            ]
          },
          "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 and original response. Read actual owned task/asset records without resubmitting; no dedicated audio poll URL is constructed."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "family": "transcription",
            "format": "json"
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input second",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual WAV recording}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')\nif len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')\nrequest={'model': 'openai/whisper-large-v3', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}\nrequest['input_audio']['data']=base64.b64encode(audio).decode('ascii')\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact model and documented input fields.",
          "Keep the complete response, every actual output and original returned IDs."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "transcription"
        ],
        "path": "/v1/audio/transcriptions",
        "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_second": 1.5e-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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input second",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "openai/whisper-large-v3",
        "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.000015",
            "amount_unit": "usd_per_audio_input_second",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "audio input second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per audio input second",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "openai/whisper-large-v3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "22dd0f694a01afcb4d62da96800f89b1f6dcbbf0c9812c9a7ac9c27d599097f7",
    "input_html_sha256": "fdf48ec59fca3863e11fac2ba2ac28aabd6b1f5ffe183a4b22329aa45a2c2a46",
    "private_audit_sha256": "846c4d96c4f9879e4a487e49cdb5f72c70055b486262a45ed7ed5e1aef4fa77c",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/pt-pt/openai-whisper-large-v3/",
    "description": "Whisper large-v3 é o checkpoint multilingue da OpenAI com pesos abertos para reconhecimento de fala, transcrição e tradução de fala para inglês. Converte fala gravada em texto, com seleção de idioma, marcas temporais e processamento de gravações longas para além da sua janela acústica de 30 segundos, conforme documentado.",
    "locale": "pt-pt",
    "md_url": "https://ailoot.ai/models/pt-pt/openai-whisper-large-v3/index.md",
    "title": "OpenAI: Whisper Large V3 — Ailoot",
    "url": "https://ailoot.ai/models/pt-pt/openai-whisper-large-v3/"
  },
  "rawModel": {
    "about": "Whisper large-v3 é um checkpoint de reconhecimento de fala publicado pela OpenAI, com aproximadamente 1,55 mil milhões de parâmetros. É um modelo multilingue com codificador e descodificador: o áudio entra no codificador e o descodificador prevê texto e tokens relacionados com a tarefa. As principais tarefas são a transcrição da fala no idioma de origem e a tradução da fala para inglês. Trata-se da identidade de um modelo com pesos abertos, distinta do identificador de modelo de um serviço alojado ou das regras desse serviço para carregamentos e formatos de resposta.\n\nO large-v3 mantém a arquitetura dos checkpoints Whisper large anteriores, com duas alterações declaradas: a entrada do espectrograma usa 128 bandas de frequência Mel em vez de 80, e acrescenta um token de idioma cantonês. A ficha do modelo do produtor descreve um treino com um milhão de horas de áudio com rótulos de supervisão fraca e quatro milhões de horas de áudio com pseudorrótulos preparados com Whisper large-v2. Esta mistura foi usada durante duas épocas de treino. A versão publicada é um checkpoint large-v3 específico, e não um nome genérico para todos os modelos da família Whisper.\n\nO fluxo de inferência documentado realiza transcrição por predefinição, preservando o idioma falado na gravação. Pode detetar automaticamente o idioma de origem ou aceitar a seleção de um idioma conhecido. Para tradução, o modelo large multilingue fornece um resultado textual em inglês a partir de fala noutro idioma. Escolha explicitamente essa tarefa: uma transcrição no mesmo idioma e uma tradução para inglês são artefactos diferentes. Numa entrevista, mantenha a redação no idioma original; num documento de referência em inglês, especifique que o resultado pretendido é uma tradução do conteúdo falado.\n\nA preparação do áudio faz parte do percurso de entrada. O carregador da OpenAI descodifica a gravação para uma forma de onda mono e reamostra-a a 16 kHz. O campo recetivo acústico do modelo é de 30 segundos. Trata-se de uma janela de processamento, e não de uma duração máxima para uma entrevista ou aula inteira. A inferência de gravações longas pode avançar sequencialmente por janelas deslizantes ou dividir uma gravação longa em blocos sobrepostos e juntar as respetivas transcrições. A ficha do modelo do produtor descreve o processamento sequencial quando a prioridade é a precisão e o processamento por blocos quando é mais importante obter rapidamente o resultado de uma única gravação longa.\n\nA configuração publicada indica 448 posições do descodificador para uma sequência de descodificação individual. As gravações mais longas são tratadas pelo processo para gravações longas, em vez de se considerar esse número um limite universal de transcrição. O fluxo documentado pode devolver marcas temporais ao nível do segmento ou da palavra junto do texto reconhecido. Estas informações temporais são úteis para navegar nas gravações e preparar legendas, enquanto o contentor final de legendas ou o formato do ficheiro de transcrição constitui uma escolha separada de formatação da saída. Preserve a temporização da gravação ao preparar o áudio se a transcrição for alinhada com o material original.\n\nA função prevista do Whisper é reconhecer e traduzir fala. A transcrição de uma aula, o registo de uma entrevista ou uma coleção pesquisável de material falado são resultados práticos; o resumo ou a interpretação podem seguir-se como outro passo sobre o texto. A ficha do modelo não estabelece a classificação automática robusta de locutores nem a diarização como saída padrão do checkpoint de base. Se uma tarefa precisar de etiquetas de locutor, esse requisito deve ser tratado separadamente de uma afirmação de transcrição precisa. Um pedido bem definido identifica o idioma de origem, se é necessária transcrição ou tradução para inglês e se são exigidas informações temporais.\n\nEntre as limitações importantes encontram-se texto inventado que nunca foi pronunciado e texto repetitivo, associados ao treino com supervisão fraca em dados ruidosos e à arquitetura de sequência para sequência. A qualidade do reconhecimento varia entre idiomas, sotaques e dialetos, com resultados mais fracos onde existe menos material de treino. Por isso, o ruído, o vocabulário especializado e a fala sobreposta devem estar representados na amostra usada para avaliar a adequação. Compare nomes, quantidades e afirmações importantes com a gravação e inspecione os trechos sem fala ou as linhas repetidas, em vez de tratar uma transcrição fluente como prova de que todas as palavras foram ouvidas.\n\nUm resultado completo conserva o texto reconhecido, o seu idioma e quaisquer informações temporais pedidas, com uma referência à gravação original. Mantenha a transcrição separada da edição posterior: uma transcrição corrigida para publicação pode remover expressões de preenchimento, enquanto a transcrição reconhecida preserva o que o modelo efetivamente devolveu. A identidade do large-v3 e a sua capacidade de tradução devem também manter-se separadas da edição Turbo, mais rápida. A velocidade real de processamento depende do idioma, da velocidade de fala, do hardware e do método de inferência; o nome do checkpoint, por si só, não implica uma determinada latência de serviço alojado, um tamanho máximo de carregamento ou uma rota de aplicação ativa.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "available": null,
    "canonical_model": "openai/whisper-large-v3",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.000015",
            "amount_unit": "usd_per_audio_input_second",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "audio input second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per audio input second",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "Todas as tarifas da configuração constam dos detalhes."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "ee57dbbfe5ae56bdd0d7",
        "label": "OpenAI: Whisper Large V3",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Configuração predefinida"
            },
            "label": "OpenAI: Whisper Large V3 · Configuração predefinida",
            "units": [
              {
                "amount": "0.0000150",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "e474c121b23c5635611dfde4",
                "label": "Input audio seconds",
                "public_unit_label": "per input audio second",
                "quantity": "1",
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "input_audio_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "transcriptions"
    ],
    "id": "openai/whisper-large-v3",
    "input": [
      "audio"
    ],
    "kind": "transcription",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "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": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Conserve operation_id/X-Client-Request-ID originais e a resposta original. Consulte os registos reais de tarefas/recursos pertencentes ao utilizador sem voltar a enviar; não é construído qualquer URL específico de consulta periódica de áudio."
            },
            "material_combinations": [
              {
                "content_types": [
                  "application/json",
                  "multipart/form-data"
                ],
                "mode": "speech_to_text",
                "required": [
                  "actual matching-format audio file"
                ]
              }
            ],
            "outputs": {
              "all_results": "JSON original completo, todo o texto/segmentos/palavras/intervenientes/marcas temporais disponíveis e a utilização.",
              "family": "transcription",
              "fields": [
                {
                  "name": "text",
                  "type": "string"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "segments[]",
                  "optional": true,
                  "type": "object"
                },
                {
                  "name": "words[]",
                  "optional": true,
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "enum": [
                  "openai/whisper-large-v3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "data_encoding": "base64 raw actual audio bytes, not data URI",
                "fields": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "ISO-639-1 code; omitted means auto-detection",
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "retained_official_STTRequest",
                "default": "json",
                "default_known": true,
                "description": "verbose_json requires exact model/provider support",
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Only used with supported verbose_json",
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "enum": [
                        "wav",
                        "mp3",
                        "flac",
                        "m4a",
                        "ogg",
                        "webm",
                        "aac"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "language": {
                  "description": "ISO-639-1 code; omitted means auto-detection",
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "openai/whisper-large-v3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "json",
                  "description": "verbose_json requires exact model/provider support",
                  "enum": [
                    "json",
                    "verbose_json"
                  ],
                  "type": "string"
                },
                "temperature": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "timestamp_granularities": {
                  "description": "Only used with supported verbose_json",
                  "items": {
                    "enum": [
                      "segment",
                      "word"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/whisper-large-v3"
              },
              "content_type": "application/json"
            }
          },
          "hints": [
            "Utilize o modelo exato e os campos de entrada documentados.",
            "Conserve a resposta completa, todos os resultados reais e os IDs originais devolvidos."
          ],
          "input": {
            "JSON_audio": "bytes reais de áudio bruto em base64 e formato correspondente",
            "content_types": [
              "application/json",
              "multipart/form-data"
            ],
            "default_response_format": "json",
            "material_types": [
              "audio"
            ],
            "multipart_cap_bytes": 26214400,
            "multipart_required": [
              "model",
              "file"
            ],
            "optional_controls": [
              "language",
              "temperature",
              "response_format",
              "timestamp_granularities",
              "provider"
            ],
            "optional_features": "A saída detalhada, diarize/keyterms e o áudio por URL ou áudio incorporado de maior dimensão exigem a capacidade e o tarifário exatos do modelo/fornecedor.",
            "required": [
              "model",
              "input_audio"
            ]
          },
          "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 and original response. Read actual owned task/asset records without resubmitting; no dedicated audio poll URL is constructed."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "family": "transcription",
            "format": "json"
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input second",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual WAV recording}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')\nif len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')\nrequest={'model': 'openai/whisper-large-v3', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}\nrequest['input_audio']['data']=base64.b64encode(audio).decode('ascii')\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact model and documented input fields.",
          "Keep the complete response, every actual output and original returned IDs."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "transcription"
        ],
        "path": "/v1/audio/transcriptions",
        "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_second": 1.5e-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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input second",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "openai/whisper-large-v3",
        "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.000015",
            "amount_unit": "usd_per_audio_input_second",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "audio input second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per audio input second",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "openai/whisper-large-v3",
        "request_model_id": "openai/whisper-large-v3",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: Whisper Large V3",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "hosted_reference"
        },
        "dimensions": {
          "variant": null
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000616666666666",
            "amount_unit": "usd_per_audio_input_second",
            "conditions": {
              "variant": null
            },
            "key": "pricing.prompt",
            "label": "prompt",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "audio_input_second"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_not_separately_charged_output",
            "conditions": {
              "variant": null
            },
            "key": "pricing.completion",
            "label": "completion",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "not_separately_charged_output"
          }
        ]
      }
    ],
    "public_id": "openai/whisper-large-v3",
    "short": "Whisper large-v3 é o checkpoint multilingue da OpenAI com pesos abertos para reconhecimento de fala, transcrição e tradução de fala para inglês. Converte fala gravada em texto, com seleção de idioma, marcas temporais e processamento de gravações longas para além da sua janela acústica de 30 segundos, conforme documentado."
  },
  "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": "Whisper large-v3 é o checkpoint multilingue da OpenAI com pesos abertos para reconhecimento de fala, transcrição e tradução de fala para inglês. Converte fala gravada em texto, com seleção de idioma, marcas temporais e processamento de gravações longas para além da sua janela acústica de 30 segundos, conforme documentado.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "dba0edb97b81a916e47786efb12d9cc69b25ceddafb61af319b24076dbd2e808",
    "renderer_sha256": "8caea4544177cc2b7d2cb3356b5f07bfd3660386d75f2714a6f603fa5e2a6cd2"
  },
  "sourceRevision": "5765df157a58a5ee8a32aef107d178fac0e1cfd375569d3752b2c952f6cfd77b"
}
