{
  "aboutHtml": "<p>Voxtral Mini Transcribe 2 é a edição Voxtral da Mistral AI focada em transcrição, identificada na ficha do produtor como voxtral-mini-2602. Foi concebida para transcrição em lote de gravações, em vez do papel mais amplo de resposta a perguntas do modelo Voxtral Mini 3B original. A entrada é áudio e o resultado é texto transcrito, opcionalmente enriquecido com etiquetas de oradores e informação temporal. As utilizações práticas incluem transcrições de reuniões, análise de entrevistas, registos de chamadas com vários participantes e texto alinhado com conteúdo multimédia gravado.</p><p>O fabricante documenta diarização de oradores e tempos de início e fim, permitindo mostrar quem falou e quando. As marcas temporais por palavra apoiam legendas, pesquisa no áudio e alinhamento entre um trecho de texto e a sua posição numa gravação. O guia do produtor permite granularidade temporal por segmento ou palavra. Numa entrevista, um artefacto útil é uma sequência de trechos atribuídos a oradores com tempos; para preparar legendas, os tempos de palavras ou segmentos podem orientar uma etapa posterior de legendagem, em vez de obrigar a inferi-los a partir de texto transcrito sem marcas.</p><p>A orientação por contexto aceita até 100 palavras ou expressões que guiam o modelo para a grafia pretendida de nomes, termos técnicos e vocabulário específico de um domínio. A Mistral afirma que a funcionalidade está otimizada para inglês e que o suporte noutras línguas é experimental. Prepare uma lista de vocabulário focada no assunto da gravação, em vez de um glossário não relacionado. Um exemplo original seria fornecer os nomes dos projetos e termos especializados que provavelmente surgirão numa discussão técnica e verificar depois essas grafias na transcrição concluída.</p><p>Esta edição suporta treze línguas: inglês, chinês, hindi, espanhol, árabe, francês, português, russo, alemão, japonês, coreano, italiano e neerlandês. O fabricante documenta também robustez ao ruído e gravações até três horas num único pedido. Estas características pertencem ao fluxo de gravações do Mini Transcribe 2; as indicações de contexto e duração do modelo de compreensão de áudio 2507 original descrevem outra versão. Está disponível deteção automática de língua, e o guia afirma que indicar explicitamente uma língua de áudio conhecida pode melhorar a precisão da transcrição.</p><p>No fluxo documentado do produtor, o áudio pode ser fornecido como um ficheiro carregado, um identificador de ficheiro previamente carregado ou uma gravação referenciada. A demonstração de carregamento associada aceita gravações MP3, WAV, M4A, FLAC e OGG; escolha um destes formatos para esse fluxo demonstrado. Mantenha a gravação descodificável e inclua a fala relevante. Para material longo, preserve o identificador e a origem temporal para que excertos ou edições posteriores continuem rastreáveis até à fonte.</p><p>A referência de transcrição devolve o texto e a língua detetada, com segmentos quando pedidos, e documenta separadamente eventos de transcrição transmitidos em fluxo contínuo. A diarização é opcional e assume false por predefinição. O guia indica que timestamp_granularities e uma definição explícita de language não são atualmente compatíveis; escolha, portanto, o fluxo temporal pretendido ou a indicação manual de língua, em vez de os combinar. Transcrição com etiquetas de oradores, orientação por vocabulário e tempos devem ser selecionados segundo o resultado pretendido, em vez de presumidos num pedido básico.</p><p>A fala sobreposta é uma limitação substantiva: a Mistral afirma que o modelo normalmente transcreve um único orador quando há sobreposição. Uma transcrição etiquetada não deve, portanto, ser tratada como um registo exaustivo de todas as falas simultâneas. Para um registo de reunião, reveja sobreposições difíceis e nomes ou números importantes face à gravação. A finalidade do modelo é a transcrição; resumo, tradução ou análise podem ser tarefas separadas construídas a partir dela. Voxtral Realtime tem um perfil próprio de latência de transcrição em direto, enquanto a geração de fala pertence a outros modelos.</p><p>Prepare o resultado para a utilização seguinte. Um fluxo de reunião pode preservar a transcrição, as etiquetas de oradores e os tempos antes de uma etapa separada extrair decisões; um fluxo multimédia pode usar os tempos para localizar trechos e preparar legendas; uma gravação com muita terminologia pode incluir a lista focada de orientação por contexto e uma revisão das grafias resultantes. O resultado útil é texto ligado à gravação de origem e aos metadados configurados, mantendo esta edição numerada de transcrição distinta do modelo Mini original e de nomes latest atualizáveis.</p>",
  "aboutText": "Voxtral Mini Transcribe 2 é a edição Voxtral da Mistral AI focada em transcrição, identificada na ficha do produtor como voxtral-mini-2602. Foi concebida para transcrição em lote de gravações, em vez do papel mais amplo de resposta a perguntas do modelo Voxtral Mini 3B original. A entrada é áudio e o resultado é texto transcrito, opcionalmente enriquecido com etiquetas de oradores e informação temporal. As utilizações práticas incluem transcrições de reuniões, análise de entrevistas, registos de chamadas com vários participantes e texto alinhado com conteúdo multimédia gravado.\n\nO fabricante documenta diarização de oradores e tempos de início e fim, permitindo mostrar quem falou e quando. As marcas temporais por palavra apoiam legendas, pesquisa no áudio e alinhamento entre um trecho de texto e a sua posição numa gravação. O guia do produtor permite granularidade temporal por segmento ou palavra. Numa entrevista, um artefacto útil é uma sequência de trechos atribuídos a oradores com tempos; para preparar legendas, os tempos de palavras ou segmentos podem orientar uma etapa posterior de legendagem, em vez de obrigar a inferi-los a partir de texto transcrito sem marcas.\n\nA orientação por contexto aceita até 100 palavras ou expressões que guiam o modelo para a grafia pretendida de nomes, termos técnicos e vocabulário específico de um domínio. A Mistral afirma que a funcionalidade está otimizada para inglês e que o suporte noutras línguas é experimental. Prepare uma lista de vocabulário focada no assunto da gravação, em vez de um glossário não relacionado. Um exemplo original seria fornecer os nomes dos projetos e termos especializados que provavelmente surgirão numa discussão técnica e verificar depois essas grafias na transcrição concluída.\n\nEsta edição suporta treze línguas: inglês, chinês, hindi, espanhol, árabe, francês, português, russo, alemão, japonês, coreano, italiano e neerlandês. O fabricante documenta também robustez ao ruído e gravações até três horas num único pedido. Estas características pertencem ao fluxo de gravações do Mini Transcribe 2; as indicações de contexto e duração do modelo de compreensão de áudio 2507 original descrevem outra versão. Está disponível deteção automática de língua, e o guia afirma que indicar explicitamente uma língua de áudio conhecida pode melhorar a precisão da transcrição.\n\nNo fluxo documentado do produtor, o áudio pode ser fornecido como um ficheiro carregado, um identificador de ficheiro previamente carregado ou uma gravação referenciada. A demonstração de carregamento associada aceita gravações MP3, WAV, M4A, FLAC e OGG; escolha um destes formatos para esse fluxo demonstrado. Mantenha a gravação descodificável e inclua a fala relevante. Para material longo, preserve o identificador e a origem temporal para que excertos ou edições posteriores continuem rastreáveis até à fonte.\n\nA referência de transcrição devolve o texto e a língua detetada, com segmentos quando pedidos, e documenta separadamente eventos de transcrição transmitidos em fluxo contínuo. A diarização é opcional e assume false por predefinição. O guia indica que timestamp_granularities e uma definição explícita de language não são atualmente compatíveis; escolha, portanto, o fluxo temporal pretendido ou a indicação manual de língua, em vez de os combinar. Transcrição com etiquetas de oradores, orientação por vocabulário e tempos devem ser selecionados segundo o resultado pretendido, em vez de presumidos num pedido básico.\n\nA fala sobreposta é uma limitação substantiva: a Mistral afirma que o modelo normalmente transcreve um único orador quando há sobreposição. Uma transcrição etiquetada não deve, portanto, ser tratada como um registo exaustivo de todas as falas simultâneas. Para um registo de reunião, reveja sobreposições difíceis e nomes ou números importantes face à gravação. A finalidade do modelo é a transcrição; resumo, tradução ou análise podem ser tarefas separadas construídas a partir dela. Voxtral Realtime tem um perfil próprio de latência de transcrição em direto, enquanto a geração de fala pertence a outros modelos.\n\nPrepare o resultado para a utilização seguinte. Um fluxo de reunião pode preservar a transcrição, as etiquetas de oradores e os tempos antes de uma etapa separada extrair decisões; um fluxo multimédia pode usar os tempos para localizar trechos e preparar legendas; uma gravação com muita terminologia pode incluir a lista focada de orientação por contexto e uma revisão das grafias resultantes. O resultado útil é texto ligado à gravação de origem e aos metadados configurados, mantendo esta edição numerada de transcrição distinta do modelo Mini original e de nomes latest atualizáveis.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "e2dba9db4e4b3ac77fdd81df00d21432d0822976882bc7039c48ca6abf562167",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "pt-pt",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Mistral: Voxtral Mini Transcribe</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Fechar\">×</button></div><div class=\"idline\"><span>Mistral /</span><code>mistralai/voxtral-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|mistralai%2Fvoxtral-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\">Voxtral Mini Transcribe 2 converte gravações em texto com diarização de oradores, marcas temporais por palavra e orientação por vocabulário. A Mistral documenta 13 línguas e gravações até três horas para esta edição focada em transcrição, distinta do Voxtral Realtime.</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>Voxtral Mini Transcribe 2 é a edição Voxtral da Mistral AI focada em transcrição, identificada na ficha do produtor como voxtral-mini-2602. Foi concebida para transcrição em lote de gravações, em vez do papel mais amplo de resposta a perguntas do modelo Voxtral Mini 3B original. A entrada é áudio e o resultado é texto transcrito, opcionalmente enriquecido com etiquetas de oradores e informação temporal. As utilizações práticas incluem transcrições de reuniões, análise de entrevistas, registos de chamadas com vários participantes e texto alinhado com conteúdo multimédia gravado.</p><p>O fabricante documenta diarização de oradores e tempos de início e fim, permitindo mostrar quem falou e quando. As marcas temporais por palavra apoiam legendas, pesquisa no áudio e alinhamento entre um trecho de texto e a sua posição numa gravação. O guia do produtor permite granularidade temporal por segmento ou palavra. Numa entrevista, um artefacto útil é uma sequência de trechos atribuídos a oradores com tempos; para preparar legendas, os tempos de palavras ou segmentos podem orientar uma etapa posterior de legendagem, em vez de obrigar a inferi-los a partir de texto transcrito sem marcas.</p><p>A orientação por contexto aceita até 100 palavras ou expressões que guiam o modelo para a grafia pretendida de nomes, termos técnicos e vocabulário específico de um domínio. A Mistral afirma que a funcionalidade está otimizada para inglês e que o suporte noutras línguas é experimental. Prepare uma lista de vocabulário focada no assunto da gravação, em vez de um glossário não relacionado. Um exemplo original seria fornecer os nomes dos projetos e termos especializados que provavelmente surgirão numa discussão técnica e verificar depois essas grafias na transcrição concluída.</p><p>Esta edição suporta treze línguas: inglês, chinês, hindi, espanhol, árabe, francês, português, russo, alemão, japonês, coreano, italiano e neerlandês. O fabricante documenta também robustez ao ruído e gravações até três horas num único pedido. Estas características pertencem ao fluxo de gravações do Mini Transcribe 2; as indicações de contexto e duração do modelo de compreensão de áudio 2507 original descrevem outra versão. Está disponível deteção automática de língua, e o guia afirma que indicar explicitamente uma língua de áudio conhecida pode melhorar a precisão da transcrição.</p><p>No fluxo documentado do produtor, o áudio pode ser fornecido como um ficheiro carregado, um identificador de ficheiro previamente carregado ou uma gravação referenciada. A demonstração de carregamento associada aceita gravações MP3, WAV, M4A, FLAC e OGG; escolha um destes formatos para esse fluxo demonstrado. Mantenha a gravação descodificável e inclua a fala relevante. Para material longo, preserve o identificador e a origem temporal para que excertos ou edições posteriores continuem rastreáveis até à fonte.</p><p>A referência de transcrição devolve o texto e a língua detetada, com segmentos quando pedidos, e documenta separadamente eventos de transcrição transmitidos em fluxo contínuo. A diarização é opcional e assume false por predefinição. O guia indica que timestamp_granularities e uma definição explícita de language não são atualmente compatíveis; escolha, portanto, o fluxo temporal pretendido ou a indicação manual de língua, em vez de os combinar. Transcrição com etiquetas de oradores, orientação por vocabulário e tempos devem ser selecionados segundo o resultado pretendido, em vez de presumidos num pedido básico.</p><p>A fala sobreposta é uma limitação substantiva: a Mistral afirma que o modelo normalmente transcreve um único orador quando há sobreposição. Uma transcrição etiquetada não deve, portanto, ser tratada como um registo exaustivo de todas as falas simultâneas. Para um registo de reunião, reveja sobreposições difíceis e nomes ou números importantes face à gravação. A finalidade do modelo é a transcrição; resumo, tradução ou análise podem ser tarefas separadas construídas a partir dela. Voxtral Realtime tem um perfil próprio de latência de transcrição em direto, enquanto a geração de fala pertence a outros modelos.</p><p>Prepare o resultado para a utilização seguinte. Um fluxo de reunião pode preservar a transcrição, as etiquetas de oradores e os tempos antes de uma etapa separada extrair decisões; um fluxo multimédia pode usar os tempos para localizar trechos e preparar legendas; uma gravação com muita terminologia pode incluir a lista focada de orientação por contexto e uma revisão das grafias resultantes. O resultado útil é texto ligado à gravação de origem e aos metadados configurados, mantendo esta edição numerada de transcrição distinta do modelo Mini original e de nomes latest atualizáveis.</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>mistralai/voxtral-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>segundo de áudio de entrada</th><td data-cell-label=\"Tabela de tarifas\"><span class=\"card-cell-label\">Tabela de tarifas</span>—</td><td data-cell-label=\"Unidade de faturação\"><span class=\"card-cell-label\">Unidade de faturação</span>por segundo de áudio de entrada</td><td data-cell-label=\"Custo\"><span class=\"card-cell-label\">Custo</span><div><span>Entrada · segundo de áudio de entrada</span> <b>$0.0001</b> <span class=\"price-unit\">por segundo de áudio de entrada</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. <a href=\"/docs/pt-pt/billing/reserve/\">Como funcionam a reserva e a liquidação →</a></p></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-1942-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1942-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-1942-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1942-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;mistralai/voxtral-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=mistralai%2Fvoxtral-mini-transcribe&amp;route=Ultra&amp;caller=mistralai%2Fvoxtral-mini-transcribe&amp;fmt=transcriptions\"><code>mistralai/voxtral-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=mistralai%2Fvoxtral-mini-transcribe&amp;route=Ultra&amp;caller=mistralai%2Fvoxtral-mini-transcribe&amp;fmt=transcriptions\"><code>mistralai/voxtral-mini-transcribe</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "mistralai/voxtral-mini-transcribe",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "mistralai/voxtral-mini-transcribe",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|mistralai%2Fvoxtral-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": [
                  "mistralai/voxtral-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": [
                    "mistralai/voxtral-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": "mistralai/voxtral-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": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual 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': 'mistralai/voxtral-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": {
            "audio_input_second": 0.0001
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/voxtral-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.0001",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "mistralai/voxtral-mini-transcribe",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "e2b1c6a68d8d9359ffe8293fc7df6fc63902c295c392553ff48fd872b5a450fc",
    "input_html_sha256": "362df70984e0e9853fbe214a50a4c6af82cbf31f78358ec885f8f63c45c49d86",
    "private_audit_sha256": "21f28af2baef31e4ce7c0e98fa750904041a547011afa3288e0146d729802c22",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/pt-pt/mistralai-voxtral-mini-transcribe/",
    "description": "Voxtral Mini Transcribe 2 converte gravações em texto com diarização de oradores, marcas temporais por palavra e orientação por vocabulário. A Mistral documenta 13 línguas e gravações até três horas para esta edição focada em transcrição, distinta do Voxtral Realtime.",
    "locale": "pt-pt",
    "md_url": "https://ailoot.ai/models/pt-pt/mistralai-voxtral-mini-transcribe/index.md",
    "title": "Mistral: Voxtral Mini Transcribe — Ailoot",
    "url": "https://ailoot.ai/models/pt-pt/mistralai-voxtral-mini-transcribe/"
  },
  "rawModel": {
    "about": "Voxtral Mini Transcribe 2 é a edição Voxtral da Mistral AI focada em transcrição, identificada na ficha do produtor como voxtral-mini-2602. Foi concebida para transcrição em lote de gravações, em vez do papel mais amplo de resposta a perguntas do modelo Voxtral Mini 3B original. A entrada é áudio e o resultado é texto transcrito, opcionalmente enriquecido com etiquetas de oradores e informação temporal. As utilizações práticas incluem transcrições de reuniões, análise de entrevistas, registos de chamadas com vários participantes e texto alinhado com conteúdo multimédia gravado.\n\nO fabricante documenta diarização de oradores e tempos de início e fim, permitindo mostrar quem falou e quando. As marcas temporais por palavra apoiam legendas, pesquisa no áudio e alinhamento entre um trecho de texto e a sua posição numa gravação. O guia do produtor permite granularidade temporal por segmento ou palavra. Numa entrevista, um artefacto útil é uma sequência de trechos atribuídos a oradores com tempos; para preparar legendas, os tempos de palavras ou segmentos podem orientar uma etapa posterior de legendagem, em vez de obrigar a inferi-los a partir de texto transcrito sem marcas.\n\nA orientação por contexto aceita até 100 palavras ou expressões que guiam o modelo para a grafia pretendida de nomes, termos técnicos e vocabulário específico de um domínio. A Mistral afirma que a funcionalidade está otimizada para inglês e que o suporte noutras línguas é experimental. Prepare uma lista de vocabulário focada no assunto da gravação, em vez de um glossário não relacionado. Um exemplo original seria fornecer os nomes dos projetos e termos especializados que provavelmente surgirão numa discussão técnica e verificar depois essas grafias na transcrição concluída.\n\nEsta edição suporta treze línguas: inglês, chinês, hindi, espanhol, árabe, francês, português, russo, alemão, japonês, coreano, italiano e neerlandês. O fabricante documenta também robustez ao ruído e gravações até três horas num único pedido. Estas características pertencem ao fluxo de gravações do Mini Transcribe 2; as indicações de contexto e duração do modelo de compreensão de áudio 2507 original descrevem outra versão. Está disponível deteção automática de língua, e o guia afirma que indicar explicitamente uma língua de áudio conhecida pode melhorar a precisão da transcrição.\n\nNo fluxo documentado do produtor, o áudio pode ser fornecido como um ficheiro carregado, um identificador de ficheiro previamente carregado ou uma gravação referenciada. A demonstração de carregamento associada aceita gravações MP3, WAV, M4A, FLAC e OGG; escolha um destes formatos para esse fluxo demonstrado. Mantenha a gravação descodificável e inclua a fala relevante. Para material longo, preserve o identificador e a origem temporal para que excertos ou edições posteriores continuem rastreáveis até à fonte.\n\nA referência de transcrição devolve o texto e a língua detetada, com segmentos quando pedidos, e documenta separadamente eventos de transcrição transmitidos em fluxo contínuo. A diarização é opcional e assume false por predefinição. O guia indica que timestamp_granularities e uma definição explícita de language não são atualmente compatíveis; escolha, portanto, o fluxo temporal pretendido ou a indicação manual de língua, em vez de os combinar. Transcrição com etiquetas de oradores, orientação por vocabulário e tempos devem ser selecionados segundo o resultado pretendido, em vez de presumidos num pedido básico.\n\nA fala sobreposta é uma limitação substantiva: a Mistral afirma que o modelo normalmente transcreve um único orador quando há sobreposição. Uma transcrição etiquetada não deve, portanto, ser tratada como um registo exaustivo de todas as falas simultâneas. Para um registo de reunião, reveja sobreposições difíceis e nomes ou números importantes face à gravação. A finalidade do modelo é a transcrição; resumo, tradução ou análise podem ser tarefas separadas construídas a partir dela. Voxtral Realtime tem um perfil próprio de latência de transcrição em direto, enquanto a geração de fala pertence a outros modelos.\n\nPrepare o resultado para a utilização seguinte. Um fluxo de reunião pode preservar a transcrição, as etiquetas de oradores e os tempos antes de uma etapa separada extrair decisões; um fluxo multimédia pode usar os tempos para localizar trechos e preparar legendas; uma gravação com muita terminologia pode incluir a lista focada de orientação por contexto e uma revisão das grafias resultantes. O resultado útil é texto ligado à gravação de origem e aos metadados configurados, mantendo esta edição numerada de transcrição distinta do modelo Mini original e de nomes latest atualizáveis.",
    "alias_of": null,
    "aliases": [],
    "author": "Mistral",
    "capabilities": {
      "context_length": 16384,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "Todas as tarifas da configuração constam dos detalhes."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "mistralai/voxtral-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": [
                  "mistralai/voxtral-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": [
                    "mistralai/voxtral-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": "mistralai/voxtral-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": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual 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': 'mistralai/voxtral-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": {
            "audio_input_second": 0.0001
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/voxtral-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.0001",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "mistralai/voxtral-mini-transcribe",
        "request_model_id": "mistralai/voxtral-mini-transcribe",
        "route_label": "Ultra"
      }
    ],
    "name": "Mistral: Voxtral Mini Transcribe",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Voxtral Mini Transcribe 2 converte gravações em texto com diarização de oradores, marcas temporais por palavra e orientação por vocabulário. A Mistral documenta 13 línguas e gravações até três horas para esta edição focada em transcrição, distinta do Voxtral Realtime."
  },
  "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": "Voxtral Mini Transcribe 2 converte gravações em texto com diarização de oradores, marcas temporais por palavra e orientação por vocabulário. A Mistral documenta 13 línguas e gravações até três horas para esta edição focada em transcrição, distinta do Voxtral Realtime.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "a37ee3b23c6270efabd14c395e19b6c2951c4f568365a96b834dbf04db65c984",
    "renderer_sha256": "8caea4544177cc2b7d2cb3356b5f07bfd3660386d75f2714a6f603fa5e2a6cd2"
  },
  "sourceRevision": "11395d4d415552f3b920de4c0b0f764ef9d90eec664e817d933fbe84df952775"
}
