TokenLab

Hướng dẫn media

Âm thanh & thời gian thực

Chọn giọng nói, phiên âm, dịch hoặc WebSocket thời gian thực cho ứng dụng âm thanh.

Tác vụ âm thanh có hai dạng. Dùng endpoint audio cho yêu cầu kiểu tệp như text-to-speech, phiên âm và dịch âm thanh. Dùng endpoint WebSocket thời gian thực khi trải nghiệm cần âm thanh tương tác độ trễ thấp hoặc sự kiện đa phương thức.

Chọn Luồng

LuồngEndpointDùng khi
Văn bản thành giọng nóiPOST /v1/audio/speechBạn cần tệp âm thanh từ văn bản.
Phiên âmPOST /v1/audio/transcriptionsBạn cần văn bản từ tệp âm thanh.
Dịch âm thanhPOST /v1/audio/translationsBạn cần văn bản đã dịch từ tệp âm thanh.
Phiên thời gian thựcGET /v1/realtimeBạn cần âm thanh streaming hai chiều hoặc sự kiện đa phương thức thời gian thực.

Khám Phá Mô Hình

Hãy truy vấn danh mục mô hình trước khi hard-code model. Dùng danh sách đề xuất cho speech và transcription, đồng thời kiểm tra hỗ trợ realtime trong chi tiết model trước khi mở socket.

curl "https://api.tokenlab.sh/v1/models?recommended_for=tts" \
  -H "Authorization: Bearer sk-your-api-key"

curl "https://api.tokenlab.sh/v1/models?recommended_for=stt" \
  -H "Authorization: Bearer sk-your-api-key"

Yêu Cầu Âm Thanh Đồng Bộ

Tổng hợp giọng nói trả âm thanh trong phản hồi HTTP. Chép lời và dịch có thể trả văn bản cuối cùng hoặc tác vụ đã nhận. Nếu phản hồi chứa ID và trạng thái tác vụ thay vì văn bản, hãy lưu ID và theo dõi poll_url đến khi hoàn tất hoặc thất bại. Dành đủ thời gian cho tệp lớn và giữ Request ID.

curl -X POST "https://api.tokenlab.sh/v1/audio/speech" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1-hd",
    "voice": "nova",
    "input": "Welcome to TokenLab."
  }' \
  --output speech.mp3

Phiên Thời Gian Thực

Mở WebSocket với model trong query string và API key trong header Authorization. Dùng định dạng sự kiện được tài liệu hóa cho realtime model đã chọn, rồi đóng socket khi phiên hoàn tất.

Hướng dẫn này chỉ bao phủ WebSocket subset. TokenLab hiện chưa cung cấp các endpoint REST của OpenAI Realtime cho client secret, translation client secret, Calls hoặc quản lý legacy beta session.

Với ví dụ máy chủ, cài ws và đặt TOKENLAB_REALTIME_MODEL thành mô hình hiện tại có chi tiết khai báo /v1/realtime. Cung cấp TOKENLAB_API_KEY trong môi trường máy chủ; tên mô hình không đủ chứng minh hỗ trợ realtime.

npm install ws
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('message', (event) => console.log(event.toString()));
socket.on('error', (error) => console.error(error.message));
process.once('SIGINT', () => socket.close(1000, 'Client stopped'));

Xử Lý Trạng Thái

  • Lưu tệp âm thanh đã tạo thay vì phát lại cùng một yêu cầu khi refresh.
  • Với phiên âm và dịch, vẫn hiển thị trạng thái tải lên và xử lý dù API call là đồng bộ.
  • Với realtime, xử lý sự kiện đóng và chỉ kết nối lại khi người dùng bắt đầu phiên mới.
  • Không đặt API key, URL riêng tư hoặc bí mật tài khoản trong văn bản âm thanh.

Tham Chiếu API

Chủ đềTham chiếu
Tạo Giọng NóiTạo Giọng Nói
Tạo Phiên ÂmTạo Phiên Âm
Tạo Bản DịchTạo Bản Dịch
WebSocket Thời Gian ThựcWebSocket Thời Gian Thực
Liệt Kê Mô HìnhLiệt Kê Mô Hình
Thanh toán & giáThanh toán & giá

Trên trang này