
语音对话在后台推理时不停地说话,支持30个语音,实时视频输入,工具调用,推理努力可调节。
语音对话在后台推理时不停地说话,支持30个语音,实时视频输入,工具调用,推理努力可调节。
会话通过套接字配置 session.update 事件,而非请求参数。文本和音频令牌按不同的费率计费。
也称为 Gemini Live Extended Thinking, Google Gemini 3.8 Live Extended Thinking
gemini-3-8-live-extended-thinking/v1/realtimegemini-3.8-live-extended-thinkinggoogle/gemini-3.8-live-extended-thinking来自 EmpirioLabs 目录的实时按量计费价格。只为实际用量付费,没有月度最低消费。
Gemini 3.8 Live Extended Thinking 通过 wss://api.empiriolabs.ai/v1/realtime?model=gemini-3-8-live-extended-thinking 的 WebSocket 进行实时对话,而不是通过 HTTP 端点。使用模型 id gemini-3-8-live-extended-thinking 连接,并在握手时将 EmpirioLabs API 密钥作为 Authorization: Bearer 请求头发送。音频以 base64 编码的 16 位 PCM 双向传输。 浏览器无法为 WebSocket 设置请求头,请从你的服务器发起该连接,再通过你自己的 socket 把音频转发给浏览器。 在EmpirioLabs 控制台获取 API 密钥。
import asyncio, json, os, websockets
async def main():
async with websockets.connect(
"wss://api.empiriolabs.ai/v1/realtime?model=gemini-3-8-live-extended-thinking",
additional_headers=[
("Authorization", f"Bearer {os.environ['EMPIRIOLABS_API_KEY']}"),
],
max_size=None,
) as ws:
print(json.loads(await ws.recv())["type"]) # session.created
await ws.send(json.dumps({
"type": "conversation.item.create",
"item": {
"type": "message",
"role": "user",
"content": [{"type": "input_text", "text": "Say hello."}],
},
}))
await ws.send(json.dumps({"type": "response.create"}))
async for raw in ws:
event = json.loads(raw)
if event["type"] == "response.audio.delta":
... # base64 audio chunk, append to your playback buffer
elif event["type"] == "response.done":
break
asyncio.run(main())EmpirioLabs 上 Gemini 3.8 Live Extended Thinking API 支持的请求参数。省略字段时使用默认值。
| 参数 | 类型 | 默认值 | 范围 / 值 | 描述 |
|---|---|---|---|---|
| voice | enum | Puck | Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callir... | 会话中的语音。在对话开始前用 session.update 设置;之后不能更改。 |
| instructions | string | - | - | 系统指导模型的行为和语音。在对话开始前用 session.update 设置。 |
| reasoning_effort | enum | medium | low, medium, high | 模型在说话时在后台推理了多少。高努力会用更多输出标记。在对话开始前设置好。 |
| temperature | number | - | 0 到 2 | 采样温度从0到2。较低的数值使回复更一致。在对话开始前设置。 |
| input_audio_format | enum | pcm16 | pcm16, pcm24 | 你附加到输入缓冲区的音频编码:pcm16是base64 16位PCM,频率为16 kHz,pcm24在24 kHz时也是相同的。 |
| output_audio_format | enum | pcm24 | pcm24 | 该型号回流的音频编码:16位PCM,频率为24 kHz。 |
| turn_detection | string | {"type":"server_vad"} | - | 服务器端语音活动检测。它会判断你什么时候停止说话,模型应该会回复。默认是开启的;设置为空,这样你用input_audio_buffer.commit结束每回合。 |
连接 通过WebSocket在 wss://api.empiriolabs.ai/v1/realtime?model=gemini-3-8-live-extended-thinking 进行全双工语音,并用普通授权承载者头进行认证。在发送第一段音频前,先与session.update配置会话:语音、指令、转向检测和工具。这些设置在对话开始后会被修复。发送音频和视频- 在input_audio_buffer.append事件中添加麦克风音频:16位PCM,频率为16 kHz,或在24 kHz,input_audio_format设置为pcm24。- 将实时视频帧作为input_image_buffer.append事件添加,格式为base64 JPEG或PNG图像。- 语音活动检测默认开启,语音结束后继续流媒体约一秒。将turn_detection设置为空,以便自己用input_audio_buffer.commit结束每回合。声音与语言 - 使用voice列表中的30种语音之一,例如Puck、Kore或Charon。其他值被拒绝。- 模型用你所说的语言回复。回复 - 语音以response.audio.delta事件形式流,16位PCM,频率24 kHz,词语作为 session.update 0__事件。你的语音也会被转录。- 模型回答时说话会中断。推理 session.update 1__设定模型在说话时在背景推理的程度:低、中(默认)或高。在对话开始前设置。- 模型通常先确认问题,并在第二回合内回答。每回合单独计费。工具 - 使用JSON模式参数的函数调用。将每个结果作为 session.update 2__项及其 session.update 3__返回。计费音频和文本令牌在双向分开计费,视频帧作为输入令牌计费,推理令牌作为输出令牌计费。每个完成的回合单独计费,基于模型报告的使用情况,包括你中断的回复。
在 EmpirioLabs,Gemini 3.8 Live Extended Thinking 按量计费:输入:音频 $7.80 每 1M 音频输入令牌; 输入 $2.60 每100万个提示词标记; 产出 $11.70 每100万个生成代币; 输出:音频 $31.20 每1M生成的音频标记。本页的实时价格表始终与 API 的实际计费一致。
Gemini 3.8 Live Extended Thinking 支持 128K token 的上下文窗口,每次响应最多 65,536 个输出 token。
Gemini 3.8 Live Extended Thinking 通过 api.empiriolabs.ai 上的 WEBSOCKET /v1/realtime 提供,使用标准的 Bearer 令牌认证。
打开EmpirioLabs Playground并点击 Start session,即可在浏览器中试用。Gemini 3.8 Live Extended Thinking 运行在 WebSocket 上,而不是一次请求一次响应,因此接入时请从实时语音快速入门开始。用 EmpirioLabs API 密钥和模型 id gemini-3-8-live-extended-thinking 从你的服务器连接,然后双向流式传输音频。
创建 EmpirioLabs 账户,然后在控制台的 API Keys生成密钥。计费使用按量付费的额度,只为实际发出的请求付费。