XRToken API 文档

端到端实时语音对话(WebSocket)

API 配置
保存后下方「Try It」面板会自动携带此 API Key 发送真实请求。
Base: api.xrtoken.net

WebSocket 端点,非普通 HTTP:wss://api.xrtoken.net/v1/realtime?model=doubao-realtime。 一个长连接完成「录音 → 识别 → 大模型 → 语音回答」全链路,自带 VAD 断句、打断、上下文。

鉴权:服务端用 Authorization: Bearer <key> header;浏览器无法带 header,用 Sec-WebSocket-Protocol: ["xrtoken.bearer", "<key>"] 携带。

豆包:model=doubao-realtime 使用火山二进制协议(StartConnection → StartSession → TaskRequest → ASRResponse/ChatResponse/TTSResponse)。按 token 结算,3 分钟无交互自动断开。

Grok Voice 3.0(需渠道启用):model=xai/grok-voice-3.0 使用 xAI JSON 事件。先发 session.update 设置 voice、instructions、turn_detection: {"type":"server_vad"},再发 input_audio_buffer.append(base64 PCM16,默认 24kHz),接收 response.output_audio.delta 和 response.output_audio_transcript.delta。支持语音打断与客户端 function 工具;当前不支持手动断句、会话恢复及另行收费的服务端工具。

Grok 按会话时长加文字消息计费,停顿也计时;文字 conversation.item.create 另计,工具结果与音频项除外。开始预冻结额度,结束结算。max_duration_seconds 为 1–600(默认 600),max_text_messages 为 0–100(默认 20),网页使用 0。网关限制参数不会发送给 xAI。达到时长上限自动关闭;配置或价格未准备好时返回 503。

GET
/v1/realtime

Authorization

BearerAuth
AuthorizationBearer <token>

API 密钥认证(OpenAI 格式)。在 Authorization 请求头中传入:

Authorization: Bearer tr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

In: header

Query Parameters

model*string
max_duration_seconds?integer

Grok 会话上限,影响预冻结金额

Default600
Range1 <= value <= 600
max_text_messages?integer

Grok 文字消息上限;纯语音可设为 0

Default20
Range0 <= value <= 100

Response Body

application/json

application/json

curl -X get "https://api.xrtoken.net/v1/realtime?model=string"
Empty
{
  "error": "invalid or missing API key",
  "type": "auth_error"
}
{
  "error": "insufficient balance -- please top up or upgrade your plan",
  "type": "billing_error"
}