Tutorial de GPT Transcribe vs. GPT Live Transcribe: Archivos y transcripción de voz en tiempo real

Compara GPT Transcribe y GPT Live Transcribe para archivos, Realtime y streaming de baja latencia, con contexto, palabras clave, idiomas esperados y consideraciones de producción.

OpenAI lanzó oficialmente dos modelos de transcripción de voz el 28 de julio de 2026: gpt-transcribe y gpt-live-transcribe. Ambos forman parte de la API de Audio y del sistema de transcripción en tiempo real, pero abordan diferentes cuestiones.

  • gpt-transcribe: Procesar el archivo de audio terminado o transcribir en tiempo real el segmento de voz completo ya enviado.
  • gpt-live-transcribe: Recibir audio en directo de forma continua y devolver texto incremental lo antes posible.

Todos ellos soportan contexto de formato libre, indicaciones de palabras clave y múltiples lenguajes de entrada esperados, lo que los hace adecuados para actas de reuniones, llamadas de atención al cliente, subtítulos en directo, búsqueda por voz y organización de grabaciones multilingües.

Primero, selecciona el modelo por método de llegada de audio

Requisitos Modelo recomendado Métodos de acceso
Sube el audio que ya has grabado gpt-transcribe /v1/audio/transcriptions
Gestión de solicitudes de audio de duración limitada gpt-transcribe API de transcripciones
El texto devolvía párrafo a párrafo durante el procesamiento de archivos gpt-transcribe Transcripción de archivos y habilitar la salida en streaming
Envía un clip de audio en tiempo real antes de transcribir gpt-transcribe Transcripción en tiempo real
Visualización en tiempo real de los subtítulos mediante micrófono o audio del teléfono gpt-live-transcribe API en tiempo real
Incrementos de texto continuos recibidos en conexiones persistentes gpt-live-transcribe WebSocket o WebRTC

El más fácil de confundir es el término “streaming”. Los archivos que ya han sido grabados también pueden transmitir parte del texto durante el procesamiento, pero el audio en sí ya está intacto y no requiere establecer una sesión en tiempo real. Solo cuando el audio sigue llegando continuamente de micrófonos, teléfonos o flujos multimedia se necesita gpt-live-transcribe y se necesitan conexiones persistentes en tiempo real.

Diferencias en capacidades entre los dos modelos

Capacidades gpt-transcribe gpt-live-transcribe
Modalidad de entrada Contexto de audio/texto Contexto de audio/texto
Modalidad de salida Texto Texto
Extremo de transcripción de archivos Soportado No soportado
Transcripción en tiempo real Soporta clips enviados Soporta incremental en tiempo real
Texto incremental de salida Soporte Soporte
Detección del idioma de entrada Compatible No devuelve una predicción del idioma
Ajuste de latencia No aplicable Compatible
Marca temporal a nivel de palabra No soportado No soportado
Etiquetas de hablante No compatible No compatible
Confianza en la transcripción No soportado No soportado

Si una empresa necesita obtener marcas de tiempo de palabras, SRT o VTTs, las directrices oficiales de transcripción siguen recomendando usar whisper-1. Cuando se necesitan etiquetas de altavoces, se deben usar modelos de transcripción de archivos gpt-4o-transcribe-diarize, en lugar de requerir que estos dos modelos adivinen al hablante.

Prepara el SDK y la clave API

Instalación o actualización del SDK de Python:

1
pip install -U openai

Establecer clave API:

1
$env:OPENAI_API_KEY = "你的_API_Key"

No escribas claves API en scripts, código frontend ni repositorios Git. Cuando los navegadores usan API en tiempo real vía WebRTC, las credenciales de cliente a corto plazo deben ser creadas por el backend, no enviadas al navegador con claves de servidor a largo plazo.

Transcripción de archivos de audio con GPT Transcribe

Llamadas de transcripción de archivos /v1/audio/transcriptions. A continuación se muestra la sintaxis básica del SDK oficial de Python:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from openai import OpenAI

client = OpenAI()

with open("meeting.wav", "rb") as audio_file:
    transcription = client.audio.transcriptions.create(
        model="gpt-transcribe",
        file=audio_file,
    )

print(transcription.text)

La solicitud cURL correspondiente es la siguiente:

1
2
3
4
5
curl https://api.openai.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F model="gpt-transcribe" \
  -F file="@/path/to/file/meeting.wav"

Los formatos comunes listados en la guía de transcripción incluyen:

  • mp3
  • mp4
  • mpeg
  • mpga
  • m4a
  • wav
  • webm

El tamaño máximo por archivo es de 25 MB. Las grabaciones más grandes deben comprimirse o dividirse primero, manteniendo cada segmento por debajo de 25 MB. Al dividir, intenta elegir pausas o límites de oración; evita truncar entre nombres, números o frases completas, o clips adyacentes perderán el contexto semántico.

Usar el contexto para mejorar la tasa de reconocimiento de términos técnicos

Ambos nuevos modelos aceptan tres tipos de contextos transscriptos:

  • prompt: Describe el tema, escena o fondo de la grabación.
  • keywords: Nombres de productos, abreviaturas y términos propietarios que pueden aparecer en el audio.
  • languages: Se espera que aparezcan uno o más lenguajes de entrada.

Ejemplo de transcripción de archivo:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from openai import OpenAI

client = OpenAI()

with open("support-call.wav", "rb") as audio_file:
    transcription = client.audio.transcriptions.create(
        model="gpt-transcribe",
        file=audio_file,
        prompt="一段关于高级套餐和账户 AC-42 的客户支持通话。",
        extra_body={
            "keywords": ["高级套餐", "AC-42", "账单"],
            "languages": ["zh-cn", "en"],
        },
    )

print(transcription.text)

prompt Información relacionada con la grabación debe proporcionarse, sin repetir tareas como “Por favor, convertir audio a texto.” keywords Es solo una pista, no una lista de vocabulario que el modelo debe generar. Si falta una palabra clave en el audio, el resultado de la transcripción no debe añadirse de la nada. Demasiadas palabras clave o que no sean relevantes para el contenido pueden provocar que aparezcan palabras no dichas en los resultados. Antes de lanzar, compara la tasa real de error con o sin palabras clave.

Diferencias entre languages y el antiguo parámetro language

gpt-transcribe y gpt-live-transcribe utilizan el parámetro plural languages; no envían language singulares antiguas al mismo tiempo. Los formatos de código oficialmente soportados incluyen:

  • ISO 639-1, como en, es, fr.
  • Partes de ISO 639-3, como eng, spa, yue, cmn.
  • Códigos regionales chinos, como zh-cn, zh-tw, zh-hk.

El código de lenguaje no soportado o con un formato incorrecto será rechazado por la API. Las llamadas multilingües pueden proporcionar varios idiomas candidatos, pero no incluyen lenguajes completamente no relacionados en la solicitud. Las palabras clave deben mantener un valor por línea y no pueden contener <, >, retornos de carrido ni caracteres de nueva línea. Cuando se encuentren estos caracteres, las solicitudes de archivo o las actualizaciones de sesión en tiempo real serán rechazadas por completo.

Crear sesiones de GPT Live Transcribe

El tipo de sesión de transcripción en tiempo real es transcription. La cadena de audio del lado del servidor suele usar WebSocket, mientras que los escenarios de micrófono del navegador suelen usar WebRTC. La siguiente session.update utiliza audio PCM de 24 kHz y desactiva la detección automática de giro por voz:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
  "type": "session.update",
  "session": {
    "type": "transcription",
    "audio": {
      "input": {
        "format": {
          "type": "audio/pcm",
          "rate": 24000
        },
        "transcription": {
          "model": "gpt-live-transcribe",
          "prompt": "一场包含中英文产品名称的技术支持通话。",
          "keywords": ["OpenAI", "Realtime API", "AC-42"],
          "languages": ["zh-cn", "en"],
          "delay": "low"
        },
        "turn_detection": null
      }
    }
  }
}

Tras desactivar la detección automática de rondas, la app debe decidir por sí misma cuándo terminar un clip de voz. Los datos de audio se añaden tras codificar con Base64:

1
2
3
4
5
6
ws.send(
  JSON.stringify({
    type: "input_audio_buffer.append",
    audio: base64Pcm16,
  })
);

Envío explícito al final del clip:

1
2
3
4
5
ws.send(
  JSON.stringify({
    type: "input_audio_buffer.commit",
  })
);

También puedes configurar el VAD del servidor para que el sistema detecte el inicio y el final de la conversación y envíe automáticamente el turno.

Gestión de texto incremental y resultados finales

gpt-live-transcribe primero envía el evento incremental y luego envía el resultado completo de esa ronda de voz.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
ws.on("message", (data) => {
  const event = JSON.parse(data);

  if (event.type === "conversation.item.input_audio_transcription.delta") {
    process.stdout.write(event.delta);
  }

  if (event.type === "conversation.item.input_audio_transcription.completed") {
    console.log("\nFinal transcript:", event.transcript);
  }
});

La interfaz no debe tratar cada delta como texto permanente. Incrementos posteriores o resultados finales pueden corregir contenido anterior, por lo que se debe diseñar un búfer de subtítulos actualizable.

Los eventos de finalización de diferentes rondas de voz no están garantizados para llegar en el orden de los commits. Debes usar item_id para asociar delta, texto final y clips de audio originales; no puedes confiar únicamente en el tiempo de llegada de los mensajes de WebSocket para ordenar.

Ajustar la latencia de la transcripción en tiempo real

gpt-live-transcribe Permite delay ajustar la latencia y la precisión:

Nivel Escenario recomendado
minimal Interacciones en las que prima la visualización inmediata
low Subtítulos en directo de baja latencia
medium Equilibrio entre latencia y precisión
high Tareas de alta precisión que pueden esperar más contexto
xhigh Tareas que aceptan la espera máxima a cambio de más contexto

El nivel no corresponde a un recuento fijo de milisegundos. La latencia real varía según la configuración del modelo, el audio y la red, por lo que no puedes escribir rígidamente un resultado de prueba como compromiso de servicio.

Una latencia menor permite que partes del texto aparezcan antes, mientras que una latencia mayor permite que el modelo escuche más contexto antes de la salida, lo que suele ayudar a reducir las tasas de error de palabras.

Modo en tiempo real para transcripción tras el commit

Si la aplicación ya utiliza Realtime WebSocket pero no necesita mostrar texto mientras habla, puede seleccionar gpt-transcribe en la sesión.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
{
  "type": "session.update",
  "session": {
    "type": "transcription",
    "audio": {
      "input": {
        "format": {
          "type": "audio/pcm",
          "rate": 24000
        },
        "transcription": {
          "model": "gpt-transcribe"
        },
        "turn_detection": null
      }
    }
  }
}

La aplicación primero añade audio y luego envía input_audio_buffer.commit. El modelo puede generar incrementos de texto antes del evento final de finalización, que también incluye el idioma detectado.

Si el lenguaje no puede determinarse de forma fiable, languages será un array vacío. gpt-live-transcribe no proporciona este resultado del lenguaje de detección.

En sesiones dedicadas de transcripción o transcripción de entrada en tiempo real, gpt-transcribe utiliza automáticamente rondas previamente transcritas como contexto, ayudando a mantener la coherencia terminológica en conversaciones continuas.

Cómo probar entornos de producción

No aceptes solo muestras estándar de mandarín de habitaciones silenciosas. Los juegos de prueba deben cubrir condiciones reales de uso:

  • Idioma objetivo, acento y cambio de idiomas a mitad de camino.
  • Audio de banda estrecha para teléfonos, diferentes micrófonos y ruido de fondo.
  • Nombre, fecha, importe, correo electrónico, número de pedido y cadena alfanumérica.
  • Nombres de productos, nombres de medicamentos, abreviaturas y términos de la industria.
  • Respuestas muy cortas, grabaciones largas, interrupciones e interrupciones.
  • Jitter de red, reconstrucción de conexiones y commits repetidos.

Además de la tasa general de error de palabra, también es necesario contar los errores que son realmente importantes para el negocio. Los sistemas de atención al cliente deberían evaluar por separado los números de pedido y los números de cuenta, mientras que los escenarios médicos deberían evaluar por separado los nombres y dosis de los medicamentos.

La interfaz en tiempo real también debería registrar:

  • Retraso en la llegada del primer delta.
  • Los resultados finales se retrasan.
  • Transcripción vacía, truncamiento e inactividad prolongada.
  • delta es la proporción del texto final corregido.
  • Diferencias de precisión entre diferentes niveles de delay.

Preguntas frecuentes

¿Se transcribe la transmisión de un archivo igual a Realtime?

No es igual. Los archivos pueden transmitir texto de vuelta durante el procesamiento, pero el audio de entrada ya ha sido subido completamente; Se usa en tiempo real para audio en directo que sigue llegando continuamente.

¿Pueden dos modelos generar líneas de tiempo con subtítulos?

No proporcionan marcas de tiempo a nivel de palabra. Cuando se necesitan marcas de tiempo de palabra o secciones, SRT, VTT, whisper-1 deben elegirse según las directrices oficiales.

¿Puede GPT Live Transcribe distinguir a los hablantes?

No se pueden devolver las etiquetas de altavoz. Cuando se requiere separación de altavoces, se deben utilizar modelos de transcripción de archivos compatibles o soluciones de postprocesamiento a nivel de aplicación.

¿Cuantas más keywords, mejor?

No. Las palabras clave son solo indicaciones de identificación; demasiadas palabras irrelevantes pueden aumentar el riesgo de que se escriban palabras no dichas en los resultados.

¿Una grabación multilingüe debe usar language o languages?

Estos dos nuevos modelos usan languages. No envíes language y languages al mismo tiempo.

Resumen

gpt-transcribe Adecuado para archivos completados, solicitudes de audio limitadas y rondas de voz completas procesadas tras la entrega en tiempo real.

gpt-live-transcribe Adecuado para micrófonos, llamadas telefónicas y transmisiones de audio en directo, devuelve continuamente incrementos de texto de baja latencia y ajusta la velocidad y precisión a través de delay.

Elijas lo que prefieras, prompt, keywords y languages deben tratarse como prompts para una evaluación real del audio, en lugar de como una restricción rígida que garantiza la aparición de un texto específico.

Recursos oficiales