Grok Voice 3
← 全部指南

语音开发手册

Grok Voice 3.0 API 接入教程

从服务端鉴权、任务状态到音频交付,搭建可替换的语音接口。

核对于 2026 年 10 月 16 日 · 伊芙琳·帕克

按交互选择接口

实时语音助手走 Speech to Speech;文案配音走 Text to Speech。建议在代码中把两者定义成独立操作,前者维护音频会话,后者从文字生成一段音频。

先为自己的应用定义接口,而不是让页面依赖供应商字段:

type VoiceInput = { text: string; language: 'en' | 'zh' };
type VoiceJob = { ticket: string; status: 'queued' };
interface NarrationProvider {
  submit(input: VoiceInput, requestId: string): Promise<VoiceJob>;
}

这段代码是应用层接口,不是 xAI SDK。浏览器无需接收内部任务编号、模型名或长期密钥。

先做请求边界

浏览器把文字发给本站服务端。服务端校验来源、长度、语言和额度,再带稳定请求标识提交一次任务,返回有访问范围的票据。前端轮询本站状态接口,成功后获取音频播放地址。

网络重试和重复点击必须在服务端去重。按钮禁用只改善体验,不能保证任务不会重复执行或计费。结果未知时不要立即当作失败创建新任务。

再接实时语音

按照官方 Speech to Speech 会话协议传输麦克风音频与响应事件。由服务端生成短期客户端凭据,长期 key 始终留在服务器。为会话设置时长上限,用户停止时关闭连接。

录音、编码、传输、播放分成独立模块。排障优先记录事件类型、耗时和错误分类,默认不记录完整原始对话。

开放前验收

检查空输入、超长输入、不支持的语言、重复提交、跨会话访问、连接超时和生成失败。上游地址由服务端固定,不能允许客户端任意传 URL。错误信息不能泄露供应商响应与凭据。

最后实际播放和下载音频,不能只用 JSON 返回成功作为验收。实时状态机参见 WebSocket 指南,具体字段和事件名称始终以官方文档为准。

把你的文案放进演示工具↗

来源与延伸阅读

docs.x.ai · speech-to-speechdocs.x.ai · ephemeral-tokensdocs.x.ai · text-to-speech