{
  "aboutHtml": "<p>GPT-4o Mini Transcribe é o modelo de conversão de fala em texto da OpenAI baseado em GPT-4o Mini. Aceita áudio com orientações textuais facultativas e produz texto reconhecido. É um modelo distinto de GPT-4o Transcribe, que utiliza GPT-4o, e do perfil GPT Transcribe mais recente, com os seus campos separados de palavras-chave e indicações multilingues. O resultado útil aqui é uma transcrição da fala original da gravação, preparada para pesquisa, revisão ou uma etapa posterior de processamento de conteúdo.</p><h4>Preparar a gravação</h4><p>O guia da OpenAI de transcrição de ficheiros aceita carregamentos de áudio até 25 MB. A referência atual do ponto de acesso enumera FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV e WebM, com metadados suficientes de nome de ficheiro e tipo de conteúdo para identificar o formato áudio. Gravações maiores podem ser comprimidas ou divididas em partes de 25 MB ou menos. Preserve os limites das frases ao dividir e mantenha cada parte associada à gravação de origem e à posição, para que o texto possa depois ser montado na ordem correta.</p><p>Para notas de voz, mantenha uma transcrição identificável por gravação e verifique nomes ou números antes de utilizar o texto para criar tarefas. Para um tutorial falado, compare a redação reconhecida com as instruções originais antes de a editar para publicação. Orientações úteis de preparação identificam a língua falada e os termos que poderiam ser mal reconhecidos. Transcrever as palavras é a primeira etapa; uma interpretação, resumo ou tradução pode utilizar posteriormente a transcrição verificada.</p><h4>Orientações do pedido de texto e uma única indicação de língua</h4><p>As integrações GPT-4o Mini Transcribe existentes suportam um pedido de texto livre. A OpenAI descreve pedidos de texto para nomes, siglas, vocabulário específico da gravação, pontuação, maiúsculas, palavras de preenchimento e sistema de escrita preferido. A referência do ponto de acesso indica que o pedido de texto deve corresponder à língua do áudio e pode transmitir contexto de um segmento de áudio anterior. Inclua grafias relevantes ou uma descrição curta do tema, em vez de pedir que um pedido de texto de transcrição se comporte como uma instrução de conversação sem restrições.</p><p>A indicação estabelecida de língua deste modelo utiliza o campo singular language. A referência do fabricante documenta um código de língua de entrada ISO 639-1, como en. Os campos separados keywords e languages no plural são documentados para GPT Transcribe; não fazem parte deste perfil Mini. Para uma série de gravações, mantenha a definição pretendida de língua falada com cada entrada, em vez de a interpretar como pedido para traduzir o resultado.</p><h4>Resultado JSON e probabilidades facultativas dos tokens</h4><p>A referência atual do ponto de acesso documenta JSON como formato de resposta suportado de GPT-4o Mini Transcribe. A redação reconhecida aparece no campo text. Quando pedidos, os logaritmos das probabilidades dos tokens podem acompanhar a resposta JSON; esses valores descrevem as probabilidades dos tokens do modelo e podem ajudar a identificar material para revisão mais atenta. Não estabelecem que um nome, número ou frase corresponde ao som. Utilize a gravação para decidir se uma palavra duvidosa deve ser corrigida.</p><p>O perfil normal de transcrição Mini não fornece saída nativa SRT, VTT, tempos detalhados por palavra ou identificação de locutores através dessas especificações JSON. A OpenAI documenta modelos e formatos especializados para essas capacidades. Se o resultado pretendido for uma faixa de legendas, mantenha a transcrição revista disponível para um processo separado de sincronização, em vez de presumir que um resultado apenas de texto já contém limites de legendas.</p><h4>Saída de ficheiros em streaming e modos documentados</h4><p>O guia de conversão de fala em texto do fabricante indica explicitamente que as integrações GPT-4o Mini Transcribe existentes suportam streaming de ficheiros. Uma gravação concluída pode produzir texto parcial de transcrição seguido de um resultado final enquanto é processada. Mantenha a transcrição final como resultado concluído; o aparecimento de texto parcial não significa que o processo de ficheiros esteja continuamente a receber áudio de microfone em direto. A ficha do modelo enumera separadamente as famílias de pontos de acesso de transcrição e Realtime. Essas interfaces do fabricante não implicam que todos os campos de sessão de um modelo de transcrição diferente se apliquem aqui.</p><h4>Contexto, capacidade de saída e verificações úteis</h4><p>A especificação atual do modelo da OpenAI 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. São valores da especificação do modelo, não uma duração universal em minutos para uma gravação de áudio. A regra de tamanho do ficheiro e uma capacidade em tokens descrevem restrições diferentes. Para material extenso, prepare a gravação segundo o processo de ficheiros documentado, passe contexto relevante entre partes e verifique se o texto final inclui o fim da origem.</p><p>Um resultado Mini Transcribe útil preserva a redação e a sua relação com a gravação, mantendo quaisquer dados facultativos de probabilidade separados de correções editoriais. Reveja vocabulário desconhecido, sotaques, ruído de fundo, mudanças de língua e fala sobreposta, mantendo disponível o áudio original. Ao rever texto para melhorar a legibilidade, distinga essa versão editorial da transcrição reconhecida, para que utilizadores posteriores saibam que redação veio da gravação e qual foi alterada durante a preparação.</p>",
  "aboutText": "GPT-4o Mini Transcribe é o modelo de conversão de fala em texto da OpenAI baseado em GPT-4o Mini. Aceita áudio com orientações textuais facultativas e produz texto reconhecido. É um modelo distinto de GPT-4o Transcribe, que utiliza GPT-4o, e do perfil GPT Transcribe mais recente, com os seus campos separados de palavras-chave e indicações multilingues. O resultado útil aqui é uma transcrição da fala original da gravação, preparada para pesquisa, revisão ou uma etapa posterior de processamento de conteúdo.\n\n### Preparar a gravação\n\nO guia da OpenAI de transcrição de ficheiros aceita carregamentos de áudio até 25 MB. A referência atual do ponto de acesso enumera FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV e WebM, com metadados suficientes de nome de ficheiro e tipo de conteúdo para identificar o formato áudio. Gravações maiores podem ser comprimidas ou divididas em partes de 25 MB ou menos. Preserve os limites das frases ao dividir e mantenha cada parte associada à gravação de origem e à posição, para que o texto possa depois ser montado na ordem correta.\n\nPara notas de voz, mantenha uma transcrição identificável por gravação e verifique nomes ou números antes de utilizar o texto para criar tarefas. Para um tutorial falado, compare a redação reconhecida com as instruções originais antes de a editar para publicação. Orientações úteis de preparação identificam a língua falada e os termos que poderiam ser mal reconhecidos. Transcrever as palavras é a primeira etapa; uma interpretação, resumo ou tradução pode utilizar posteriormente a transcrição verificada.\n\n### Orientações do pedido de texto e uma única indicação de língua\n\nAs integrações GPT-4o Mini Transcribe existentes suportam um pedido de texto livre. A OpenAI descreve pedidos de texto para nomes, siglas, vocabulário específico da gravação, pontuação, maiúsculas, palavras de preenchimento e sistema de escrita preferido. A referência do ponto de acesso indica que o pedido de texto deve corresponder à língua do áudio e pode transmitir contexto de um segmento de áudio anterior. Inclua grafias relevantes ou uma descrição curta do tema, em vez de pedir que um pedido de texto de transcrição se comporte como uma instrução de conversação sem restrições.\n\nA indicação estabelecida de língua deste modelo utiliza o campo singular language. A referência do fabricante documenta um código de língua de entrada ISO 639-1, como en. Os campos separados keywords e languages no plural são documentados para GPT Transcribe; não fazem parte deste perfil Mini. Para uma série de gravações, mantenha a definição pretendida de língua falada com cada entrada, em vez de a interpretar como pedido para traduzir o resultado.\n\n### Resultado JSON e probabilidades facultativas dos tokens\n\nA referência atual do ponto de acesso documenta JSON como formato de resposta suportado de GPT-4o Mini Transcribe. A redação reconhecida aparece no campo text. Quando pedidos, os logaritmos das probabilidades dos tokens podem acompanhar a resposta JSON; esses valores descrevem as probabilidades dos tokens do modelo e podem ajudar a identificar material para revisão mais atenta. Não estabelecem que um nome, número ou frase corresponde ao som. Utilize a gravação para decidir se uma palavra duvidosa deve ser corrigida.\n\nO perfil normal de transcrição Mini não fornece saída nativa SRT, VTT, tempos detalhados por palavra ou identificação de locutores através dessas especificações JSON. A OpenAI documenta modelos e formatos especializados para essas capacidades. Se o resultado pretendido for uma faixa de legendas, mantenha a transcrição revista disponível para um processo separado de sincronização, em vez de presumir que um resultado apenas de texto já contém limites de legendas.\n\n### Saída de ficheiros em streaming e modos documentados\n\nO guia de conversão de fala em texto do fabricante indica explicitamente que as integrações GPT-4o Mini Transcribe existentes suportam streaming de ficheiros. Uma gravação concluída pode produzir texto parcial de transcrição seguido de um resultado final enquanto é processada. Mantenha a transcrição final como resultado concluído; o aparecimento de texto parcial não significa que o processo de ficheiros esteja continuamente a receber áudio de microfone em direto. A ficha do modelo enumera separadamente as famílias de pontos de acesso de transcrição e Realtime. Essas interfaces do fabricante não implicam que todos os campos de sessão de um modelo de transcrição diferente se apliquem aqui.\n\n### Contexto, capacidade de saída e verificações úteis\n\nA especificação atual do modelo da OpenAI 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. São valores da especificação do modelo, não uma duração universal em minutos para uma gravação de áudio. A regra de tamanho do ficheiro e uma capacidade em tokens descrevem restrições diferentes. Para material extenso, prepare a gravação segundo o processo de ficheiros documentado, passe contexto relevante entre partes e verifique se o texto final inclui o fim da origem.\n\nUm resultado Mini Transcribe útil preserva a redação e a sua relação com a gravação, mantendo quaisquer dados facultativos de probabilidade separados de correções editoriais. Reveja vocabulário desconhecido, sotaques, ruído de fundo, mudanças de língua e fala sobreposta, mantendo disponível o áudio original. Ao rever texto para melhorar a legibilidade, distinga essa versão editorial da transcrição reconhecida, para que utilizadores posteriores saibam que redação veio da gravação e qual foi alterada durante a preparação.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "a215c1fe7e83d4dcf628d364c068dfe2c4bf0fa89824ae05a9ac55c4b8164da3",
    "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 Mini 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-mini-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-mini-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 Mini Transcribe é o modelo de conversão de fala em texto da OpenAI baseado em GPT-4o Mini. Transforma áudio numa transcrição JSON, suporta pedidos de texto específicos da gravação e resultados de ficheiros em streaming e pode devolver logaritmos das probabilidades dos tokens para revisão focada da transcrição.</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 Mini Transcribe é o modelo de conversão de fala em texto da OpenAI baseado em GPT-4o Mini. Aceita áudio com orientações textuais facultativas e produz texto reconhecido. É um modelo distinto de GPT-4o Transcribe, que utiliza GPT-4o, e do perfil GPT Transcribe mais recente, com os seus campos separados de palavras-chave e indicações multilingues. O resultado útil aqui é uma transcrição da fala original da gravação, preparada para pesquisa, revisão ou uma etapa posterior de processamento de conteúdo.</p><h4>Preparar a gravação</h4><p>O guia da OpenAI de transcrição de ficheiros aceita carregamentos de áudio até 25 MB. A referência atual do ponto de acesso enumera FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV e WebM, com metadados suficientes de nome de ficheiro e tipo de conteúdo para identificar o formato áudio. Gravações maiores podem ser comprimidas ou divididas em partes de 25 MB ou menos. Preserve os limites das frases ao dividir e mantenha cada parte associada à gravação de origem e à posição, para que o texto possa depois ser montado na ordem correta.</p><p>Para notas de voz, mantenha uma transcrição identificável por gravação e verifique nomes ou números antes de utilizar o texto para criar tarefas. Para um tutorial falado, compare a redação reconhecida com as instruções originais antes de a editar para publicação. Orientações úteis de preparação identificam a língua falada e os termos que poderiam ser mal reconhecidos. Transcrever as palavras é a primeira etapa; uma interpretação, resumo ou tradução pode utilizar posteriormente a transcrição verificada.</p><h4>Orientações do pedido de texto e uma única indicação de língua</h4><p>As integrações GPT-4o Mini Transcribe existentes suportam um pedido de texto livre. A OpenAI descreve pedidos de texto para nomes, siglas, vocabulário específico da gravação, pontuação, maiúsculas, palavras de preenchimento e sistema de escrita preferido. A referência do ponto de acesso indica que o pedido de texto deve corresponder à língua do áudio e pode transmitir contexto de um segmento de áudio anterior. Inclua grafias relevantes ou uma descrição curta do tema, em vez de pedir que um pedido de texto de transcrição se comporte como uma instrução de conversação sem restrições.</p><p>A indicação estabelecida de língua deste modelo utiliza o campo singular language. A referência do fabricante documenta um código de língua de entrada ISO 639-1, como en. Os campos separados keywords e languages no plural são documentados para GPT Transcribe; não fazem parte deste perfil Mini. Para uma série de gravações, mantenha a definição pretendida de língua falada com cada entrada, em vez de a interpretar como pedido para traduzir o resultado.</p><h4>Resultado JSON e probabilidades facultativas dos tokens</h4><p>A referência atual do ponto de acesso documenta JSON como formato de resposta suportado de GPT-4o Mini Transcribe. A redação reconhecida aparece no campo text. Quando pedidos, os logaritmos das probabilidades dos tokens podem acompanhar a resposta JSON; esses valores descrevem as probabilidades dos tokens do modelo e podem ajudar a identificar material para revisão mais atenta. Não estabelecem que um nome, número ou frase corresponde ao som. Utilize a gravação para decidir se uma palavra duvidosa deve ser corrigida.</p><p>O perfil normal de transcrição Mini não fornece saída nativa SRT, VTT, tempos detalhados por palavra ou identificação de locutores através dessas especificações JSON. A OpenAI documenta modelos e formatos especializados para essas capacidades. Se o resultado pretendido for uma faixa de legendas, mantenha a transcrição revista disponível para um processo separado de sincronização, em vez de presumir que um resultado apenas de texto já contém limites de legendas.</p><h4>Saída de ficheiros em streaming e modos documentados</h4><p>O guia de conversão de fala em texto do fabricante indica explicitamente que as integrações GPT-4o Mini Transcribe existentes suportam streaming de ficheiros. Uma gravação concluída pode produzir texto parcial de transcrição seguido de um resultado final enquanto é processada. Mantenha a transcrição final como resultado concluído; o aparecimento de texto parcial não significa que o processo de ficheiros esteja continuamente a receber áudio de microfone em direto. A ficha do modelo enumera separadamente as famílias de pontos de acesso de transcrição e Realtime. Essas interfaces do fabricante não implicam que todos os campos de sessão de um modelo de transcrição diferente se apliquem aqui.</p><h4>Contexto, capacidade de saída e verificações úteis</h4><p>A especificação atual do modelo da OpenAI 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. São valores da especificação do modelo, não uma duração universal em minutos para uma gravação de áudio. A regra de tamanho do ficheiro e uma capacidade em tokens descrevem restrições diferentes. Para material extenso, prepare a gravação segundo o processo de ficheiros documentado, passe contexto relevante entre partes e verifique se o texto final inclui o fim da origem.</p><p>Um resultado Mini Transcribe útil preserva a redação e a sua relação com a gravação, mantendo quaisquer dados facultativos de probabilidade separados de correções editoriais. Reveja vocabulário desconhecido, sotaques, ruído de fundo, mudanças de língua e fala sobreposta, mantendo disponível o áudio original. Ao rever texto para melhorar a legibilidade, distinga essa versão editorial da transcrição reconhecida, para que utilizadores posteriores saibam que redação veio da gravação e qual foi alterada durante a preparação.</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-mini-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.0025</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.01</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-2046-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2046-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-2046-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2046-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-mini-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-mini-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-4o-mini-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-4o-mini-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-mini-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-4o-mini-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-4o-mini-transcribe</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/gpt-4o-mini-transcribe",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/gpt-4o-mini-transcribe",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fgpt-4o-mini-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-mini-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-mini-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-mini-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.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000025",
                "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00001",
                "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-mini-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": 2.5e-06,
            "output_token": 1e-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.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000025",
                "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00001",
                "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-mini-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.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000025",
            "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.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00001",
            "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-mini-transcribe",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "599800e32dc810670fb7c509a09e076a7163e798490376d1c13911248e5a9ec6",
    "input_html_sha256": "f8ec809c69a9ec80e1dcbbd5edde1af500d676ac3d87248a16217641d1c439bc",
    "private_audit_sha256": "5ae32fd8092e00dc2f0ee1d2c7162aa124831b0ae749e225e5c6dd8b31730b34",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/pt-pt/openai-gpt-4o-mini-transcribe/",
    "description": "GPT-4o Mini Transcribe é o modelo de conversão de fala em texto da OpenAI baseado em GPT-4o Mini. Transforma áudio numa transcrição JSON, suporta pedidos de texto específicos da gravação e resultados de ficheiros em streaming e pode devolver logaritmos das probabilidades dos tokens para revisão focada da transcrição.",
    "locale": "pt-pt",
    "md_url": "https://ailoot.ai/models/pt-pt/openai-gpt-4o-mini-transcribe/index.md",
    "title": "OpenAI: GPT-4o Mini Transcribe — Ailoot",
    "url": "https://ailoot.ai/models/pt-pt/openai-gpt-4o-mini-transcribe/"
  },
  "rawModel": {
    "about": "GPT-4o Mini Transcribe é o modelo de conversão de fala em texto da OpenAI baseado em GPT-4o Mini. Aceita áudio com orientações textuais facultativas e produz texto reconhecido. É um modelo distinto de GPT-4o Transcribe, que utiliza GPT-4o, e do perfil GPT Transcribe mais recente, com os seus campos separados de palavras-chave e indicações multilingues. O resultado útil aqui é uma transcrição da fala original da gravação, preparada para pesquisa, revisão ou uma etapa posterior de processamento de conteúdo.\n\n### Preparar a gravação\n\nO guia da OpenAI de transcrição de ficheiros aceita carregamentos de áudio até 25 MB. A referência atual do ponto de acesso enumera FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV e WebM, com metadados suficientes de nome de ficheiro e tipo de conteúdo para identificar o formato áudio. Gravações maiores podem ser comprimidas ou divididas em partes de 25 MB ou menos. Preserve os limites das frases ao dividir e mantenha cada parte associada à gravação de origem e à posição, para que o texto possa depois ser montado na ordem correta.\n\nPara notas de voz, mantenha uma transcrição identificável por gravação e verifique nomes ou números antes de utilizar o texto para criar tarefas. Para um tutorial falado, compare a redação reconhecida com as instruções originais antes de a editar para publicação. Orientações úteis de preparação identificam a língua falada e os termos que poderiam ser mal reconhecidos. Transcrever as palavras é a primeira etapa; uma interpretação, resumo ou tradução pode utilizar posteriormente a transcrição verificada.\n\n### Orientações do pedido de texto e uma única indicação de língua\n\nAs integrações GPT-4o Mini Transcribe existentes suportam um pedido de texto livre. A OpenAI descreve pedidos de texto para nomes, siglas, vocabulário específico da gravação, pontuação, maiúsculas, palavras de preenchimento e sistema de escrita preferido. A referência do ponto de acesso indica que o pedido de texto deve corresponder à língua do áudio e pode transmitir contexto de um segmento de áudio anterior. Inclua grafias relevantes ou uma descrição curta do tema, em vez de pedir que um pedido de texto de transcrição se comporte como uma instrução de conversação sem restrições.\n\nA indicação estabelecida de língua deste modelo utiliza o campo singular language. A referência do fabricante documenta um código de língua de entrada ISO 639-1, como en. Os campos separados keywords e languages no plural são documentados para GPT Transcribe; não fazem parte deste perfil Mini. Para uma série de gravações, mantenha a definição pretendida de língua falada com cada entrada, em vez de a interpretar como pedido para traduzir o resultado.\n\n### Resultado JSON e probabilidades facultativas dos tokens\n\nA referência atual do ponto de acesso documenta JSON como formato de resposta suportado de GPT-4o Mini Transcribe. A redação reconhecida aparece no campo text. Quando pedidos, os logaritmos das probabilidades dos tokens podem acompanhar a resposta JSON; esses valores descrevem as probabilidades dos tokens do modelo e podem ajudar a identificar material para revisão mais atenta. Não estabelecem que um nome, número ou frase corresponde ao som. Utilize a gravação para decidir se uma palavra duvidosa deve ser corrigida.\n\nO perfil normal de transcrição Mini não fornece saída nativa SRT, VTT, tempos detalhados por palavra ou identificação de locutores através dessas especificações JSON. A OpenAI documenta modelos e formatos especializados para essas capacidades. Se o resultado pretendido for uma faixa de legendas, mantenha a transcrição revista disponível para um processo separado de sincronização, em vez de presumir que um resultado apenas de texto já contém limites de legendas.\n\n### Saída de ficheiros em streaming e modos documentados\n\nO guia de conversão de fala em texto do fabricante indica explicitamente que as integrações GPT-4o Mini Transcribe existentes suportam streaming de ficheiros. Uma gravação concluída pode produzir texto parcial de transcrição seguido de um resultado final enquanto é processada. Mantenha a transcrição final como resultado concluído; o aparecimento de texto parcial não significa que o processo de ficheiros esteja continuamente a receber áudio de microfone em direto. A ficha do modelo enumera separadamente as famílias de pontos de acesso de transcrição e Realtime. Essas interfaces do fabricante não implicam que todos os campos de sessão de um modelo de transcrição diferente se apliquem aqui.\n\n### Contexto, capacidade de saída e verificações úteis\n\nA especificação atual do modelo da OpenAI 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. São valores da especificação do modelo, não uma duração universal em minutos para uma gravação de áudio. A regra de tamanho do ficheiro e uma capacidade em tokens descrevem restrições diferentes. Para material extenso, prepare a gravação segundo o processo de ficheiros documentado, passe contexto relevante entre partes e verifique se o texto final inclui o fim da origem.\n\nUm resultado Mini Transcribe útil preserva a redação e a sua relação com a gravação, mantendo quaisquer dados facultativos de probabilidade separados de correções editoriais. Reveja vocabulário desconhecido, sotaques, ruído de fundo, mudanças de língua e fala sobreposta, mantendo disponível o áudio original. Ao rever texto para melhorar a legibilidade, distinga essa versão editorial da transcrição reconhecida, para que utilizadores posteriores saibam que redação veio da gravação e qual foi alterada durante a preparação.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "capabilities": {
      "context_length": 128000,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000025",
            "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.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00001",
            "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-mini-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-mini-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-mini-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-mini-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.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000025",
                "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00001",
                "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-mini-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": 2.5e-06,
            "output_token": 1e-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.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000025",
                "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00001",
                "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-mini-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.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000025",
            "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.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00001",
            "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-mini-transcribe",
        "request_model_id": "openai/gpt-4o-mini-transcribe",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: GPT-4o Mini Transcribe",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.01,
      "out_label": "/ 1K tokens",
      "sort_in": null,
      "sort_out": 0.01,
      "varies": true
    },
    "short": "GPT-4o Mini Transcribe é o modelo de conversão de fala em texto da OpenAI baseado em GPT-4o Mini. Transforma áudio numa transcrição JSON, suporta pedidos de texto específicos da gravação e resultados de ficheiros em streaming e pode devolver logaritmos das probabilidades dos tokens para revisão focada da transcrição."
  },
  "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 Mini Transcribe é o modelo de conversão de fala em texto da OpenAI baseado em GPT-4o Mini. Transforma áudio numa transcrição JSON, suporta pedidos de texto específicos da gravação e resultados de ficheiros em streaming e pode devolver logaritmos das probabilidades dos tokens para revisão focada da transcrição.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "852bf16c1e584ccc6a6cbef5e63ef16f9dbc1fe4921d4de79a131392a30fb9ae",
    "renderer_sha256": "8caea4544177cc2b7d2cb3356b5f07bfd3660386d75f2714a6f603fa5e2a6cd2"
  },
  "sourceRevision": "87af93b20d992ede2f7049808a69011ec2cb59bb85fb4846a6567c20e8b809f4"
}
