الانتقال إلى المحتوى الرئيسي

نظرة عامة

يستخدم هذا المسار لجلسات التعرف على الكلام، توليد الكلام، ترجمة الكلام، أو النماذج متعددة الوسائط الفورية. طلب GET العادي يعيد معلومات المسار؛ أما ترقية WebSocket فتُمرر إلى جلسة المزود المختارة.
على الوكلاء اكتشاف النماذج التي تدعم realtime عبر /v1/models قبل فتح socket.

الاتصال

model
string
مطلوب
معرّف نموذج realtime. استخدم نموذجاً يعلن عقده العام دعم realtime.
Authorization
string
مطلوب
مفتاح API بصيغة Bearer. يجب أن يرسل عميل WebSocket ترويسة Authorization: Bearer sk-your-api-key أثناء طلب الترقية.
import WebSocket from 'ws';

const socket = new WebSocket('wss://api.tokenlab.sh/v1/realtime?model=qwen-tts-realtime', {
  headers: { Authorization: 'Bearer sk-your-api-key' }
});

socket.on('open', () => {
  socket.send(JSON.stringify({ type: 'session.start' }));
});

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

الرسائل

يمرر TokenLab رسائل WebSocket بين عميلك والمزود الفوري الذي تم اختياره. احتفظ بشكل الأحداث الرسمي للنموذج المحدد ومرر model في query string.

الفوترة والإغلاق

تستخدم جلسات realtime رصيد مفتاح API نفسه. يخصم TokenLab تقديراً صغيراً عند فتح socket، ثم يسوي المبلغ أو يرده عند الإغلاق. أغلق socket العميل عند اكتمال الجلسة. إذا أغلق المزود أولاً، يحاول TokenLab تمرير رمز الإغلاق إلى العميل.