工作原理
语音会话是你的客户端与 Theo 语音运行时之间的一个流式连接。你的应用需要:- 在浏览器(或设备端)中采集麦克风音频。
- 向 Theo 请求一个短时效的会话令牌。
- 使用该令牌打开流式语音连接,并在 Theo 的音频响应到达时进行播放。
获取语音令牌
在开始语音会话之前,先请求一个会话令牌:令牌端点会在返回令牌的同时返回
systemInstruction 和 tools,这是 Theo 平台的约定契约。你的客户端在打开实时语音连接时必须同时附带这两项——否则会话将在没有 Theo 角色、也没有任何工具访问权限的情况下启动。systemInstruction 承载了 Theo 语音角色、平台上下文、运行时协议以及工具使用指引(在存在时还包括记忆和技能上下文)。tools 数组包含所有已声明的语音工具(generate_image、generate_video、deep_research、generate_code、generate_document、save_memory),以及任何以 skill_{slug}_{toolName} 命名空间标识的已安装技能工具。
语音选择是可选项。可用的语音标识符列在仪表盘的 Settings → Voice(设置 → 语音)中。
转录(STT)
通过 STT 端点发送音频进行转录:{ "text": "transcribed text" }。
支持的格式:WebM、MP3、WAV、M4A、OGG。文件大小上限:25MB。
文字转语音(TTS)
将文本转换为音频:语音中的技能工具
带有工具定义的 E.V.I. 技能会自动在语音会话中可用。技能桥接层会将每个技能的工具以函数声明的形式暴露给语音运行时:- 工具名称以
skill_{slug}_{toolName}命名空间标识,以避免冲突。 - 技能清单中声明的输入模式会被转发给语音运行时。
- 当语音会话调用某个技能工具时,Theo 会将其路由到你的技能工具执行器,并将结果回传到实时会话中。
