音频与实时

实时 WebSocket

通过 WebSocket 连接实时语音和多模态会话

GET
/v1/realtime

通过 WebSocket 使用实时语音、翻译和多模态模型。普通 GET 请求返回接口信息;WebSocket 升级请求会开启实时会话。

支持范围

该接口是 OpenAI Realtime 的 WebSocket 子集,支持实时模型的 WebSocket 事件,不提供其 REST 辅助接口,例如 client_secrets、Calls API 或 legacy beta session API。

不要把长期 API 密钥写进浏览器或移动端应用。该接口目前不签发短期 Realtime client secret。

从 /v1/models 选择当前实时模型,查询 /v1/models/{model} 确认后设置 TOKENLAB_REALTIME_MODEL。会话事件与配置以模型为准。下方 JSON 示例是普通 HTTP GET 的返回,不是 WebSocket 会话事件。

连接

modelstringquery必填

实时模型 ID。请选择模型说明中包含 realtime 支持的模型。

Authorizationstringheader必填

Bearer API Key。WebSocket 客户端应在升级请求中发送 Authorization: Bearer sk-your-api-key。

请求

import WebSocket from 'ws';

const model = process.env.TOKENLAB_REALTIME_MODEL;
const apiKey = process.env.TOKENLAB_API_KEY;
if (!model || !apiKey) {
  throw new Error('Set TOKENLAB_REALTIME_MODEL and TOKENLAB_API_KEY');
}

const url = new URL('wss://api.tokenlab.sh/v1/realtime');
url.searchParams.set('model', model);
const socket = new WebSocket(url, {
  headers: { Authorization: `Bearer ${apiKey}` }
});

socket.on('open', () => {
  console.log('Realtime connection open');
});

socket.on('message', (data) => {
  console.log('realtime event', data.toString());
});

socket.on('error', (error) => console.error(error.message));
socket.on('close', (code) => console.log('Realtime connection closed', code));

消息

事件格式以所选模型为准。model 放在连接 URL 的查询字符串中,不需要写进每条事件。

计费与关闭

会话按实际用量计费,费用会计入所用 API 密钥。

会话结束后关闭连接。服务端结束会话时,客户端会收到关闭事件或状态码。

响应示例

响应

HTTP GET
{
  "object": "realtime.endpoint",
  "websocket_url": "/v1/realtime?model={model}",
  "protocol": "tokenlab_realtime_proxy"
}

重要字段

objectstring
普通 HTTP GET 响应的对象类型,固定为 realtime.endpoint。
websocket_urlstring
普通 HTTP GET 返回的 WebSocket 相对连接路径:/v1/realtime?model={model}。将 {model} 替换为所选模型的 ID。
protocolstring
普通 HTTP GET 返回的协议标识,固定为 tokenlab_realtime_proxy。
typestring
API 返回的事件或消息类型。
session.idstring
实时会话 ID,可用于日志和问题排查。

授权

BearerAuth
AuthorizationBearer <token>

API Key 身份验证。在 Dashboard > API > API Keys 中创建或管理 API Key。

位置: header

查询参数

model?string

用于路由 WebSocket 会话的实时模型 ID。WebSocket 升级请求必需;普通 HTTP 元数据检查可选。

响应

application/json

application/json

application/json

application/json

application/json

application/json