Gemini 3.5 Live Translate supporta la traduzione vocale in tempo reale a bassa latenza tra oltre 70 lingue utilizzando il modello gemini-3.5-live-translate-preview, disponibile tramite Agent Platform. Configurando l'API Live con le impostazioni di traduzione, puoi trasmettere l'audio in una lingua e ricevere l'output audio tradotto in un'altra lingua, consentendo una traduzione vocale in tempo reale senza interruzioni.
Per iniziare, visualizza il notebook introduttivo per Gemini 3.5 Live Translate
Traduzione in live streaming
L'API BidiGenerateContent (Live) mantiene una connessione WebSocket bidirezionale persistente. Puoi trasmettere in streaming blocchi di audio non elaborato alla sessione e ricevere blocchi di audio tradotto e trascrizioni facoltative in tempo reale.
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")
Specifiche audio
Trasmetti l'audio in streaming come PCM lineare a 16 bit, little-endian, non elaborato:
Formato di input: PCM lineare a 16 bit a 16 kHz (mono, little-endian).
Formato di output: PCM lineare a 16 bit a 24 kHz (mono, little-endian).
Dimensioni dei blocchi di streaming: per un equilibrio ottimale tra throughput e latenza, sono consigliati blocchi di 100 ms di durata.
# 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",
)
)
Configurazione
La Traduzione Istantanea viene configurata collegando un TranslationConfig al tuo LiveConnectConfig.
Parametri di configurazione
target_language_code(string): il codice lingua BCP-47 per la lingua di output desiderata (ad es."pl","es","ja"). Il valore predefinito è"en".echo_target_language(booleano): controlla il comportamento quando l'input vocale è già nella lingua di destinazione:True: il modello riproduce e ripete il parlato di input nello stream di output.False: il modello rimane in silenzio quando l'input corrisponde alla lingua di destinazione. Il valore predefinito èFalse.
input_audio_transcription(AudioTranscriptionConfig): facoltativo. Abilita la trascrizione del testo sincronizzata per l'audio di origine in entrata.output_audio_transcription(AudioTranscriptionConfig): facoltativo. Abilita la trascrizione del testo sincronizzata per l'audio tradotto in uscita.
Supporto dei linguaggi
Le seguenti lingue e i seguenti codici lingua BCP-47 sono supportati per Gemini 3.5 Live Translate:
| Lingua | Codice BCP-47 | Lingua | Codice BCP-47 |
|---|---|---|---|
| Afrikaans | af |
Kazako | kk |
| Akan | ak |
Khmer | km |
| Albanese | sq |
Kinyarwanda | rw |
| Amarico | am |
Coreano | ko |
| Arabo | ar |
Lao | lo |
| Armeno | hy |
Lettone | lv |
| Azero | az |
Lituano | lt |
| Basco | eu |
Macedone | mk |
| Bielorusso | be |
Malese | ms |
| Bengalese | bn |
Malayalam | ml |
| Bulgaro | bg |
Marathi | mr |
| Birmano (Myanmar) | my |
Mongolo | mn |
| Catalano | ca |
Nepalese | ne |
| Cinese (semplificato) | zh-Hans |
Norvegese | no, nb |
| Cinese (tradizionale) | zh-Hant |
Persiano | fa |
| Croato | hr |
Polacco | pl |
| Ceco | cs |
Portoghese (Brasile) | pt-BR |
| Danese | da |
Portoghese (Portogallo) | pt-PT |
| Olandese | nl |
Punjabi | pa |
| Inglese | en |
Romeno | ro |
| Estone | et |
Russo | ru |
| Filippino | fil |
Serbo | sr |
| Finlandese | fi |
Sindhi | sd |
| Francese | fr |
Singalese | si |
| Galiziano | gl |
Slovacco | sk |
| Georgiano | ka |
Sloveno | sl |
| Tedesco | de |
Spagnolo | es |
| Greco | el |
Sundanese | su |
| Gujarati | gu |
Swahili | sw |
| Hausa | ha |
Svedese | sv |
| Ebraico | he |
Tamil | ta |
| Hindi | hi |
Telugu | te |
| Ungherese | hu |
Tailandese | th |
| Islandese | is |
Turco | tr |
| Indonesiano | id |
Ucraino | uk |
| Italiano | it |
Urdu | ur |
| Giapponese | ja |
Uzbeko | uz |
| Giavanese | jv |
Vietnamita | vi |
| Kannada | kn |
Zulu | zu |
Best practice
Mantieni un campionamento coerente: assicurati che l'input audio rispetti rigorosamente il formato PCM mono a 16 kHz per evitare variazioni di tono e artefatti audio.
Gestisci gli ambienti acustici: sebbene il modello filtri il rumore ambientale moderato, un forte rumore di fondo o la sovrapposizione di più persone che parlano possono introdurre ambiguità nella traduzione.
Valuta la modalità eco per caso d'uso: imposta echo_target_language=False per le configurazioni di interprete unidirezionale per sopprimere la ritrasmissione non necessaria quando gli speaker utilizzano già la lingua di destinazione.
| ID modello | ['gemini-3.5-live-translate-preview'] |
|
|---|---|---|
| Modalità |
|
|
| Funzionalità |
|
|
| Strumenti |
|
|
| API |
|
|
| Opzioni di consumo |
|
|
| Aree geografiche supportate |
|
|
| Versioni |
|
|