O Gemini 3.5 Live Translate oferece tradução de voz para voz em tempo real e com baixa latência entre mais de 70 idiomas usando o modelo gemini-3.5-live-translate-preview, disponível na Agent Platform. Ao configurar a API Live com as definições de tradução, você pode transmitir áudio em um idioma e receber a saída traduzida em outro, permitindo uma tradução simultânea de voz para voz em tempo real.
Para começar, confira o notebook de introdução ao Gemini 3.5 Live Translate.
Tradução de transmissões ao vivo
A API BidiGenerateContent (Live) mantém uma conexão WebSocket persistente e bidirecional. Você faz streaming de trechos de áudio brutos para a sessão e recebe trechos de áudio traduzidos e transcrições opcionais em tempo 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")
Especificações de áudio
Transmita áudio como PCM linear de 16 bits, little-endian e bruto:
Formato de entrada: PCM linear de 16 bits a 16 kHz (mono, little-endian).
Formato de saída: PCM linear de 16 bits a 24 kHz (mono, little-endian).
Tamanho do bloco de streaming: blocos com duração de 100 ms são recomendados para um equilíbrio ideal entre capacidade de processamento e latência.
# 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",
)
)
Configuração
A Tradução Instantânea é configurada anexando um TranslationConfig ao seu LiveConnectConfig.
Parâmetros de configuração
target_language_code(string): o código de idioma BCP-47 para o idioma de saída desejado (por exemplo,"pl","es","ja"). O padrão é"en".echo_target_language(booleano): controla o comportamento quando a entrada falada já está no idioma-alvo:True: o modelo reproduz e repete a fala de entrada no stream de saída.False: o modelo permanece em silêncio quando a entrada corresponde ao idioma-alvo. O padrão éFalse.
input_audio_transcription(AudioTranscriptionConfig): opcional. Ativa a transcrição de texto sincronizada para o áudio de origem recebido.output_audio_transcription(AudioTranscriptionConfig): opcional. Ativa a transcrição de texto sincronizada para o áudio traduzido de saída.
Suporte ao idioma
Os seguintes idiomas e códigos de idioma BCP-47 são compatíveis com o Gemini 3.5 Live Translate:
| Idioma | Código BCP-47 | Idioma | Código BCP-47 |
|---|---|---|---|
| Africâner | af |
Cazaque | kk |
| Acã | ak |
Khmer | km |
| Albanês | sq |
Quiniaruanda | rw |
| Amárico | am |
Coreano | ko |
| Árabe | ar |
Laosiano | lo |
| Armênio | hy |
Letão | lv |
| Azerbaijano | az |
Lituano | lt |
| Basco | eu |
Macedônio | mk |
| Bielorrusso | be |
Malaio | ms |
| Bengalês | bn |
Malaiala | ml |
| Búlgaro | bg |
Marati | mr |
| Birmanês (Mianmar) | my |
Mongol | mn |
| Catalão | ca |
Nepalês | ne |
| Chinês (simplificado) | zh-Hans |
Norueguês | no, nb |
| Chinês (tradicional) | zh-Hant |
Persa | fa |
| Croata | hr |
Polonês | pl |
| Tcheco | cs |
Português (Brasil) | pt-BR |
| Dinamarquês | da |
Português (Portugal) | pt-PT |
| Holandês | nl |
Punjabi | pa |
| Inglês | en |
Romeno | ro |
| Estoniano | et |
Russo | ru |
| Filipino | fil |
Sérvio | sr |
| Finlandês | fi |
Sindi | sd |
| Francês | fr |
Cingalês | si |
| Galego | gl |
Eslovaco | sk |
| Georgiano | ka |
Esloveno | sl |
| Alemão | de |
Espanhol | es |
| Grego | el |
Sudanês | su |
| Gujarati | gu |
Suaíli | sw |
| Hauçá | ha |
Sueco | sv |
| Hebraico | he |
Tâmil | ta |
| Hindi | hi |
Télugo | te |
| Húngaro | hu |
Tailandês | th |
| Islandês | is |
Turco | tr |
| Indonésio | id |
Ucraniano | uk |
| Italiano | it |
Urdu | ur |
| Japonês | ja |
Uzbeque | uz |
| Javanês | jv |
Vietnamita | vi |
| Canarês | kn |
Zulu | zu |
Práticas recomendadas
Mantenha uma amostragem consistente: garanta que a entrada de áudio siga estritamente o PCM mono de 16 kHz para evitar mudanças de tom e artefatos de áudio.
Lide com ambientes acústicos: embora o modelo filtre ruídos ambientes moderados, conversas de fundo intensas ou falas sobrepostas podem gerar ambiguidade na tradução.
Avalie o modo de eco por caso de uso: defina echo_target_language=False para configurações de interpretação unidirecional para suprimir retransmissões desnecessárias quando os falantes já usam o idioma-alvo.
| ID do modelo | ['gemini-3.5-live-translate-preview'] |
|
|---|---|---|
| Modalidades |
|
|
| Recursos |
|
|
| Ferramentas |
|
|
| APIs |
|
|
| Opções de consumo |
|
|
| Regiões compatíveis |
|
|
| Versões |
|
|