用途
该技能面向使用 Gemini Live API 构建实时、双向流式应用的开发场景,也可用于把旧版 Live 模型(2.0/2.5/3.1)迁移到 Gemini 3.8 系列。Live API 通过 WebSocket 提供低延迟的实时语音和视频交互,能够处理连续的音视频或文本流,并给出即时、接近真人的语音回复与后台推理。
主要能力
- 双向音频流:麦克风到扬声器的实时对话。
- 后台推理:多步后台推理,同时输出口语化的对话填充语。
- 实时流式转写:提供中间结果和最终结果的语音转文本。
- 视频流:在音频之外发送摄像头或屏幕画面帧。
- 文本输入输出:在实时会话中收发文本。
- 音频转写:获取输入音频与输出音频的文本转写。
- 语音活动检测(VAD):支持服务端自动 VAD、客户端 Hybrid VAD 和手动按键说话(Push-to-Talk)。
- 异步函数调用:工具执行不阻塞音频流。
- 全会话客户端内容:可在流中途注入和更新对话轮次。
- 会话管理:上下文压缩、会话恢复和 GoAway 信号。
- 临时令牌:用于客户端侧的安全认证。
资料提示,Live API 直接通过 WebSocket 连接;如需 WebRTC 支持或简化集成,可使用合作伙伴集成方案。
模型
当前推荐模型:
- gemini-3.8-live:适用于多数低延迟语音智能体和实时对话场景,默认使用异步函数调用(behavior: NON_BLOCKING),支持交错推理和全会话客户端内容更新。
- gemini-3.8-live-extended-thinking:适用于实时交互中需要较高后台推理的场景;执行后台推理和异步工具调用时要求 behavior: NON_BLOCKING,并在流式输出对话填充语的同时通过 interaction_status(IN_PROGRESS / IDLE)管理生命周期。
- gemini-3.5-transcribe-live:提供实时流式语音转文本,支持中间假设、最终转写、智能格式化和 Hybrid VAD。
- gemini-3.5-live-translate-preview:提供覆盖 70 多种语言的实时语音到语音流式翻译。
旧版模型包括 gemini-3.1-flash-live-preview、gemini-2.5-flash-native-audio-*、gemini-live-2.5-flash-preview 和 gemini-2.0-flash-live-001;升级时需参考迁移文档,以了解协议破坏性变更(behavior: "NON_BLOCKING"、thinking_level、interaction_status、send_client_content)。
SDK 与集成
- Python:google-genai >= 2.3.0,安装命令:pip install -U google-genai
- JavaScript/TypeScript:@google/genai >= 2.3.0,安装命令:npm install @google/genai
资料指出,旧版 SDK google-generativeai(Python)和 @google/generative-ai(JS)已弃用,不应再使用。
合作伙伴集成包括 LiveKit、Pipecat by Daily、Fishjam by Software Mansion、Vision Agents by Stream、Voximplant 和 Firebase AI SDK。
音频格式
- 输入:原始 PCM,小端序,16 位,单声道;原生 16kHz(其他采样率会被重采样),MIME 类型为 audio/pcm;rate=16000。
- 输出:原始 PCM,小端序,16 位,单声道,采样率 24kHz。
实时流式用户输入(音频、视频、文本)应使用 send_realtime_input / sendRealtimeInput。在 Gemini 3.8 模型上,send_client_content / sendClientContent 支持在全会话生命周期中使用,并需带显式角色(user 或 model)来注入对话上下文。资料特别提示,sendRealtimeInput 中不要使用 media 字段,应使用 audio、video、text 这些具体键。
使用方式示例
认证(Python):
from google import genai
client = genai.Client(api_key="YOUR_API_KEY")
认证(JavaScript):
import { GoogleGenAI } from '@google/genai';
const ai = new GoogleGenAI({ apiKey: 'YOUR_API_KEY' });
连接 Live API、发送文本、音频、视频以及接收音频与文本,资料均给出了 Python 和 JavaScript 的代码示例。接收时需注意,单个服务端事件可能同时包含多个内容部分(例如音频块和转写),应处理事件中的全部部分,以免遗漏内容。
扩展思考、转写与翻译
- 扩展思考:使用 gemini-3.8-live-extended-thinking 时,需要设置 thinking_config 中的 thinking_level("minimal" | "low" | "medium" | "high"),所有函数声明须设置 behavior="NON_BLOCKING",并监控 interaction_status(IN_PROGRESS 表示仍在推理、输出填充语或等待异步工具响应;IDLE 表示已完成,可接收用户输入)。
- 实时转写:使用 gemini-3.5-transcribe-live,支持 smart 模式(清理填充词、处理自我纠正、结构化格式)和 verbatim 模式(默认,逐字转写),并可通过 audio_stream_end 通知客户端检测到的静音以实现零延迟。
- 实时翻译:使用 gemini-3.5-live-translate-preview,通过 TranslationConfig 指定 target_language_code、echo_target_language 等配置;原始 WebSocket 方式下 translationConfig 位于 generationConfig 内。
限制
- 响应模态:每个会话只能使用 TEXT 或 AUDIO,不能同时使用;原生音频模型输出音频,如需文本转写可启用 output_audio_transcription。
- 纯音频会话:未启用压缩时最长 15 分钟。
- 音频加视频会话:未启用压缩时最长 2 分钟。
- 连接生命周期:约 10 分钟(应使用会话恢复)。
- 上下文窗口:输入 128k tokens,输出 64k tokens。
- 不支持代码执行和 URL 上下文。
最佳实践
资料建议:测试麦克风音频时使用耳机以防回声或自我打断;超过 15 分钟的会话启用上下文窗口压缩;实现会话恢复以处理连接重置;客户端部署使用临时令牌,切勿在浏览器中暴露 API 密钥;实时用户输入使用 send_realtime_input,携带显式 user/model 角色注入上下文时使用 send_client_content;麦克风暂停或用户说完时发送 audioStreamEnd;收到 interrupted: true 时清空音频播放队列;处理服务端事件中的全部内容部分;使用扩展思考模型时监控 interaction_status。
文档查询
若安装了 MCP,优先使用 gemini_search_docs 或 search_docs 作为唯一的文档来源;未安装 MCP 时,可获取 https://ai.google.dev/gemini-api/docs/llms.txt 索引,再按需获取具体页面(.md.txt 格式)。
适用场景
适用于需要实时语音对话、实时转写、实时语音翻译、带摄像头或屏幕画面的音视频交互,以及语音智能体后台推理与异步工具调用的应用开发。
暂未提供的信息
资料未提供收费、价格、性能基准、可用的生产环境配额和官方支持政策等信息。