XRToken API 文档

流式语音识别(WebSocket,火山原生协议透传)

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

WebSocket 端点,非普通 HTTPwss://api.xrtoken.net/v1/audio/transcriptions/stream?model=doubao-asr-stream

建连后走火山豆包流式语音识别 sauc 二进制协议(bigmodel_async 双向流式优化版):客户端发送 full client request(config)→ 持续发送 audio only request(16k/单声道/16bit PCM,建议 200ms 分片)→ 接收 full server response 增量识别结果。协议帧格式、字段与 Demo 详见对接文档与火山官方文档。

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

计费:按识别音频时长(秒)计费,结算以服务端返回的 audio_info.duration 为准。 注意:静音同样计入音频时长——客户端应在静音时停止推流或用端上 VAD 截断,避免为静音付费。

并发:单 key 最多 10 路并发流。

GET
/v1/audio/transcriptions/stream

Authorization

BearerAuth
AuthorizationBearer <token>

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

Authorization: Bearer tr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

In: header

Response Body

application/json

application/json

application/json

curl -X get "https://api.xrtoken.net/v1/audio/transcriptions/stream"
Empty
{
  "error": "invalid or missing API key",
  "type": "auth_error"
}
{
  "error": "insufficient balance -- please top up or upgrade your plan",
  "type": "billing_error"
}
Empty
{
  "error": "upstream provider error",
  "type": "server_error"
}