Saltar al contenido principal

Gemini 3.5 Transcribe API: archivos, subtítulos en directo y validación

7 min de lecturaGuías de API de IA

Gemini 3.5 Transcribe separa el audio grabado del streaming en tiempo real. Aquí puedes elegir la ruta, entender su salida y comprobar con audio español si el preview sirve para producción.

Guía de Gemini 3.5 Transcribe con rutas de archivos y Live, modos, precio, seguridad y validación en español

Para transcribir un archivo ya grabado, usa gemini-3.5-transcribe mediante Files API e Interactions API. Para mostrar texto mientras alguien habla, usa gemini-3.5-transcribe-live mediante Live API. No son dos nombres intercambiables: cambian el formato de audio, los eventos, la duración y las anotaciones disponibles.

Gemini 3.5 Transcribe es una ruta de voz a texto. No es Gemini 3.5 Live Translate, un agente que escucha y responde con voz, un modelo de razonamiento sobre audio ni un sistema de síntesis. Si después necesitas resumir una reunión o ejecutar herramientas, conserva primero un transcript verificable y pásalo a una segunda etapa.

Google lanzó el acceso para desarrolladores en public preview el 26 de agosto de 2026. Antes de desplegar, vuelve a comprobar la ficha oficial de Gemini 3.5 Transcribe, porque IDs, SDK y límites pueden cambiar durante el preview.

La decisión no es “batch o streaming”, sino latencia o estructura

La ruta de archivo admite hasta una hora por request. Cuando activas diarización o marcas de tiempo por palabra, el máximo baja a 30 minutos. Es la opción adecuada para entrevistas, llamadas, pódcast, clases y reuniones cuando importan el hablante, la posición exacta o una transcripción que pueda auditarse.

La ruta Live limita cada sesión a diez minutos y no ofrece diarización ni marcas por palabra. A cambio, devuelve texto incremental con poca latencia. Para una emisión larga hay que renovar la sesión, recuperar conexiones y deduplicar segmentos.

Ambas rutas admiten detección automática de más de 85 idiomas, cambio de idioma, vocabulario personalizado y smart transcription. Si necesitas subtítulos inmediatos y, después, una transcripción precisa por hablante, guarda el audio mientras usas Live y vuelve a procesarlo como archivo al terminar.

Árbol y tabla para elegir el endpoint de archivo o Live por precisión, latencia, límites, salida, formato de audio y código de idioma

Comprueba un archivo sin ocultar los fallos

La guía oficial de audio transcription sube el archivo y entrega su URI a Interactions API. Con JavaScript:

bash
npm install @google/genai export GEMINI_API_KEY="YOUR_API_KEY"
javascript
import { GoogleGenAI } from "@google/genai"; const client = new GoogleGenAI({}); const audioFile = await client.files.upload({ file: "sample.mp3", config: { mime_type: "audio/mp3" }, }); const interaction = await client.interactions.create({ model: "gemini-3.5-transcribe", input: [ { type: "audio", uri: audioFile.uri, mime_type: audioFile.mimeType, }, ], }); console.log(interaction.output_text);

La primera prueba no demuestra precisión. Solo debe demostrar que el upload termina, la interacción acaba sin error, output_text no está vacío y el contenido pertenece al audio enviado. Registra model ID, duración, MIME type, estado y salida vacía/no vacía. Añade después una función cada vez; mezclar idioma, vocabulario, smart, hablantes y tiempos en el primer request complica cualquier diagnóstico.

La detección automática se activa omitiendo language_codes o enviando una lista vacía. Conviene usarla como opción segura para español mientras se resuelve una discrepancia actual de la documentación: la ficha del modelo enumera es-419 y es-US, pero la guía de transcripción muestra es-ES como ejemplo. No conviertas ese ejemplo en una garantía permanente; verifica la lista vigente antes de fijar un código.

custom_vocabulary admite hasta 1.000 términos, aunque Google indica que normalmente se obtienen mejores resultados con 100 o menos. Prioriza nombres propios, productos, siglas y referencias alfanuméricas cuyo error tenga impacto real.

Elige entre texto limpio y evidencia trazable

verbatim, el modo predeterminado, mantiene repeticiones, muletillas y autocorrecciones. Es útil para auditoría, control de calidad, subtítulos sincronizados y revisión de una declaración concreta.

smart elimina disfluencias, resuelve correcciones y formatea números o listas. Produce un texto más legible, pero no se puede combinar con diarización ni timestamps. Si el producto necesita una versión limpia y otra verificable, guarda primero verbatim con annotations y limpia una copia en un proceso posterior.

javascript
const interaction = await client.interactions.create({ model: "gemini-3.5-transcribe", input: [ { type: "audio", uri: audioFile.uri, mime_type: audioFile.mimeType, }, ], generation_config: { transcription_config: { custom_vocabulary: ["Gemini", "BigQuery"], mode: { type: "verbatim", diarization_mode: "speaker", timestamp_granularities: ["word"], }, }, }, });

interaction.output_text contiene el texto unido. Las etiquetas de hablante y offsets de cada palabra viven en content annotations. Una aplicación que genera SRT, permite saltar al audio o calcula tiempo por participante debe guardar esas annotations, no solo la cadena final.

La documentación habla de hasta ocho hablantes, pero marca como experimental la atribución de tres o más. También advierte de que los timestamps pueden reducir la precisión. Las reuniones con varias personas necesitan una prueba propia, no una suposición basada en el máximo publicado.

Un cliente Live debe distinguir hipótesis y texto confirmado

La entrada actual de Live transcription es PCM raw de 16 bits, 16 kHz, mono y little-endian, enviado en bloques de 100 ms. WebM/Opus del navegador o μ-law de telefonía no se transforman cambiando el MIME type; los bytes deben decodificarse y remuestrearse.

La conexión recibe dos estados importantes:

  • interimInputTranscription es una hipótesis rápida que cambia mientras la persona habla. Debe sustituir el preview visible.
  • inputTranscription es un segmento finalizado. Debe añadirse al transcript confirmado.
javascript
const config = { responseModalities: ["TEXT"], inputAudioTranscription: { languageCodes: [] }, }; const session = await client.live.connect({ model: "gemini-3.5-transcribe-live", config, callbacks: { onmessage: (message) => { const content = message.serverContent; if (content?.interimInputTranscription) { replacePreview(content.interimInputTranscription.text); } if (content?.inputTranscription) { appendFinal(content.inputTranscription.text); } }, }, }); session.sendRealtimeInput({ audio: { data: audioChunkBase64, mimeType: "audio/pcm;rate=16000", }, });

replacePreview, appendFinal y la captura/transformación del audio pertenecen a la aplicación. Si guardas todos los interim, obtendrás frases repetidas y palabras que la hipótesis posterior corrigió.

Una app web o móvil que conecte directamente no debe incluir una API key permanente. Google documenta ephemeral tokens limitados que emite un servidor de confianza. El servicio también necesita renovar la sesión antes de diez minutos, manejar reconnect, cerrar el stream explícitamente y medir tiempo hasta partial y final.

El precio por minuto no incluye operar la transcripción

A 27 de agosto de 2026, la tarifa de Gemini Developer API estima la ruta grabada en unos $0.003/min de entrada y $0.002/min de salida, aproximadamente $0.005/min combinados. Live aparece con unos $0.005/min de entrada y $0.004/min de salida, unos $0.009/min combinados. La factura real depende de los tokens.

Con esa referencia, 100 horas serían unos $30 grabados o $54 Live. Faltan almacenamiento, conversión, servidor multimedia, reintentos, resumen posterior, observabilidad y corrección humana.

El Free Tier figura gratis, pero también como utilizado para mejorar productos de Google; el Paid Tier figura como no utilizado. Antes de enviar llamadas de clientes, reuniones internas o datos sensibles, valida consentimiento, retención, región y política de la organización. La página de precios tampoco garantiza que una cuenta de cualquier país pueda activar la misma ruta.

Una prueba española debe medir errores caros

Checklist de producción, métricas, escenarios de audio español, flujo de validación y coste estimado por volumen

Google cita a Artificial Analysis para un WER medio de 4,0% en streaming y 2,6% en non-streaming, y comunica una mejora en el tiempo hasta la transcripción final frente a Chirp 3. Son cifras para justificar una evaluación, no una garantía para castellano, acentos regionales, ruido, micrófonos o vocabulario de una empresa.

Crea un conjunto de 20–50 fragmentos reales: audio limpio, sala ruidosa, micrófono lejano, llamada telefónica, habla rápida, cambio de idioma y solapamiento. Puntúa aparte nombres, cantidades, fechas, direcciones, códigos y compromisos. Para Live mide cambios del interim, duplicados final, recuperación tras corte y latencia. Para archivos revisa atribución de hablantes y precisión al volver a una palabra.

Empieza por un archivo corto y no sensible, añade solo las annotations necesarias y construye Live por separado si la inmediatez es imprescindible. Si el requisito rígido es diarización en directo, tiempos por palabra en directo, una sesión superior a diez minutos sin renovación o transcribir y ejecutar tools en el mismo modelo, el contrato actual no encaja y conviene cambiar la arquitectura antes de acumular parches.

#Gemini 3.5 Transcribe#Gemini API#transcripción de audio#Live API#voz a texto
Share: