{
  "aboutHtml": "<p>GPT-4o Mini Transcribe es el modelo de voz a texto de OpenAI basado en GPT-4o Mini. Acepta audio con indicaciones textuales opcionales y produce texto reconocido. Es un modelo distinto de GPT-4o Transcribe, que utiliza GPT-4o, y del perfil GPT Transcribe más reciente, con sus campos independientes de palabras clave e indicaciones multilingües. El entregable útil aquí es una transcripción de la voz original de la grabación, preparada para búsqueda, revisión o un paso posterior de procesamiento de contenido.</p><h4>Prepara la grabación</h4><p>La guía de transcripción de archivos de OpenAI admite cargas de audio de hasta 25 MB. Su referencia actual del punto de acceso enumera FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV y WebM, con metadatos suficientes de nombre de archivo y tipo de contenido para identificar el formato de audio. Las grabaciones más grandes pueden comprimirse o dividirse en partes de 25 MB o menos. Conserva los límites de las frases al dividir y mantén cada parte asociada a su grabación de origen y su posición para poder montar después el texto en el orden correcto.</p><p>Para notas de voz, conserva una transcripción identificable por grabación y comprueba los nombres o números antes de utilizar el texto para crear tareas. Para un tutorial hablado, compara las palabras reconocidas con las instrucciones originales antes de editarlas para publicación. Unas instrucciones de preparación útiles identifican el idioma hablado y los términos que podrían reconocerse mal. Transcribir las palabras es el primer paso; una interpretación, un resumen o una traducción pueden utilizar después la transcripción comprobada.</p><h4>Indicaciones textuales y una sola indicación de idioma</h4><p>Las integraciones existentes de GPT-4o Mini Transcribe admiten instrucciones textuales libres. OpenAI describe instrucciones para nombres, siglas, vocabulario específico de la grabación, puntuación, mayúsculas, muletillas y sistema de escritura preferido. La referencia del punto de acceso indica que las instrucciones deben coincidir con el idioma del audio y pueden aportar contexto de un segmento de audio anterior. Incluye grafías pertinentes o una descripción breve del tema, en lugar de pedir que unas instrucciones de transcripción se comporten como una instrucción de conversación sin restricciones.</p><p>La indicación de idioma establecida de este modelo utiliza el campo language en singular. La referencia del proveedor documenta un código ISO 639-1 de idioma de entrada, como <code>en</code>. Los campos independientes keywords y languages en plural están documentados para GPT Transcribe; no forman parte de este perfil Mini. Para una serie de grabaciones, conserva el ajuste previsto del idioma hablado con cada entrada, en lugar de interpretarlo como una solicitud de traducir el resultado.</p><h4>Resultado JSON y probabilidades opcionales de tokens</h4><p>La referencia actual del punto de acceso documenta JSON como formato de respuesta admitido para GPT-4o Mini Transcribe. Las palabras reconocidas aparecen en el campo text. Cuando se solicitan, los logaritmos de las probabilidades de los tokens pueden acompañar a la respuesta JSON; estos valores describen las probabilidades de los tokens del modelo y pueden ayudar a identificar material para una revisión más detenida. No establecen que un nombre, un número o una frase coincidan con el sonido. Utiliza la grabación para decidir si debe corregirse una palabra dudosa.</p><p>El perfil normal de transcripción Mini no proporciona salida nativa SRT, VTT, marcas de tiempo detalladas por palabra ni salida etiquetada por hablante mediante esas especificaciones JSON. OpenAI documenta modelos y formatos especializados para esas capacidades. Si el entregable previsto es una pista de subtítulos, conserva la transcripción revisada para un flujo de sincronización independiente, en lugar de suponer que un resultado exclusivamente textual ya contiene los límites de los subtítulos.</p><h4>Salida de archivos transmitida y modos documentados</h4><p>La guía de voz a texto del proveedor indica explícitamente que las integraciones existentes de GPT-4o Mini Transcribe admiten transmisión de archivos en continuo. Una grabación finalizada puede producir texto de transcripción parcial seguido de un resultado final mientras se procesa. Conserva la transcripción final como el entregable completado; la aparición de texto parcial no significa que el flujo de archivos esté recibiendo continuamente audio de un micrófono en directo. La ficha del modelo enumera por separado las familias de puntos de acceso de transcripción y Realtime. Esas interfaces del proveedor no implican que todos los campos de sesión de un modelo de transcripción diferente se apliquen aquí.</p><h4>Contexto, capacidad de salida y comprobaciones útiles</h4><p>La especificación actual del modelo de OpenAI indica una ventana de contexto de 16.000 tokens, una salida máxima de 2.000 tokens y una fecha límite de conocimientos del 1 de junio de 2024. Son cifras de la especificación del modelo, no una duración universal en minutos para una grabación de audio. La regla de tamaño de archivo y una capacidad en tokens describen restricciones diferentes. Para material extenso, prepara la grabación conforme al flujo de archivos documentado, lleva el contexto pertinente entre las partes y comprueba que el texto final incluya el final de la fuente.</p><p>Un resultado útil de Mini Transcribe conserva las palabras y su relación con la grabación, manteniendo los datos opcionales de probabilidad separados de las correcciones editoriales. Revisa el vocabulario desconocido, los acentos, el ruido de fondo, los cambios de idioma y las voces solapadas con el audio original disponible. Al revisar el texto para mejorar su legibilidad, distingue esa versión editorial de la transcripción reconocida para que los usuarios posteriores puedan saber qué palabras procedían de la grabación y cuáles se cambiaron durante la preparación.</p>",
  "aboutText": "GPT-4o Mini Transcribe es el modelo de voz a texto de OpenAI basado en GPT-4o Mini. Acepta audio con indicaciones textuales opcionales y produce texto reconocido. Es un modelo distinto de GPT-4o Transcribe, que utiliza GPT-4o, y del perfil GPT Transcribe más reciente, con sus campos independientes de palabras clave e indicaciones multilingües. El entregable útil aquí es una transcripción de la voz original de la grabación, preparada para búsqueda, revisión o un paso posterior de procesamiento de contenido.\n\n### Prepara la grabación\n\nLa guía de transcripción de archivos de OpenAI admite cargas de audio de hasta 25 MB. Su referencia actual del punto de acceso enumera FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV y WebM, con metadatos suficientes de nombre de archivo y tipo de contenido para identificar el formato de audio. Las grabaciones más grandes pueden comprimirse o dividirse en partes de 25 MB o menos. Conserva los límites de las frases al dividir y mantén cada parte asociada a su grabación de origen y su posición para poder montar después el texto en el orden correcto.\n\nPara notas de voz, conserva una transcripción identificable por grabación y comprueba los nombres o números antes de utilizar el texto para crear tareas. Para un tutorial hablado, compara las palabras reconocidas con las instrucciones originales antes de editarlas para publicación. Unas instrucciones de preparación útiles identifican el idioma hablado y los términos que podrían reconocerse mal. Transcribir las palabras es el primer paso; una interpretación, un resumen o una traducción pueden utilizar después la transcripción comprobada.\n\n### Indicaciones textuales y una sola indicación de idioma\n\nLas integraciones existentes de GPT-4o Mini Transcribe admiten instrucciones textuales libres. OpenAI describe instrucciones para nombres, siglas, vocabulario específico de la grabación, puntuación, mayúsculas, muletillas y sistema de escritura preferido. La referencia del punto de acceso indica que las instrucciones deben coincidir con el idioma del audio y pueden aportar contexto de un segmento de audio anterior. Incluye grafías pertinentes o una descripción breve del tema, en lugar de pedir que unas instrucciones de transcripción se comporten como una instrucción de conversación sin restricciones.\n\nLa indicación de idioma establecida de este modelo utiliza el campo language en singular. La referencia del proveedor documenta un código ISO 639-1 de idioma de entrada, como `en`. Los campos independientes keywords y languages en plural están documentados para GPT Transcribe; no forman parte de este perfil Mini. Para una serie de grabaciones, conserva el ajuste previsto del idioma hablado con cada entrada, en lugar de interpretarlo como una solicitud de traducir el resultado.\n\n### Resultado JSON y probabilidades opcionales de tokens\n\nLa referencia actual del punto de acceso documenta JSON como formato de respuesta admitido para GPT-4o Mini Transcribe. Las palabras reconocidas aparecen en el campo text. Cuando se solicitan, los logaritmos de las probabilidades de los tokens pueden acompañar a la respuesta JSON; estos valores describen las probabilidades de los tokens del modelo y pueden ayudar a identificar material para una revisión más detenida. No establecen que un nombre, un número o una frase coincidan con el sonido. Utiliza la grabación para decidir si debe corregirse una palabra dudosa.\n\nEl perfil normal de transcripción Mini no proporciona salida nativa SRT, VTT, marcas de tiempo detalladas por palabra ni salida etiquetada por hablante mediante esas especificaciones JSON. OpenAI documenta modelos y formatos especializados para esas capacidades. Si el entregable previsto es una pista de subtítulos, conserva la transcripción revisada para un flujo de sincronización independiente, en lugar de suponer que un resultado exclusivamente textual ya contiene los límites de los subtítulos.\n\n### Salida de archivos transmitida y modos documentados\n\nLa guía de voz a texto del proveedor indica explícitamente que las integraciones existentes de GPT-4o Mini Transcribe admiten transmisión de archivos en continuo. Una grabación finalizada puede producir texto de transcripción parcial seguido de un resultado final mientras se procesa. Conserva la transcripción final como el entregable completado; la aparición de texto parcial no significa que el flujo de archivos esté recibiendo continuamente audio de un micrófono en directo. La ficha del modelo enumera por separado las familias de puntos de acceso de transcripción y Realtime. Esas interfaces del proveedor no implican que todos los campos de sesión de un modelo de transcripción diferente se apliquen aquí.\n\n### Contexto, capacidad de salida y comprobaciones útiles\n\nLa especificación actual del modelo de OpenAI indica una ventana de contexto de 16.000 tokens, una salida máxima de 2.000 tokens y una fecha límite de conocimientos del 1 de junio de 2024. Son cifras de la especificación del modelo, no una duración universal en minutos para una grabación de audio. La regla de tamaño de archivo y una capacidad en tokens describen restricciones diferentes. Para material extenso, prepara la grabación conforme al flujo de archivos documentado, lleva el contexto pertinente entre las partes y comprueba que el texto final incluya el final de la fuente.\n\nUn resultado útil de Mini Transcribe conserva las palabras y su relación con la grabación, manteniendo los datos opcionales de probabilidad separados de las correcciones editoriales. Revisa el vocabulario desconocido, los acentos, el ruido de fondo, los cambios de idioma y las voces solapadas con el audio original disponible. Al revisar el texto para mejorar su legibilidad, distingue esa versión editorial de la transcripción reconocida para que los usuarios posteriores puedan saber qué palabras procedían de la grabación y cuáles se cambiaron durante la preparación.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "09a1ead04ef71a8864b477b269a1d1333f2a32efd4b3b17759efc97d3ee3c792",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "es",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">O</span><h2 id=\"sheet-title\">OpenAI: GPT-4o Mini Transcribe</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Cerrar\">×</button></div><div class=\"idline\"><span>OpenAI /</span><code>openai/gpt-4o-mini-transcribe</code><button type=\"button\" id=\"copy-id\">Copiar ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Secciones de la ficha del modelo\"><button type=\"button\" data-card-jump=\"overview\">Primeros pasos</button><button type=\"button\" data-card-jump=\"methods\">Entradas y métodos</button><button type=\"button\" data-card-jump=\"pricing\">Planes</button><button type=\"button\" data-card-jump=\"examples\">Ejemplos</button><button type=\"button\" data-card-jump=\"results\">Resultados</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Métodos de API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fgpt-4o-mini-transcribe\">Transcripción</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\">Primeros pasos</h3><p class=\"mdesc-full\">GPT-4o Mini Transcribe es el modelo de voz a texto de OpenAI basado en GPT-4o Mini. Convierte audio en una transcripción JSON, admite instrucciones textuales específicas de la grabación y resultados de archivos transmitidos en continuo y puede devolver logaritmos de las probabilidades de los tokens para una revisión concreta de la transcripción.</p><dl class=\"card-io\" data-card-io><div><dt>Entradas aceptadas</dt><dd>Audio</dd></div><div><dt>Resultados</dt><dd>Texto</dd></div></dl><details class=\"card-about\"><summary>Sobre el modelo</summary><p class=\"note-s\" data-model-method-boundary>Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.</p><div class=\"mabout\" id=\"m-about\"><p>GPT-4o Mini Transcribe es el modelo de voz a texto de OpenAI basado en GPT-4o Mini. Acepta audio con indicaciones textuales opcionales y produce texto reconocido. Es un modelo distinto de GPT-4o Transcribe, que utiliza GPT-4o, y del perfil GPT Transcribe más reciente, con sus campos independientes de palabras clave e indicaciones multilingües. El entregable útil aquí es una transcripción de la voz original de la grabación, preparada para búsqueda, revisión o un paso posterior de procesamiento de contenido.</p><h4>Prepara la grabación</h4><p>La guía de transcripción de archivos de OpenAI admite cargas de audio de hasta 25 MB. Su referencia actual del punto de acceso enumera FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV y WebM, con metadatos suficientes de nombre de archivo y tipo de contenido para identificar el formato de audio. Las grabaciones más grandes pueden comprimirse o dividirse en partes de 25 MB o menos. Conserva los límites de las frases al dividir y mantén cada parte asociada a su grabación de origen y su posición para poder montar después el texto en el orden correcto.</p><p>Para notas de voz, conserva una transcripción identificable por grabación y comprueba los nombres o números antes de utilizar el texto para crear tareas. Para un tutorial hablado, compara las palabras reconocidas con las instrucciones originales antes de editarlas para publicación. Unas instrucciones de preparación útiles identifican el idioma hablado y los términos que podrían reconocerse mal. Transcribir las palabras es el primer paso; una interpretación, un resumen o una traducción pueden utilizar después la transcripción comprobada.</p><h4>Indicaciones textuales y una sola indicación de idioma</h4><p>Las integraciones existentes de GPT-4o Mini Transcribe admiten instrucciones textuales libres. OpenAI describe instrucciones para nombres, siglas, vocabulario específico de la grabación, puntuación, mayúsculas, muletillas y sistema de escritura preferido. La referencia del punto de acceso indica que las instrucciones deben coincidir con el idioma del audio y pueden aportar contexto de un segmento de audio anterior. Incluye grafías pertinentes o una descripción breve del tema, en lugar de pedir que unas instrucciones de transcripción se comporten como una instrucción de conversación sin restricciones.</p><p>La indicación de idioma establecida de este modelo utiliza el campo language en singular. La referencia del proveedor documenta un código ISO 639-1 de idioma de entrada, como <code>en</code>. Los campos independientes keywords y languages en plural están documentados para GPT Transcribe; no forman parte de este perfil Mini. Para una serie de grabaciones, conserva el ajuste previsto del idioma hablado con cada entrada, en lugar de interpretarlo como una solicitud de traducir el resultado.</p><h4>Resultado JSON y probabilidades opcionales de tokens</h4><p>La referencia actual del punto de acceso documenta JSON como formato de respuesta admitido para GPT-4o Mini Transcribe. Las palabras reconocidas aparecen en el campo text. Cuando se solicitan, los logaritmos de las probabilidades de los tokens pueden acompañar a la respuesta JSON; estos valores describen las probabilidades de los tokens del modelo y pueden ayudar a identificar material para una revisión más detenida. No establecen que un nombre, un número o una frase coincidan con el sonido. Utiliza la grabación para decidir si debe corregirse una palabra dudosa.</p><p>El perfil normal de transcripción Mini no proporciona salida nativa SRT, VTT, marcas de tiempo detalladas por palabra ni salida etiquetada por hablante mediante esas especificaciones JSON. OpenAI documenta modelos y formatos especializados para esas capacidades. Si el entregable previsto es una pista de subtítulos, conserva la transcripción revisada para un flujo de sincronización independiente, en lugar de suponer que un resultado exclusivamente textual ya contiene los límites de los subtítulos.</p><h4>Salida de archivos transmitida y modos documentados</h4><p>La guía de voz a texto del proveedor indica explícitamente que las integraciones existentes de GPT-4o Mini Transcribe admiten transmisión de archivos en continuo. Una grabación finalizada puede producir texto de transcripción parcial seguido de un resultado final mientras se procesa. Conserva la transcripción final como el entregable completado; la aparición de texto parcial no significa que el flujo de archivos esté recibiendo continuamente audio de un micrófono en directo. La ficha del modelo enumera por separado las familias de puntos de acceso de transcripción y Realtime. Esas interfaces del proveedor no implican que todos los campos de sesión de un modelo de transcripción diferente se apliquen aquí.</p><h4>Contexto, capacidad de salida y comprobaciones útiles</h4><p>La especificación actual del modelo de OpenAI indica una ventana de contexto de 16.000 tokens, una salida máxima de 2.000 tokens y una fecha límite de conocimientos del 1 de junio de 2024. Son cifras de la especificación del modelo, no una duración universal en minutos para una grabación de audio. La regla de tamaño de archivo y una capacidad en tokens describen restricciones diferentes. Para material extenso, prepara la grabación conforme al flujo de archivos documentado, lleva el contexto pertinente entre las partes y comprueba que el texto final incluya el final de la fuente.</p><p>Un resultado útil de Mini Transcribe conserva las palabras y su relación con la grabación, manteniendo los datos opcionales de probabilidad separados de las correcciones editoriales. Revisa el vocabulario desconocido, los acentos, el ruido de fondo, los cambios de idioma y las voces solapadas con el audio original disponible. Al revisar el texto para mejorar su legibilidad, distingue esa versión editorial de la transcripción reconocida para que los usuarios posteriores puedan saber qué palabras procedían de la grabación y cuáles se cambiaron durante la preparación.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponible en Ailoot · entradas y métodos</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Transcripción</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Tipos de entrada</dt><dd><code>audio</code></dd></div><div><dt>Tipos de salida</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 y límites</th><th>Predeterminado</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>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>openai/gpt-4o-mini-transcribe</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</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>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parámetros del método y ciclo de vida</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>El ejemplo lee tu archivo PCM WAV real y no vacío, codifica todos los bytes del archivo en base64 y envía input_audio.format con el valor 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 exacto de un registro existente de medios bajo tu titularidad</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\">Planes</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.</p><dl data-price-conditions><dt>Modo rápido</dt><dd>Sin especificar <span class=\"note-s\">Cuando se selecciona el modo rápido</span></dd><dt>Modo flex</dt><dd>Sin especificar <span class=\"note-s\">Cuando se selecciona el modo flex</span></dd><dt>Esfuerzo máximo de razonamiento</dt><dd>Sin especificar <span class=\"note-s\">Cuando el esfuerzo máximo de razonamiento utiliza el ajuste predeterminado (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tarifas de Ailoot</h4><h4>Precios por configuración</h4><p class=\"note-s\">Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuración</th><th>Tabla de tarifas</th><th>Unidad de facturación</th><th>Cargo</th></tr></thead><tbody><tr><th data-cell-label=\"Configuración\" scope=\"row\"><span class=\"card-cell-label\">Configuración</span>Tarifas base por token</th><td data-cell-label=\"Tabla de tarifas\"><span class=\"card-cell-label\">Tabla de tarifas</span>Tarifa base</td><td data-cell-label=\"Unidad de facturación\"><span class=\"card-cell-label\">Unidad de facturación</span>—</td><td data-cell-label=\"Cargo\"><span class=\"card-cell-label\">Cargo</span><div><span>Entrada · Tokens de entrada</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Salida · Tokens de salida</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Lectura de caché</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Escritura en caché</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Escritura en caché, 1 hora</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuración\" scope=\"row\"><span class=\"card-cell-label\">Configuración</span>token de entrada</th><td data-cell-label=\"Tabla de tarifas\"><span class=\"card-cell-label\">Tabla de tarifas</span>—</td><td data-cell-label=\"Unidad de facturación\"><span class=\"card-cell-label\">Unidad de facturación</span>/ 1K tokens</td><td data-cell-label=\"Cargo\"><span class=\"card-cell-label\">Cargo</span><div><span>Entrada</span> <b>$0.0025</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuración\" scope=\"row\"><span class=\"card-cell-label\">Configuración</span>token de salida</th><td data-cell-label=\"Tabla de tarifas\"><span class=\"card-cell-label\">Tabla de tarifas</span>—</td><td data-cell-label=\"Unidad de facturación\"><span class=\"card-cell-label\">Unidad de facturación</span>/ 1K tokens</td><td data-cell-label=\"Cargo\"><span class=\"card-cell-label\">Cargo</span><div><span>Salida</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserva un importe estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. <a href=\"/docs/es/billing/reserve/\">Cómo funcionan la reserva y la liquidación →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Solicitudes de ejemplo</h3><h4>Ailoot Ultra · Transcripción</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Variantes del código\"><button class=\"cg-tab\" id=\"model-code-2046-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2046-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · archivo WAV real y resultado original completo</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copiar código\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2046-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2046-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;openai/gpt-4o-mini-transcribe&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Recibir y guardar resultados</h3><h4>Ailoot Ultra · Transcripción</h4><p class=\"note-s\">Cuerpo original completo de la respuesta, estado y cabeceras reenviadas. Este manejador no añade una estructura JSON universal, un campo de texto ni un contenedor de tarea.</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>Conserva todos los resultados completados</h5><p class=\"note-s\">Conserva todas las respuestas, archivos y partes de contenido completos recibidos.</p><p class=\"note-s\">Conserva la respuesta completa y las cabeceras, todas las salidas reales, los identificadores originales devueltos y todos los campos de uso. Recupera la operación original sin volver a enviar la solicitud de creación.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Si es necesario revisar la respuesta original</h5><p class=\"note-s\">Conserva el X-Client-Request-ID real y la respuesta completa. Consulta los recursos originales bajo tu titularidad y sus URL firmadas exactas de contenido; no vuelvas a enviar nunca una creación incierta.</p></div><details class=\"card-about\" data-output-fields><summary>Campos de respuesta</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>Errores y siguientes pasos</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Respuesta</th><th>Condición</th><th>Siguiente paso</th></tr></thead><tbody><tr><th data-cell-label=\"Respuesta\" scope=\"row\"><span class=\"card-cell-label\">Respuesta</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Condición\"><span class=\"card-cell-label\">Condición</span>El cuerpo JSON o el ID canónico explícito del modelo no es válido.</td><td data-cell-label=\"Siguiente paso\"><span class=\"card-cell-label\">Siguiente paso</span>Conserva la respuesta y corrige el campo indicado de la solicitud.</td></tr><tr><th data-cell-label=\"Respuesta\" scope=\"row\"><span class=\"card-cell-label\">Respuesta</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Condición\"><span class=\"card-cell-label\">Condición</span>La clave API de Ailoot no es válida.</td><td data-cell-label=\"Siguiente paso\"><span class=\"card-cell-label\">Siguiente paso</span>Usa tu clave API autorizada de Ailoot.</td></tr><tr><th data-cell-label=\"Respuesta\" scope=\"row\"><span class=\"card-cell-label\">Respuesta</span>403 · <code>permission_error</code></th><td data-cell-label=\"Condición\"><span class=\"card-cell-label\">Condición</span>El grupo de la clave no tiene acceso a este método.</td><td data-cell-label=\"Siguiente paso\"><span class=\"card-cell-label\">Siguiente paso</span>Conserva los detalles del error devueltos.</td></tr><tr><th data-cell-label=\"Respuesta\" scope=\"row\"><span class=\"card-cell-label\">Respuesta</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Condición\"><span class=\"card-cell-label\">Condición</span>El método seleccionado no tiene ninguna ruta admitida.</td><td data-cell-label=\"Siguiente paso\"><span class=\"card-cell-label\">Siguiente paso</span>Conserva los detalles del error devueltos.</td></tr><tr><th data-cell-label=\"Respuesta\" scope=\"row\"><span class=\"card-cell-label\">Respuesta</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Condición\"><span class=\"card-cell-label\">Condición</span>La tarifa aceptada no puede obtener la cantidad de entrada o el límite que necesita.</td><td data-cell-label=\"Siguiente paso\"><span class=\"card-cell-label\">Siguiente paso</span>Conserva la respuesta; utiliza la representación de entrada exigida por la tarifa aceptada.</td></tr><tr><th data-cell-label=\"Respuesta\" scope=\"row\"><span class=\"card-cell-label\">Respuesta</span>503 · <code></code></th><td data-cell-label=\"Condición\"><span class=\"card-cell-label\">Condición</span>El almacenamiento, la ruta, el precio del método o la reserva necesarios no están disponibles.</td><td data-cell-label=\"Siguiente paso\"><span class=\"card-cell-label\">Siguiente paso</span>Conserva la respuesta original completa. Una reserva incierta no autoriza un reenvío.</td></tr><tr><th data-cell-label=\"Respuesta\" scope=\"row\"><span class=\"card-cell-label\">Respuesta</span>502 · <code>server_error</code></th><td data-cell-label=\"Condición\"><span class=\"card-cell-label\">Condición</span>Es necesario comprobar el resultado original, el uso o la liquidación.</td><td data-cell-label=\"Siguiente paso\"><span class=\"card-cell-label\">Siguiente paso</span>Conserva el ID real de solicitud y la respuesta original. Consulta el registro existente bajo tu titularidad; no vuelvas a enviar la solicitud de creación.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias del modelo</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=openai%2Fgpt-4o-mini-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-4o-mini-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-4o-mini-transcribe</code></a></span></p><h4>Alias de rutas de métodos</h4><p class=\"note-s\">Usa las rutas de método indicadas arriba.</p><h4>ID de modelo relacionados</h4><p class=\"note-s\"><a href=\"#m=openai%2Fgpt-4o-mini-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-4o-mini-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-4o-mini-transcribe</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/gpt-4o-mini-transcribe",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/gpt-4o-mini-transcribe",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fgpt-4o-mini-transcribe",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "El cuerpo JSON o el ID canónico explícito del modelo no es válido.",
                "http_status": 400,
                "recovery": "Conserva la respuesta y corrige el campo indicado de la solicitud.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "La clave API de Ailoot no es válida.",
                "http_status": 401,
                "recovery": "Usa tu clave API autorizada de Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "El grupo de la clave no tiene acceso a este método.",
                "http_status": 403,
                "recovery": "Conserva los detalles del error devueltos.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "El método seleccionado no tiene ninguna ruta admitida.",
                "http_status": 404,
                "recovery": "Conserva los detalles del error devueltos.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "La tarifa aceptada no puede obtener la cantidad de entrada o el límite que necesita.",
                "http_status": 422,
                "recovery": "Conserva la respuesta; utiliza la representación de entrada exigida por la tarifa aceptada.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "El almacenamiento, la ruta, el precio del método o la reserva necesarios no están disponibles.",
                "http_status": 503,
                "recovery": "Conserva la respuesta original completa. Una reserva incierta no autoriza un reenvío.",
                "type": null
              },
              {
                "code": null,
                "condition": "Es necesario comprobar el resultado original, el uso o la liquidación.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Conserva el ID real de solicitud y la respuesta original. Consulta el registro existente bajo tu titularidad; no vuelvas a enviar la solicitud de creación.",
                "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": "Conserva el X-Client-Request-ID real y la respuesta completa. Consulta los recursos originales bajo tu titularidad y sus URL firmadas exactas de contenido; no vuelvas a enviar nunca una creación incierta."
            },
            "outputs": {
              "all_results": "Conserva la respuesta completa y las cabeceras, todas las salidas reales, los identificadores originales devueltos y todos los campos de uso. Recupera la operación original sin volver a enviar la solicitud de creación.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Cuerpo original completo de la respuesta, estado y cabeceras reenviadas. Este manejador no añade una estructura JSON universal, un campo de texto ni un contenedor de tarea."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "openai/gpt-4o-mini-transcribe"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "openai/gpt-4o-mini-transcribe"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/gpt-4o-mini-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "El ejemplo lee tu archivo PCM WAV real y no vacío, codifica todos los bytes del archivo en base64 y envía input_audio.format con el valor 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 exacto de un registro existente de medios bajo tu titularidad",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000025",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00001",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'openai/gpt-4o-mini-transcribe', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Transcripción",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "input_token": 2.5e-06,
            "output_token": 1e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000025",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00001",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          }
        ],
        "request_model_id": "openai/gpt-4o-mini-transcribe",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000025",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00001",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ]
      }
    }
  ],
  "model_id": "openai/gpt-4o-mini-transcribe",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "cfb70b57ccdb8892982db07b456543b27d8b84953257085a80f9746560bade3d",
    "input_html_sha256": "1e71482835e447597f894a50a888d32448b0752c7a9a641fff6586fe79aaf416",
    "private_audit_sha256": "4d38f030baddef497195c6f41929f007d287b2b86ea2ca1c65a24b9d5421a962",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/es/openai-gpt-4o-mini-transcribe/",
    "description": "GPT-4o Mini Transcribe es el modelo de voz a texto de OpenAI basado en GPT-4o Mini. Convierte audio en una transcripción JSON, admite instrucciones textuales específicas de la grabación y resultados de archivos transmitidos en continuo y puede devolver logaritmos de las probabilidades de los tokens para una revisión concreta de la transcripción.",
    "locale": "es",
    "md_url": "https://ailoot.ai/models/es/openai-gpt-4o-mini-transcribe/index.md",
    "title": "OpenAI: GPT-4o Mini Transcribe — Ailoot",
    "url": "https://ailoot.ai/models/es/openai-gpt-4o-mini-transcribe/"
  },
  "rawModel": {
    "about": "GPT-4o Mini Transcribe es el modelo de voz a texto de OpenAI basado en GPT-4o Mini. Acepta audio con indicaciones textuales opcionales y produce texto reconocido. Es un modelo distinto de GPT-4o Transcribe, que utiliza GPT-4o, y del perfil GPT Transcribe más reciente, con sus campos independientes de palabras clave e indicaciones multilingües. El entregable útil aquí es una transcripción de la voz original de la grabación, preparada para búsqueda, revisión o un paso posterior de procesamiento de contenido.\n\n### Prepara la grabación\n\nLa guía de transcripción de archivos de OpenAI admite cargas de audio de hasta 25 MB. Su referencia actual del punto de acceso enumera FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV y WebM, con metadatos suficientes de nombre de archivo y tipo de contenido para identificar el formato de audio. Las grabaciones más grandes pueden comprimirse o dividirse en partes de 25 MB o menos. Conserva los límites de las frases al dividir y mantén cada parte asociada a su grabación de origen y su posición para poder montar después el texto en el orden correcto.\n\nPara notas de voz, conserva una transcripción identificable por grabación y comprueba los nombres o números antes de utilizar el texto para crear tareas. Para un tutorial hablado, compara las palabras reconocidas con las instrucciones originales antes de editarlas para publicación. Unas instrucciones de preparación útiles identifican el idioma hablado y los términos que podrían reconocerse mal. Transcribir las palabras es el primer paso; una interpretación, un resumen o una traducción pueden utilizar después la transcripción comprobada.\n\n### Indicaciones textuales y una sola indicación de idioma\n\nLas integraciones existentes de GPT-4o Mini Transcribe admiten instrucciones textuales libres. OpenAI describe instrucciones para nombres, siglas, vocabulario específico de la grabación, puntuación, mayúsculas, muletillas y sistema de escritura preferido. La referencia del punto de acceso indica que las instrucciones deben coincidir con el idioma del audio y pueden aportar contexto de un segmento de audio anterior. Incluye grafías pertinentes o una descripción breve del tema, en lugar de pedir que unas instrucciones de transcripción se comporten como una instrucción de conversación sin restricciones.\n\nLa indicación de idioma establecida de este modelo utiliza el campo language en singular. La referencia del proveedor documenta un código ISO 639-1 de idioma de entrada, como `en`. Los campos independientes keywords y languages en plural están documentados para GPT Transcribe; no forman parte de este perfil Mini. Para una serie de grabaciones, conserva el ajuste previsto del idioma hablado con cada entrada, en lugar de interpretarlo como una solicitud de traducir el resultado.\n\n### Resultado JSON y probabilidades opcionales de tokens\n\nLa referencia actual del punto de acceso documenta JSON como formato de respuesta admitido para GPT-4o Mini Transcribe. Las palabras reconocidas aparecen en el campo text. Cuando se solicitan, los logaritmos de las probabilidades de los tokens pueden acompañar a la respuesta JSON; estos valores describen las probabilidades de los tokens del modelo y pueden ayudar a identificar material para una revisión más detenida. No establecen que un nombre, un número o una frase coincidan con el sonido. Utiliza la grabación para decidir si debe corregirse una palabra dudosa.\n\nEl perfil normal de transcripción Mini no proporciona salida nativa SRT, VTT, marcas de tiempo detalladas por palabra ni salida etiquetada por hablante mediante esas especificaciones JSON. OpenAI documenta modelos y formatos especializados para esas capacidades. Si el entregable previsto es una pista de subtítulos, conserva la transcripción revisada para un flujo de sincronización independiente, en lugar de suponer que un resultado exclusivamente textual ya contiene los límites de los subtítulos.\n\n### Salida de archivos transmitida y modos documentados\n\nLa guía de voz a texto del proveedor indica explícitamente que las integraciones existentes de GPT-4o Mini Transcribe admiten transmisión de archivos en continuo. Una grabación finalizada puede producir texto de transcripción parcial seguido de un resultado final mientras se procesa. Conserva la transcripción final como el entregable completado; la aparición de texto parcial no significa que el flujo de archivos esté recibiendo continuamente audio de un micrófono en directo. La ficha del modelo enumera por separado las familias de puntos de acceso de transcripción y Realtime. Esas interfaces del proveedor no implican que todos los campos de sesión de un modelo de transcripción diferente se apliquen aquí.\n\n### Contexto, capacidad de salida y comprobaciones útiles\n\nLa especificación actual del modelo de OpenAI indica una ventana de contexto de 16.000 tokens, una salida máxima de 2.000 tokens y una fecha límite de conocimientos del 1 de junio de 2024. Son cifras de la especificación del modelo, no una duración universal en minutos para una grabación de audio. La regla de tamaño de archivo y una capacidad en tokens describen restricciones diferentes. Para material extenso, prepara la grabación conforme al flujo de archivos documentado, lleva el contexto pertinente entre las partes y comprueba que el texto final incluya el final de la fuente.\n\nUn resultado útil de Mini Transcribe conserva las palabras y su relación con la grabación, manteniendo los datos opcionales de probabilidad separados de las correcciones editoriales. Revisa el vocabulario desconocido, los acentos, el ruido de fondo, los cambios de idioma y las voces solapadas con el audio original disponible. Al revisar el texto para mejorar su legibilidad, distingue esa versión editorial de la transcripción reconocida para que los usuarios posteriores puedan saber qué palabras procedían de la grabación y cuáles se cambiaron durante la preparación.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "capabilities": {
      "context_length": 128000,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000025",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00001",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Consulta los precios completos de la configuración en los detalles."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "openai/gpt-4o-mini-transcribe",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "El cuerpo JSON o el ID canónico explícito del modelo no es válido.",
                "http_status": 400,
                "recovery": "Conserva la respuesta y corrige el campo indicado de la solicitud.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "La clave API de Ailoot no es válida.",
                "http_status": 401,
                "recovery": "Usa tu clave API autorizada de Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "El grupo de la clave no tiene acceso a este método.",
                "http_status": 403,
                "recovery": "Conserva los detalles del error devueltos.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "El método seleccionado no tiene ninguna ruta admitida.",
                "http_status": 404,
                "recovery": "Conserva los detalles del error devueltos.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "La tarifa aceptada no puede obtener la cantidad de entrada o el límite que necesita.",
                "http_status": 422,
                "recovery": "Conserva la respuesta; utiliza la representación de entrada exigida por la tarifa aceptada.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "El almacenamiento, la ruta, el precio del método o la reserva necesarios no están disponibles.",
                "http_status": 503,
                "recovery": "Conserva la respuesta original completa. Una reserva incierta no autoriza un reenvío.",
                "type": null
              },
              {
                "code": null,
                "condition": "Es necesario comprobar el resultado original, el uso o la liquidación.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Conserva el ID real de solicitud y la respuesta original. Consulta el registro existente bajo tu titularidad; no vuelvas a enviar la solicitud de creación.",
                "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": "Conserva el X-Client-Request-ID real y la respuesta completa. Consulta los recursos originales bajo tu titularidad y sus URL firmadas exactas de contenido; no vuelvas a enviar nunca una creación incierta."
            },
            "outputs": {
              "all_results": "Conserva la respuesta completa y las cabeceras, todas las salidas reales, los identificadores originales devueltos y todos los campos de uso. Recupera la operación original sin volver a enviar la solicitud de creación.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Cuerpo original completo de la respuesta, estado y cabeceras reenviadas. Este manejador no añade una estructura JSON universal, un campo de texto ni un contenedor de tarea."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "openai/gpt-4o-mini-transcribe"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "openai/gpt-4o-mini-transcribe"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/gpt-4o-mini-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "El ejemplo lee tu archivo PCM WAV real y no vacío, codifica todos los bytes del archivo en base64 y envía input_audio.format con el valor 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 exacto de un registro existente de medios bajo tu titularidad",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000025",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00001",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'openai/gpt-4o-mini-transcribe', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Transcripción",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "input_token": 2.5e-06,
            "output_token": 1e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000025",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00001",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          }
        ],
        "request_model_id": "openai/gpt-4o-mini-transcribe",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000025",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00001",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "openai/gpt-4o-mini-transcribe",
        "request_model_id": "openai/gpt-4o-mini-transcribe",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: GPT-4o Mini Transcribe",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.01,
      "out_label": "/ 1K tokens",
      "sort_in": null,
      "sort_out": 0.01,
      "varies": true
    },
    "short": "GPT-4o Mini Transcribe es el modelo de voz a texto de OpenAI basado en GPT-4o Mini. Convierte audio en una transcripción JSON, admite instrucciones textuales específicas de la grabación y resultados de archivos transmitidos en continuo y puede devolver logaritmos de las probabilidades de los tokens para una revisión concreta de la transcripción."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "GPT-4o Mini Transcribe es el modelo de voz a texto de OpenAI basado en GPT-4o Mini. Convierte audio en una transcripción JSON, admite instrucciones textuales específicas de la grabación y resultados de archivos transmitidos en continuo y puede devolver logaritmos de las probabilidades de los tokens para una revisión concreta de la transcripción.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "4991896549fdec5a51ff4b6c4e96114bf323f0f8fade96bfd450833b527a1e21",
    "renderer_sha256": "b6d488b4bdee68568e5b17d2d4871b2ba1885e1032091b635a7a58ad2ca224e7"
  },
  "sourceRevision": "5751b5ece5b0d3221a7baf72b6cdddd3fdd4e10260bfd7d6b56a5d1833363127"
}
