Gemini 3.5 实时翻译

Gemini 3.5 实时翻译支持使用 gemini-3.5-live-translate-preview 模型在 70 多种语言之间实现低延迟的实时语音翻译,该模型可通过 Agent Platform 获取。通过为 Live API 配置翻译设置,您可以流式传输一种语言的音频,并接收另一种语言的翻译音频输出,从而实现无缝的实时语音到语音翻译。

如需开始使用,请查看 Gemini 3.5 实时翻译入门笔记本

直播翻译

BidiGenerateContent (Live) API 维护着一个持久的双向 WebSocket 连接。您将原始音频块流式传输到会话,并实时接收翻译后的音频块和可选转写内容。

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")

音频规范

以原始、小端序、16 位线性 PCM 格式流式传输音频:

  • 输入格式:16kHz 的 16 位线性 PCM(单声道,小端序)。

  • 输出格式:24kHz 的 16 位线性 PCM(单声道,小端序)。

  • 流式传输分块大小:建议使用时长为 100 毫秒的分块,以便在吞吐量和延迟时间之间实现最佳平衡。

# 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",
    )
)

配置

通过将 TranslationConfig 附加到 LiveConnectConfig 来配置实时翻译。

配置参数

  • target_language_code (字符串):所需输出语言的 BCP-47 语言代码(例如 "pl"、"es"、"ja")。默认值为 "en"。
  • echo_target_language (布尔值):控制当语音输入已采用目标语言时的行为:
    • True:模型在输出流中重现并回显输入语音。
    • False:当输入内容与目标语言匹配时,模型会保持静默。默认值为 False。
  • input_audio_transcription (AudioTranscriptionConfig):可选。为传入的源音频启用同步文本转写。
  • output_audio_transcription (AudioTranscriptionConfig):可选。为输出的翻译后音频启用同步文字转写。

语言支持

Gemini 3.5 实时翻译支持以下语言和 BCP-47 语言代码:

语言 BCP-47 代码 语言 BCP-47 代码
南非荷兰语 af 哈萨克语 kk
Akan ak 高棉语 km
阿尔巴尼亚语 sq 卢旺达语 rw
阿姆哈拉语 am 韩语 ko
阿拉伯语 ar 老挝语 lo
亚美尼亚语 hy 拉脱维亚语 lv
阿塞拜疆语 az 立陶宛语 lt
巴斯克语 eu 马其顿语 mk
白俄罗斯语 be 马来人 ms
孟加拉语 bn 马拉雅拉姆语 ml
保加利亚语 bg 马拉地语 mr
缅甸语(缅甸) my 蒙古语 mn
加泰罗尼亚语 ca 尼泊尔语 ne
中文(简体) zh-Hans 挪威语 no,nb
中文(繁体) zh-Hant 波斯语 fa
克罗地亚语 hr 波兰语 pl
捷克语 cs 葡萄牙语(巴西) pt-BR
丹麦语 da 葡萄牙语(葡萄牙) pt-PT
荷兰语 nl 旁遮普语 pa
英语 en 罗马尼亚语 ro
爱沙尼亚语 et 俄语 ru
菲律宾语 fil 塞尔维亚语 sr
芬兰语 fi 信德语 sd
法语 fr 僧伽罗文 si
加利西亚语 gl 斯洛伐克语 sk
格鲁吉亚语 ka 斯洛维尼亚语 sl
德语 de 西班牙语 es
希腊语 el 巽他语 su
古吉拉特语 gu 斯瓦希里语 sw
豪萨语 ha 瑞典语 sv
希伯来语 he 泰米尔语 ta
印地语 hi 泰卢固语 te
匈牙利语 hu 泰语 th
冰岛语 is 土耳其语 tr
印度尼西亚语 id 乌克兰语 uk
意大利语 it 乌尔都语 ur
日语 ja 乌兹别克语 uz
爪哇语 jv 越南语 vi
卡纳达语 kn 祖鲁语 zu

最佳做法

  • 保持一致的采样:确保音频输入严格遵循 16kHz 单声道 PCM,以防止音高偏移和音频伪影。

  • 处理声学环境:虽然模型会过滤掉中等程度的环境噪音,但强烈的背景杂音或说话者声音重叠可能会导致翻译出现歧义。

  • 根据用例评估回声模式:对于单向口译设置,请设置 echo_target_language=False,以便在演讲者已使用目标语言时抑制不必要的重新广播。

价格

模型 ID ['gemini-3.5-live-translate-preview']
模态
文本 仅输出
图片 不支持
音频 输入和输出
视频 不支持
功能
工具
API
使用选项
支持的区域

模型可用性

  • 全球:global
版本
  • gemini-3.5-live-translate-preview
    • 发布阶段:预览版
    • 发布日期:2026 年 8 月