Âm thanh & thời gian thực
Realtime WebSocket
Kết nối phiên giọng nói và đa phương thức thời gian thực qua WebSocket
Tổng quan
Dùng endpoint này cho các phiên thời gian thực như nhận dạng giọng nói streaming, tổng hợp giọng nói, dịch giọng nói hoặc các mô hình đa phương thức thời gian thực. Yêu cầu GET thông thường trả về metadata của endpoint, còn yêu cầu nâng cấp WebSocket sẽ mở một phiên thời gian thực cho mô hình đã chọn.
Phạm vi hỗ trợ
TokenLab cung cấp endpoint WebSocket thời gian thực tại GET /v1/realtime để kiểm tra metadata và upgrade WebSocket. Hãy xem đây là một WebSocket subset: endpoint chỉ chuyển tiếp sự kiện của các mô hình realtime được hỗ trợ và không hỗ trợ các bề mặt REST helper của OpenAI Realtime như tạo phiên, client_secrets, API điều khiển cuộc gọi Calls hoặc legacy beta session APIs.
Với ứng dụng trình duyệt hoặc di động, hãy giữ API key dài hạn trên server của bạn. Endpoint này không phát hành Realtime client secret ngắn hạn.
/v1/models, kiểm tra /v1/models/{model} rồi đặt TOKENLAB_REALTIME_MODEL. Sự kiện và cấu hình phiên tùy thuộc mô hình. Ví dụ JSON dưới đây là phản hồi HTTP GET thông thường, không phải sự kiện phiên WebSocket.Kết nối
ID mô hình realtime. Chọn mô hình có chi tiết model liệt kê hỗ trợ realtime.
API key Bearer. Client WebSocket nên gửi Authorization: Bearer sk-your-api-key trong yêu cầu upgrade.
Yêu cầu
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));Tin nhắn
TokenLab chuyển tiếp các tin nhắn WebSocket giữa client của bạn và mô hình thời gian thực đã chọn. Hãy dùng định dạng sự kiện được ghi trong tài liệu của mô hình đó và đưa model vào query string thay vì vào từng sự kiện.
Tính phí và đóng kết nối
Phiên được tính phí từ số dư khóa API của bạn: TokenLab giữ trước một khoản ước tính khi bắt đầu, sau đó quyết toán theo mức sử dụng thực tế khi kết thúc và hoàn lại phần chênh lệch.
Đóng socket client khi phiên hoàn tất. Nếu dịch vụ đóng phiên trước, TokenLab sẽ gửi một sự kiện/mã đóng an toàn đến client của bạn khi có thể.
Phản hồi
{
"object": "realtime.endpoint",
"websocket_url": "/v1/realtime?model={model}",
"protocol": "tokenlab_realtime_proxy"
}Trường quan trọng
realtime.endpoint./v1/realtime?model={model}. Thay {model} bằng ID của mô hình đã chọn.tokenlab_realtime_proxy.Xác thực
BearerAuth Xác thực bằng Khóa API. Tạo hoặc quản lý khóa API trong Dashboard > API > API Keys.
Vị trí: header
Tham số truy vấn
ID mô hình thời gian thực để định tuyến phiên WebSocket. Bắt buộc đối với các yêu cầu nâng cấp WebSocket; tùy chọn cho các kiểm tra metadata HTTP thông thường.
Phản hồi
application/json
application/json
application/json
application/json
application/json
application/json