Gemini 3.5 Live Translate admite la traducción de voz a voz de baja latencia y en tiempo real entre más de 70 idiomas con el modelo gemini-3.5-live-translate-preview, disponible a través de Agent Platform. Si configuras la API de Live con los parámetros de traducción, puedes transmitir audio en un idioma y recibir un resultado de audio traducido en otro, lo que permite una traducción de voz a voz en tiempo real sin interrupciones.
Para comenzar, consulta el cuaderno introductorio de Gemini 3.5 Live Translate.
Traducción de transmisiones en vivo
La API de BidiGenerateContent (en vivo) mantiene una conexión de WebSocket bidireccional y persistente. Transmites fragmentos de audio sin procesar a la sesión y recibes fragmentos de audio traducidos y transcripciones opcionales en tiempo real.
import asyncio
from google import genai
from google.genai import types
# Initialize the client for Vertex AI / Agent Platform
client = genai.Client(enterprise=True, project=PROJECT_ID, location=LOCATION)
model = "gemini-3.5-live-translate-preview"
config = types.LiveConnectConfig(
response_modalities=["AUDIO"],
input_audio_transcription=types.AudioTranscriptionConfig(),
output_audio_transcription=types.AudioTranscriptionConfig(),
translation_config=types.TranslationConfig(
target_language_code="pl",
echo_target_language=True,
),
)
async def streaming_translation(audio_stream_generator):
async with client.aio.live.connect(model=model, config=config) as session:
# In a complete implementation, stream audio chunks concurrently:
# async for chunk in audio_stream_generator:
# await session.send_realtime_input(
# audio=types.Blob(data=chunk, mime_type="audio/pcm;rate=16000")
# )
async for response in session.receive():
if response.server_content:
server_content = response.server_content
if server_content.input_transcription:
print(f"Input transcript: {server_content.input_transcription.text}")
if server_content.output_transcription:
print(f"Output transcript: {server_content.output_transcription.text}")
if server_content.model_turn:
for part in server_content.model_turn.parts:
if part.inline_data:
translated_audio_chunk = part.inline_data.data
# Process or stream translated audio (24kHz PCM)
print(f"Received translated audio: {len(translated_audio_chunk)} bytes")
Especificaciones de audio
Transmite audio como PCM lineal de 16 bits, sin procesar y con formato little-endian:
Formato de entrada: PCM lineal de 16 bits a 16 kHz (mono, little-endian).
Formato de salida: PCM lineal de 16 bits a 24 kHz (mono, little-endian).
Tamaño de los fragmentos de transmisión: Se recomiendan fragmentos de 100 ms de duración para lograr un equilibrio óptimo entre la capacidad de procesamiento y la latencia.
# Streaming an audio chunk to an active session
await session.send_realtime_input(
audio=types.Blob(
data=pcm_bytes,
mime_type="audio/pcm;rate=16000",
)
)
Configuración
La Traducción instantánea se configura adjuntando un TranslationConfig a tu LiveConnectConfig.
Parámetros de configuración
target_language_code(string): Es el código de idioma BCP-47 para el idioma de salida deseado (p.ej.,"pl","es","ja"). El valor predeterminado es"en".echo_target_language(booleano): Controla el comportamiento cuando la entrada de voz ya está en el idioma de destino:True: El modelo reproduce y repite la voz de entrada en el flujo de salida.False: El modelo permanece en silencio cuando la entrada coincide con el idioma de destino. La configuración predeterminada esFalse.
input_audio_transcription(AudioTranscriptionConfig): Es opcional. Habilita la transcripción de texto sincronizada para el audio de origen entrante.output_audio_transcription(AudioTranscriptionConfig): Es opcional. Habilita la transcripción de texto sincronizada para el audio traducido saliente.
Idiomas admitidos
Los siguientes idiomas y códigos de idioma BCP-47 son compatibles con Gemini 3.5 Live Translate:
| Idioma | Código BCP-47 | Idioma | Código BCP-47 |
|---|---|---|---|
| Afrikaans | af |
Kazajo | kk |
| Akan | ak |
Jemer | km |
| Albanés | sq |
Kiñaruanda | rw |
| Amárico | am |
Coreano | ko |
| Árabe | ar |
Laosiano | lo |
| Armenio | hy |
Letón | lv |
| Azerbaiyano | az |
Lituano | lt |
| Euskara | eu |
Macedonio | mk |
| Bielorruso | be |
Malayo | ms |
| Bengalí | bn |
Malayalam | ml |
| Búlgaro | bg |
Maratí | mr |
| Birmano (Birmania) | my |
Mongol | mn |
| Catalán | ca |
Nepalí | ne |
| Chino (simplificado) | zh-Hans |
Noruego | no, nb |
| Chino (tradicional) | zh-Hant |
Persa | fa |
| Croata | hr |
Polaco | pl |
| Checo | cs |
Portugués (Brasil) | pt-BR |
| Danés | da |
Portugués (Portugal) | pt-PT |
| Holandés | nl |
Punyabí | pa |
| Inglés | en |
Rumano | ro |
| Estonio | et |
Ruso | ru |
| Filipino | fil |
Serbio | sr |
| Finlandés | fi |
Sindhi | sd |
| Francés | fr |
Cingalés | si |
| Gallego | gl |
Eslovaco | sk |
| Georgiano | ka |
Esloveno | sl |
| Alemán | de |
Español | es |
| Griego | el |
Sundanés | su |
| Gujarati | gu |
Suajili | sw |
| Hausa | ha |
Sueco | sv |
| Hebreo | he |
Tamil | ta |
| Hindi | hi |
Telugu | te |
| Húngaro | hu |
Tailandés | th |
| Islandés | is |
Turco | tr |
| Indonesio | id |
Ucraniano | uk |
| Italiano | it |
Urdu | ur |
| Japonés | ja |
Uzbeko | uz |
| Javanés | jv |
Vietnamita | vi |
| Canarés | kn |
Zulú | zu |
Prácticas recomendadas
Mantén un muestreo coherente: Asegúrate de que la entrada de audio se adhiera estrictamente a PCM mono de 16 kHz para evitar cambios de tono y artefactos de audio.
Maneja entornos acústicos: Si bien el modelo filtra el ruido ambiental moderado, las conversaciones de fondo intensas o las voces superpuestas pueden generar ambigüedad en la traducción.
Evalúa el modo de eco por caso de uso: Establece echo_target_language=False para las configuraciones de intérprete unidireccional para suprimir la retransmisión innecesaria cuando los interlocutores ya usan el idioma de destino.
| ID de modelo | ['gemini-3.5-live-translate-preview'] |
|
|---|---|---|
| Modalidades |
|
|
| Funciones |
|
|
| Herramientas |
|
|
| API |
|
|
| Opciones de consumo |
|
|
| Regiones admitidas |
|
|
| Versiones |
|
|