{
  "aboutHtml": "<p>GPT-4o Transcribe é o modelo de conversão de fala em texto da OpenAI baseado em GPT-4o. A entrada é áudio com orientações textuais facultativas, e a saída é texto reconhecido. É distinto da edição GPT-4o Mini Transcribe e de GPT-4o Transcribe Diarize, o modelo especializado em identificação de locutores. Utilize este perfil para preparar um registo textual fiel de material falado, mantendo a gravação de origem disponível para revisão e trabalho editorial posterior.</p><h4>Entrada de ficheiros e preparação de material longo</h4><p>O guia de transcrição da OpenAI documenta carregamentos até 25 MB. A referência atual do ponto de acesso aceita FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV e WebM e recomenda metadados de ficheiro que identifiquem o formato, incluindo um nome de ficheiro com extensão e um tipo de conteúdo adequado. Para uma gravação maior, compressão ou partes ordenadas de 25 MB ou menos seguem as orientações do fabricante para entradas mais longas. Evite dividir a meio de uma frase e conserve a posição de cada parte na gravação completa.</p><p>Para uma entrevista, associe cada ficheiro de entrada à gravação e ao excerto que cobre. Para uma apresentação técnica, prepare os nomes de produtos, siglas e vocabulário do domínio relevantes como contexto, depois verifique essas grafias face ao que o locutor efetivamente disse. Para uma explicação gravada com valores numéricos, reveja a transcrição juntamente com a origem antes de a transformar num procedimento escrito. O primeiro resultado pretendido é fala reconhecida em forma de texto; um relatório condensado ou documento traduzido pode ser preparado a partir desse texto numa etapa separada.</p><h4>Pedidos de texto específicos da gravação e escolha da língua</h4><p>O guia do fabricante inclui explicitamente GPT-4o Transcribe no suporte de pedidos de texto. Um pedido de texto pode fornecer grafias corretas, contexto de um segmento anterior e preferências de pontuação, maiúsculas, palavras de preenchimento ou sistema de escrita. A referência indica que deve corresponder à língua da gravação. Uma descrição curta e relevante do tema e vocabulário dá contexto útil à transcrição, sem tratar termos não pronunciados como saída obrigatória.</p><p>Este perfil suporta a indicação singular de língua language, documentada no formato ISO 639-1. Fornecer a língua efetiva de entrada pode ajudar o reconhecimento. Os campos mais recentes keywords e languages no plural de GPT Transcribe pertencem a esse modelo denominado separadamente e não devem ser presumidos para GPT-4o Transcribe. Mantenha a definição da língua ligada à fala que está a transcrever e preserve a redação original antes de qualquer tradução ou reescrita estilística posterior.</p><h4>Formato do resultado, probabilidades e saídas especializadas</h4><p>A referência atual do ponto de acesso documenta JSON como formato de resposta suportado de GPT-4o Transcribe. O resultado contém texto reconhecido, e logaritmos facultativos das probabilidades dos tokens podem ser pedidos com esse formato JSON. Os dados de probabilidade descrevem a seleção de tokens pelo modelo. Podem indicar os excertos que merecem exame, mas uma comparação com o áudio estabelece se a transcrição reproduz um nome, número ou frase difíceis.</p><p>O resultado JSON do perfil padrão não fornece formatos nativos de legendas, tempos detalhados por palavra ou atribuições de locutor. A OpenAI documenta outras escolhas de modelo e formato quando essas saídas são necessárias; GPT-4o Transcribe Diarize é a edição distinta de identificação de locutores. Para uma tarefa de legendagem, mantenha uma transcrição verificada para uma etapa adequada de sincronização. Para uma conversa, não invente nomes de locutores apenas porque um parágrafo da transcrição parece mudar de tema ou de voz.</p><h4>Resultados em streaming de um ficheiro concluído</h4><p>O guia da OpenAI de conversão de fala em texto indica que as integrações GPT-4o Transcribe existentes suportam streaming de ficheiros. A aplicação fornece primeiro a gravação, depois recebe texto de transcrição à medida que essa gravação é processada e conserva o resultado concluído. Isto transmite a transcrição de uma gravação concluída, em vez de aceitar áudio do microfone à medida que chega. A ficha exata do modelo enumera também as famílias de pontos de acesso de transcrição e Realtime; o comportamento de sessão específico do modelo deve permanecer associado a este perfil, em vez de ser importado de um modelo mais recente com streaming contínuo.</p><h4>Limites do modelo e verificação do resultado final</h4><p>A especificação atual de GPT-4o Transcribe indica uma janela de contexto de 16 000 tokens, uma saída máxima de 2 000 tokens e conhecimentos atualizados até 1 de junho de 2024. Esses limites de tokens não são uma duração fixa de áudio nem substituem as regras de preparação da transcrição de ficheiros. Para uma gravação extensa, mantenha a ordem da origem e o contexto anterior relevante, depois verifique se o texto concluído chega ao fim de cada segmento pretendido.</p><p>Uma transcrição final útil pode tornar-se material de entrevista pesquisável, uma origem para documentação técnica ou o texto de um processo posterior de legendagem. Reveja vocabulário incerto, quantidades, pontuação, sotaques e fala sobreposta face à gravação. Mantenha o texto reconhecido distinto de correções ou resumos posteriores e conserve a ligação à origem através de identificadores no processo de trabalho envolvente. O modelo fornece um registo textual; uma preparação cuidada da entrada e a revisão da origem determinam se esse registo é adequado à utilização seguinte.</p>",
  "aboutText": "GPT-4o Transcribe é o modelo de conversão de fala em texto da OpenAI baseado em GPT-4o. A entrada é áudio com orientações textuais facultativas, e a saída é texto reconhecido. É distinto da edição GPT-4o Mini Transcribe e de GPT-4o Transcribe Diarize, o modelo especializado em identificação de locutores. Utilize este perfil para preparar um registo textual fiel de material falado, mantendo a gravação de origem disponível para revisão e trabalho editorial posterior.\n\n### Entrada de ficheiros e preparação de material longo\n\nO guia de transcrição da OpenAI documenta carregamentos até 25 MB. A referência atual do ponto de acesso aceita FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV e WebM e recomenda metadados de ficheiro que identifiquem o formato, incluindo um nome de ficheiro com extensão e um tipo de conteúdo adequado. Para uma gravação maior, compressão ou partes ordenadas de 25 MB ou menos seguem as orientações do fabricante para entradas mais longas. Evite dividir a meio de uma frase e conserve a posição de cada parte na gravação completa.\n\nPara uma entrevista, associe cada ficheiro de entrada à gravação e ao excerto que cobre. Para uma apresentação técnica, prepare os nomes de produtos, siglas e vocabulário do domínio relevantes como contexto, depois verifique essas grafias face ao que o locutor efetivamente disse. Para uma explicação gravada com valores numéricos, reveja a transcrição juntamente com a origem antes de a transformar num procedimento escrito. O primeiro resultado pretendido é fala reconhecida em forma de texto; um relatório condensado ou documento traduzido pode ser preparado a partir desse texto numa etapa separada.\n\n### Pedidos de texto específicos da gravação e escolha da língua\n\nO guia do fabricante inclui explicitamente GPT-4o Transcribe no suporte de pedidos de texto. Um pedido de texto pode fornecer grafias corretas, contexto de um segmento anterior e preferências de pontuação, maiúsculas, palavras de preenchimento ou sistema de escrita. A referência indica que deve corresponder à língua da gravação. Uma descrição curta e relevante do tema e vocabulário dá contexto útil à transcrição, sem tratar termos não pronunciados como saída obrigatória.\n\nEste perfil suporta a indicação singular de língua language, documentada no formato ISO 639-1. Fornecer a língua efetiva de entrada pode ajudar o reconhecimento. Os campos mais recentes keywords e languages no plural de GPT Transcribe pertencem a esse modelo denominado separadamente e não devem ser presumidos para GPT-4o Transcribe. Mantenha a definição da língua ligada à fala que está a transcrever e preserve a redação original antes de qualquer tradução ou reescrita estilística posterior.\n\n### Formato do resultado, probabilidades e saídas especializadas\n\nA referência atual do ponto de acesso documenta JSON como formato de resposta suportado de GPT-4o Transcribe. O resultado contém texto reconhecido, e logaritmos facultativos das probabilidades dos tokens podem ser pedidos com esse formato JSON. Os dados de probabilidade descrevem a seleção de tokens pelo modelo. Podem indicar os excertos que merecem exame, mas uma comparação com o áudio estabelece se a transcrição reproduz um nome, número ou frase difíceis.\n\nO resultado JSON do perfil padrão não fornece formatos nativos de legendas, tempos detalhados por palavra ou atribuições de locutor. A OpenAI documenta outras escolhas de modelo e formato quando essas saídas são necessárias; GPT-4o Transcribe Diarize é a edição distinta de identificação de locutores. Para uma tarefa de legendagem, mantenha uma transcrição verificada para uma etapa adequada de sincronização. Para uma conversa, não invente nomes de locutores apenas porque um parágrafo da transcrição parece mudar de tema ou de voz.\n\n### Resultados em streaming de um ficheiro concluído\n\nO guia da OpenAI de conversão de fala em texto indica que as integrações GPT-4o Transcribe existentes suportam streaming de ficheiros. A aplicação fornece primeiro a gravação, depois recebe texto de transcrição à medida que essa gravação é processada e conserva o resultado concluído. Isto transmite a transcrição de uma gravação concluída, em vez de aceitar áudio do microfone à medida que chega. A ficha exata do modelo enumera também as famílias de pontos de acesso de transcrição e Realtime; o comportamento de sessão específico do modelo deve permanecer associado a este perfil, em vez de ser importado de um modelo mais recente com streaming contínuo.\n\n### Limites do modelo e verificação do resultado final\n\nA especificação atual de GPT-4o Transcribe indica uma janela de contexto de 16 000 tokens, uma saída máxima de 2 000 tokens e conhecimentos atualizados até 1 de junho de 2024. Esses limites de tokens não são uma duração fixa de áudio nem substituem as regras de preparação da transcrição de ficheiros. Para uma gravação extensa, mantenha a ordem da origem e o contexto anterior relevante, depois verifique se o texto concluído chega ao fim de cada segmento pretendido.\n\nUma transcrição final útil pode tornar-se material de entrevista pesquisável, uma origem para documentação técnica ou o texto de um processo posterior de legendagem. Reveja vocabulário incerto, quantidades, pontuação, sotaques e fala sobreposta face à gravação. Mantenha o texto reconhecido distinto de correções ou resumos posteriores e conserve a ligação à origem através de identificadores no processo de trabalho envolvente. O modelo fornece um registo textual; uma preparação cuidada da entrada e a revisão da origem determinam se esse registo é adequado à utilização seguinte.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "0748c3fd567aee4ecbde4bb385b11ddfd1b6a44ff1295a065e4d80b5865cc5c8",
    "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: GPT-4o Transcribe</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Fechar\">×</button></div><div class=\"idline\"><span>OpenAI /</span><code>openai/gpt-4o-transcribe</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%2Fgpt-4o-transcribe\">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\">GPT-4o Transcribe converte áudio em texto através das capacidades de reconhecimento de fala de GPT-4o da OpenAI. Suporta pedidos de texto contextuais, uma indicação da língua de entrada, transcrições JSON, saída de ficheiros em streaming e logaritmos facultativos das probabilidades dos tokens para rever formulações incertas.</p><dl class=\"card-io\" data-card-io><div><dt>Entradas aceites</dt><dd>Áudio</dd></div><div><dt>Resultados</dt><dd>Texto</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>GPT-4o Transcribe é o modelo de conversão de fala em texto da OpenAI baseado em GPT-4o. A entrada é áudio com orientações textuais facultativas, e a saída é texto reconhecido. É distinto da edição GPT-4o Mini Transcribe e de GPT-4o Transcribe Diarize, o modelo especializado em identificação de locutores. Utilize este perfil para preparar um registo textual fiel de material falado, mantendo a gravação de origem disponível para revisão e trabalho editorial posterior.</p><h4>Entrada de ficheiros e preparação de material longo</h4><p>O guia de transcrição da OpenAI documenta carregamentos até 25 MB. A referência atual do ponto de acesso aceita FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV e WebM e recomenda metadados de ficheiro que identifiquem o formato, incluindo um nome de ficheiro com extensão e um tipo de conteúdo adequado. Para uma gravação maior, compressão ou partes ordenadas de 25 MB ou menos seguem as orientações do fabricante para entradas mais longas. Evite dividir a meio de uma frase e conserve a posição de cada parte na gravação completa.</p><p>Para uma entrevista, associe cada ficheiro de entrada à gravação e ao excerto que cobre. Para uma apresentação técnica, prepare os nomes de produtos, siglas e vocabulário do domínio relevantes como contexto, depois verifique essas grafias face ao que o locutor efetivamente disse. Para uma explicação gravada com valores numéricos, reveja a transcrição juntamente com a origem antes de a transformar num procedimento escrito. O primeiro resultado pretendido é fala reconhecida em forma de texto; um relatório condensado ou documento traduzido pode ser preparado a partir desse texto numa etapa separada.</p><h4>Pedidos de texto específicos da gravação e escolha da língua</h4><p>O guia do fabricante inclui explicitamente GPT-4o Transcribe no suporte de pedidos de texto. Um pedido de texto pode fornecer grafias corretas, contexto de um segmento anterior e preferências de pontuação, maiúsculas, palavras de preenchimento ou sistema de escrita. A referência indica que deve corresponder à língua da gravação. Uma descrição curta e relevante do tema e vocabulário dá contexto útil à transcrição, sem tratar termos não pronunciados como saída obrigatória.</p><p>Este perfil suporta a indicação singular de língua language, documentada no formato ISO 639-1. Fornecer a língua efetiva de entrada pode ajudar o reconhecimento. Os campos mais recentes keywords e languages no plural de GPT Transcribe pertencem a esse modelo denominado separadamente e não devem ser presumidos para GPT-4o Transcribe. Mantenha a definição da língua ligada à fala que está a transcrever e preserve a redação original antes de qualquer tradução ou reescrita estilística posterior.</p><h4>Formato do resultado, probabilidades e saídas especializadas</h4><p>A referência atual do ponto de acesso documenta JSON como formato de resposta suportado de GPT-4o Transcribe. O resultado contém texto reconhecido, e logaritmos facultativos das probabilidades dos tokens podem ser pedidos com esse formato JSON. Os dados de probabilidade descrevem a seleção de tokens pelo modelo. Podem indicar os excertos que merecem exame, mas uma comparação com o áudio estabelece se a transcrição reproduz um nome, número ou frase difíceis.</p><p>O resultado JSON do perfil padrão não fornece formatos nativos de legendas, tempos detalhados por palavra ou atribuições de locutor. A OpenAI documenta outras escolhas de modelo e formato quando essas saídas são necessárias; GPT-4o Transcribe Diarize é a edição distinta de identificação de locutores. Para uma tarefa de legendagem, mantenha uma transcrição verificada para uma etapa adequada de sincronização. Para uma conversa, não invente nomes de locutores apenas porque um parágrafo da transcrição parece mudar de tema ou de voz.</p><h4>Resultados em streaming de um ficheiro concluído</h4><p>O guia da OpenAI de conversão de fala em texto indica que as integrações GPT-4o Transcribe existentes suportam streaming de ficheiros. A aplicação fornece primeiro a gravação, depois recebe texto de transcrição à medida que essa gravação é processada e conserva o resultado concluído. Isto transmite a transcrição de uma gravação concluída, em vez de aceitar áudio do microfone à medida que chega. A ficha exata do modelo enumera também as famílias de pontos de acesso de transcrição e Realtime; o comportamento de sessão específico do modelo deve permanecer associado a este perfil, em vez de ser importado de um modelo mais recente com streaming contínuo.</p><h4>Limites do modelo e verificação do resultado final</h4><p>A especificação atual de GPT-4o Transcribe indica uma janela de contexto de 16 000 tokens, uma saída máxima de 2 000 tokens e conhecimentos atualizados até 1 de junho de 2024. Esses limites de tokens não são uma duração fixa de áudio nem substituem as regras de preparação da transcrição de ficheiros. Para uma gravação extensa, mantenha a ordem da origem e o contexto anterior relevante, depois verifique se o texto concluído chega ao fim de cada segmento pretendido.</p><p>Uma transcrição final útil pode tornar-se material de entrevista pesquisável, uma origem para documentação técnica ou o texto de um processo posterior de legendagem. Reveja vocabulário incerto, quantidades, pontuação, sotaques e fala sobreposta face à gravação. Mantenha o texto reconhecido distinto de correções ou resumos posteriores e conserve a ligação à origem através de identificadores no processo de trabalho envolvente. O modelo fornece um registo textual; uma preparação cuidada da entrada e a revisão da origem determinam se esse registo é adequado à utilização seguinte.</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 · Transcrição</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>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Campo</th><th>Tipo</th><th>Requisito</th><th>Valores e limites</th><th>Predefinição</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obrigatório</td><td data-cell-label=\"Valores e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>openai/gpt-4o-transcribe</div></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">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></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parâmetros e ciclo de vida do método</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parâmetro</th><th>Contrato</th></tr></thead><tbody><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>content_type</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>application/json</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>required</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>model, 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>material_conditions</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>O exemplo lê o seu ficheiro PCM WAV real e não vazio, codifica todos os bytes do ficheiro em base64 e envia input_audio.format como wav.</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 exato de um registo multimédia existente pertencente ao utilizador</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></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>token de entrada</th><td data-cell-label=\"Tabela de tarifas\"><span class=\"card-cell-label\">Tabela de tarifas</span>—</td><td data-cell-label=\"Unidade de faturação\"><span class=\"card-cell-label\">Unidade de faturação</span>/ 1K tokens</td><td data-cell-label=\"Custo\"><span class=\"card-cell-label\">Custo</span><div><span>Entrada</span> <b>$0.005</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>token de saída</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>/ 1K tokens</td><td data-cell-label=\"Custo\"><span class=\"card-cell-label\">Custo</span><div><span>Saída</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. <a href=\"/docs/pt-pt/billing/reserve/\">Como funcionam a reserva e a liquidação →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Exemplos de pedidos</h3><h4>Ailoot Ultra · Transcrição</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-2049-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2049-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · ficheiro WAV real e resultado original 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-2049-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2049-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 PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\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;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;openai/gpt-4o-transcribe&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#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# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\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 · Transcrição</h4><p class=\"note-s\">Corpo completo da resposta original, estado e cabeçalhos encaminhados. Este processador não adiciona qualquer estrutura JSON universal, campo de texto ou estrutura envolvente de tarefa.</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\">Conserve a resposta completa e os cabeçalhos, todos os resultados efetivamente produzidos, os identificadores originais devolvidos e todos os campos de utilização. Recupere a operação original sem voltar a enviar o pedido de criaçã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 o X-Client-Request-ID real e a resposta completa. Consulte os recursos originais pertencentes ao utilizador e os respetivos URLs assinados exatos de conteúdo; nunca volte a enviar uma criação incerta.</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 (when present)</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span></td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Erros e passos seguintes</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Resposta</th><th>Condição</th><th>Passo seguinte</th></tr></thead><tbody><tr><th data-cell-label=\"Resposta\" scope=\"row\"><span class=\"card-cell-label\">Resposta</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Condição\"><span class=\"card-cell-label\">Condição</span>O corpo JSON ou o ID canónico explícito do modelo é inválido.</td><td data-cell-label=\"Passo seguinte\"><span class=\"card-cell-label\">Passo seguinte</span>Conserve a resposta e corrija o campo indicado no pedido.</td></tr><tr><th data-cell-label=\"Resposta\" scope=\"row\"><span class=\"card-cell-label\">Resposta</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Condição\"><span class=\"card-cell-label\">Condição</span>A chave API da Ailoot é inválida.</td><td data-cell-label=\"Passo seguinte\"><span class=\"card-cell-label\">Passo seguinte</span>Utilize a sua chave API autorizada da Ailoot.</td></tr><tr><th data-cell-label=\"Resposta\" scope=\"row\"><span class=\"card-cell-label\">Resposta</span>403 · <code>permission_error</code></th><td data-cell-label=\"Condição\"><span class=\"card-cell-label\">Condição</span>O grupo da chave não permite este método.</td><td data-cell-label=\"Passo seguinte\"><span class=\"card-cell-label\">Passo seguinte</span>Conserve os detalhes do erro devolvido.</td></tr><tr><th data-cell-label=\"Resposta\" scope=\"row\"><span class=\"card-cell-label\">Resposta</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Condição\"><span class=\"card-cell-label\">Condição</span>O método selecionado não tem uma rota autorizada.</td><td data-cell-label=\"Passo seguinte\"><span class=\"card-cell-label\">Passo seguinte</span>Conserve os detalhes do erro devolvido.</td></tr><tr><th data-cell-label=\"Resposta\" scope=\"row\"><span class=\"card-cell-label\">Resposta</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Condição\"><span class=\"card-cell-label\">Condição</span>O tarifário aceite não consegue obter a quantidade de entrada ou o limite de que necessita.</td><td data-cell-label=\"Passo seguinte\"><span class=\"card-cell-label\">Passo seguinte</span>Conserve a resposta; utilize a representação da entrada exigida pelo tarifário aceite.</td></tr><tr><th data-cell-label=\"Resposta\" scope=\"row\"><span class=\"card-cell-label\">Resposta</span>503 · <code></code></th><td data-cell-label=\"Condição\"><span class=\"card-cell-label\">Condição</span>O armazenamento, a rota, o preço do método ou a reserva de que necessita não está disponível.</td><td data-cell-label=\"Passo seguinte\"><span class=\"card-cell-label\">Passo seguinte</span>Conserve a resposta original completa. Uma reserva incerta não autoriza o reenvio.</td></tr><tr><th data-cell-label=\"Resposta\" scope=\"row\"><span class=\"card-cell-label\">Resposta</span>502 · <code>server_error</code></th><td data-cell-label=\"Condição\"><span class=\"card-cell-label\">Condição</span>O resultado, a utilização ou a liquidação original requer verificação.</td><td data-cell-label=\"Passo seguinte\"><span class=\"card-cell-label\">Passo seguinte</span>Conserve o ID real do pedido e a resposta original. Consulte o registo existente pertencente ao utilizador; não volte a enviar o pedido de criação.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliases</h3><h4>Aliases do modelo</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=openai%2Fgpt-4o-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-4o-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-4o-transcribe</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%2Fgpt-4o-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-4o-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-4o-transcribe</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/gpt-4o-transcribe",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/gpt-4o-transcribe",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fgpt-4o-transcribe",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "O corpo JSON ou o ID canónico explícito do modelo é inválido.",
                "http_status": 400,
                "recovery": "Conserve a resposta e corrija o campo indicado no pedido.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "A chave API da Ailoot é inválida.",
                "http_status": 401,
                "recovery": "Utilize a sua chave API autorizada da Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "O grupo da chave não permite este método.",
                "http_status": 403,
                "recovery": "Conserve os detalhes do erro devolvido.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "O método selecionado não tem uma rota autorizada.",
                "http_status": 404,
                "recovery": "Conserve os detalhes do erro devolvido.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "O tarifário aceite não consegue obter a quantidade de entrada ou o limite de que necessita.",
                "http_status": 422,
                "recovery": "Conserve a resposta; utilize a representação da entrada exigida pelo tarifário aceite.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "O armazenamento, a rota, o preço do método ou a reserva de que necessita não está disponível.",
                "http_status": 503,
                "recovery": "Conserve a resposta original completa. Uma reserva incerta não autoriza o reenvio.",
                "type": null
              },
              {
                "code": null,
                "condition": "O resultado, a utilização ou a liquidação original requer verificação.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Conserve o ID real do pedido e a resposta original. Consulte o registo existente pertencente ao utilizador; não volte a enviar o pedido de criação.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "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 content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Conserve o X-Client-Request-ID real e a resposta completa. Consulte os recursos originais pertencentes ao utilizador e os respetivos URLs assinados exatos de conteúdo; nunca volte a enviar uma criação incerta."
            },
            "outputs": {
              "all_results": "Conserve a resposta completa e os cabeçalhos, todos os resultados efetivamente produzidos, os identificadores originais devolvidos e todos os campos de utilização. Recupere a operação original sem voltar a enviar o pedido de criação.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Corpo completo da resposta original, estado e cabeçalhos encaminhados. Este processador não adiciona qualquer estrutura JSON universal, campo de texto ou estrutura envolvente de tarefa."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "openai/gpt-4o-transcribe"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "openai/gpt-4o-transcribe"
                  ],
                  "type": "string"
                }
              },
              "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/gpt-4o-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "O exemplo lê o seu ficheiro PCM WAV real e não vazio, codifica todos os bytes do ficheiro em base64 e envia input_audio.format como wav."
            ],
            "material_types": [
              "audio"
            ],
            "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 content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id exato de um registo multimédia existente pertencente ao utilizador",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.005000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000005",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.02000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00002",
                "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"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'openai/gpt-4o-transcribe', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\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# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Transcrição",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "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": {
            "input_token": 5e-06,
            "output_token": 2e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.005000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000005",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.02000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00002",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "openai/gpt-4o-transcribe",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "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.005000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000005",
            "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": "0.02000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00002",
            "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"
          }
        ]
      }
    }
  ],
  "model_id": "openai/gpt-4o-transcribe",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "a277d9f846c7b0292372f6f12790e4136f87b4998c7a833b4a5ea7dd55f44560",
    "input_html_sha256": "8c8768cea8c49b1a0367784920b95479daf674481d48086e58ae3e768ee8b3b5",
    "private_audit_sha256": "7ca9768beb6a211628eb6a27c7f64385c7fd6d8d7eae779ec3a272097fa11af4",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/pt-pt/openai-gpt-4o-transcribe/",
    "description": "GPT-4o Transcribe converte áudio em texto através das capacidades de reconhecimento de fala de GPT-4o da OpenAI. Suporta pedidos de texto contextuais, uma indicação da língua de entrada, transcrições JSON, saída de ficheiros em streaming e logaritmos facultativos das probabilidades dos tokens para rever formulações incertas.",
    "locale": "pt-pt",
    "md_url": "https://ailoot.ai/models/pt-pt/openai-gpt-4o-transcribe/index.md",
    "title": "OpenAI: GPT-4o Transcribe — Ailoot",
    "url": "https://ailoot.ai/models/pt-pt/openai-gpt-4o-transcribe/"
  },
  "rawModel": {
    "about": "GPT-4o Transcribe é o modelo de conversão de fala em texto da OpenAI baseado em GPT-4o. A entrada é áudio com orientações textuais facultativas, e a saída é texto reconhecido. É distinto da edição GPT-4o Mini Transcribe e de GPT-4o Transcribe Diarize, o modelo especializado em identificação de locutores. Utilize este perfil para preparar um registo textual fiel de material falado, mantendo a gravação de origem disponível para revisão e trabalho editorial posterior.\n\n### Entrada de ficheiros e preparação de material longo\n\nO guia de transcrição da OpenAI documenta carregamentos até 25 MB. A referência atual do ponto de acesso aceita FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV e WebM e recomenda metadados de ficheiro que identifiquem o formato, incluindo um nome de ficheiro com extensão e um tipo de conteúdo adequado. Para uma gravação maior, compressão ou partes ordenadas de 25 MB ou menos seguem as orientações do fabricante para entradas mais longas. Evite dividir a meio de uma frase e conserve a posição de cada parte na gravação completa.\n\nPara uma entrevista, associe cada ficheiro de entrada à gravação e ao excerto que cobre. Para uma apresentação técnica, prepare os nomes de produtos, siglas e vocabulário do domínio relevantes como contexto, depois verifique essas grafias face ao que o locutor efetivamente disse. Para uma explicação gravada com valores numéricos, reveja a transcrição juntamente com a origem antes de a transformar num procedimento escrito. O primeiro resultado pretendido é fala reconhecida em forma de texto; um relatório condensado ou documento traduzido pode ser preparado a partir desse texto numa etapa separada.\n\n### Pedidos de texto específicos da gravação e escolha da língua\n\nO guia do fabricante inclui explicitamente GPT-4o Transcribe no suporte de pedidos de texto. Um pedido de texto pode fornecer grafias corretas, contexto de um segmento anterior e preferências de pontuação, maiúsculas, palavras de preenchimento ou sistema de escrita. A referência indica que deve corresponder à língua da gravação. Uma descrição curta e relevante do tema e vocabulário dá contexto útil à transcrição, sem tratar termos não pronunciados como saída obrigatória.\n\nEste perfil suporta a indicação singular de língua language, documentada no formato ISO 639-1. Fornecer a língua efetiva de entrada pode ajudar o reconhecimento. Os campos mais recentes keywords e languages no plural de GPT Transcribe pertencem a esse modelo denominado separadamente e não devem ser presumidos para GPT-4o Transcribe. Mantenha a definição da língua ligada à fala que está a transcrever e preserve a redação original antes de qualquer tradução ou reescrita estilística posterior.\n\n### Formato do resultado, probabilidades e saídas especializadas\n\nA referência atual do ponto de acesso documenta JSON como formato de resposta suportado de GPT-4o Transcribe. O resultado contém texto reconhecido, e logaritmos facultativos das probabilidades dos tokens podem ser pedidos com esse formato JSON. Os dados de probabilidade descrevem a seleção de tokens pelo modelo. Podem indicar os excertos que merecem exame, mas uma comparação com o áudio estabelece se a transcrição reproduz um nome, número ou frase difíceis.\n\nO resultado JSON do perfil padrão não fornece formatos nativos de legendas, tempos detalhados por palavra ou atribuições de locutor. A OpenAI documenta outras escolhas de modelo e formato quando essas saídas são necessárias; GPT-4o Transcribe Diarize é a edição distinta de identificação de locutores. Para uma tarefa de legendagem, mantenha uma transcrição verificada para uma etapa adequada de sincronização. Para uma conversa, não invente nomes de locutores apenas porque um parágrafo da transcrição parece mudar de tema ou de voz.\n\n### Resultados em streaming de um ficheiro concluído\n\nO guia da OpenAI de conversão de fala em texto indica que as integrações GPT-4o Transcribe existentes suportam streaming de ficheiros. A aplicação fornece primeiro a gravação, depois recebe texto de transcrição à medida que essa gravação é processada e conserva o resultado concluído. Isto transmite a transcrição de uma gravação concluída, em vez de aceitar áudio do microfone à medida que chega. A ficha exata do modelo enumera também as famílias de pontos de acesso de transcrição e Realtime; o comportamento de sessão específico do modelo deve permanecer associado a este perfil, em vez de ser importado de um modelo mais recente com streaming contínuo.\n\n### Limites do modelo e verificação do resultado final\n\nA especificação atual de GPT-4o Transcribe indica uma janela de contexto de 16 000 tokens, uma saída máxima de 2 000 tokens e conhecimentos atualizados até 1 de junho de 2024. Esses limites de tokens não são uma duração fixa de áudio nem substituem as regras de preparação da transcrição de ficheiros. Para uma gravação extensa, mantenha a ordem da origem e o contexto anterior relevante, depois verifique se o texto concluído chega ao fim de cada segmento pretendido.\n\nUma transcrição final útil pode tornar-se material de entrevista pesquisável, uma origem para documentação técnica ou o texto de um processo posterior de legendagem. Reveja vocabulário incerto, quantidades, pontuação, sotaques e fala sobreposta face à gravação. Mantenha o texto reconhecido distinto de correções ou resumos posteriores e conserve a ligação à origem através de identificadores no processo de trabalho envolvente. O modelo fornece um registo textual; uma preparação cuidada da entrada e a revisão da origem determinam se esse registo é adequado à utilização seguinte.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "capabilities": {
      "context_length": 128000,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.005000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000005",
            "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": "0.02000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00002",
            "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"
          }
        ],
        "summary": "Todas as tarifas da configuração constam dos detalhes."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "openai/gpt-4o-transcribe",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "O corpo JSON ou o ID canónico explícito do modelo é inválido.",
                "http_status": 400,
                "recovery": "Conserve a resposta e corrija o campo indicado no pedido.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "A chave API da Ailoot é inválida.",
                "http_status": 401,
                "recovery": "Utilize a sua chave API autorizada da Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "O grupo da chave não permite este método.",
                "http_status": 403,
                "recovery": "Conserve os detalhes do erro devolvido.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "O método selecionado não tem uma rota autorizada.",
                "http_status": 404,
                "recovery": "Conserve os detalhes do erro devolvido.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "O tarifário aceite não consegue obter a quantidade de entrada ou o limite de que necessita.",
                "http_status": 422,
                "recovery": "Conserve a resposta; utilize a representação da entrada exigida pelo tarifário aceite.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "O armazenamento, a rota, o preço do método ou a reserva de que necessita não está disponível.",
                "http_status": 503,
                "recovery": "Conserve a resposta original completa. Uma reserva incerta não autoriza o reenvio.",
                "type": null
              },
              {
                "code": null,
                "condition": "O resultado, a utilização ou a liquidação original requer verificação.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Conserve o ID real do pedido e a resposta original. Consulte o registo existente pertencente ao utilizador; não volte a enviar o pedido de criação.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "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 content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Conserve o X-Client-Request-ID real e a resposta completa. Consulte os recursos originais pertencentes ao utilizador e os respetivos URLs assinados exatos de conteúdo; nunca volte a enviar uma criação incerta."
            },
            "outputs": {
              "all_results": "Conserve a resposta completa e os cabeçalhos, todos os resultados efetivamente produzidos, os identificadores originais devolvidos e todos os campos de utilização. Recupere a operação original sem voltar a enviar o pedido de criação.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Corpo completo da resposta original, estado e cabeçalhos encaminhados. Este processador não adiciona qualquer estrutura JSON universal, campo de texto ou estrutura envolvente de tarefa."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "openai/gpt-4o-transcribe"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "openai/gpt-4o-transcribe"
                  ],
                  "type": "string"
                }
              },
              "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/gpt-4o-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "O exemplo lê o seu ficheiro PCM WAV real e não vazio, codifica todos os bytes do ficheiro em base64 e envia input_audio.format como wav."
            ],
            "material_types": [
              "audio"
            ],
            "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 content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id exato de um registo multimédia existente pertencente ao utilizador",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.005000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000005",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.02000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00002",
                "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"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'openai/gpt-4o-transcribe', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\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# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Transcrição",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "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": {
            "input_token": 5e-06,
            "output_token": 2e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.005000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000005",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.02000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00002",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "openai/gpt-4o-transcribe",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "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.005000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000005",
            "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": "0.02000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00002",
            "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"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "openai/gpt-4o-transcribe",
        "request_model_id": "openai/gpt-4o-transcribe",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: GPT-4o Transcribe",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.02,
      "out_label": "/ 1K tokens",
      "sort_in": null,
      "sort_out": 0.02,
      "varies": true
    },
    "short": "GPT-4o Transcribe converte áudio em texto através das capacidades de reconhecimento de fala de GPT-4o da OpenAI. Suporta pedidos de texto contextuais, uma indicação da língua de entrada, transcrições JSON, saída de ficheiros em streaming e logaritmos facultativos das probabilidades dos tokens para rever formulações incertas."
  },
  "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": "GPT-4o Transcribe converte áudio em texto através das capacidades de reconhecimento de fala de GPT-4o da OpenAI. Suporta pedidos de texto contextuais, uma indicação da língua de entrada, transcrições JSON, saída de ficheiros em streaming e logaritmos facultativos das probabilidades dos tokens para rever formulações incertas.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "1cd0eb5bfccf574956f32d3a7528412758869833d80b0fd9ed3226ccee4165e8",
    "renderer_sha256": "8caea4544177cc2b7d2cb3356b5f07bfd3660386d75f2714a6f603fa5e2a6cd2"
  },
  "sourceRevision": "d46813760a6767408a13481bbc014c261087e5dcea2f3faba5badc5a9c9de267"
}
