Kitta AI Docs
مرجع APIتحويل النص إلى كلامتحويل النص إلى كلام في الوقت الفعلي
Back to site

تحويل النص إلى كلام في الوقت الفعلي v3

بث الكلام عبر بروتوكول WebSocket ‏Realtime TTS v3 المحايد للمزوّد.

Realtime TTS v3 هو البروتوكول الموصى به للتكاملات الجديدة. تستخدم جميع المحركات أحداث camelCase والمصادقة والفوترة والاسترداد نفسها؛ ولتغيير المحرك يكفي تغيير modelId.

العنصرالقيمة
WebSocketwss://kittaai.com/v3/tts/live
البروتوكول الفرعيrealtime.tts.msgpack.v3
الإمكاناتGET /v3/tts/capabilities على مضيف realtime

كل الرسائل إطارات MessagePack ثنائية. يرسل عميل الخادم Authorization: Bearer API_KEY في المصافحة. في المتصفح، ينشئ خادم موثوق تذكرة لمرة واحدة عبر POST /v3/tts/browser-tickets. لا تضع بيانات الاعتماد في URL.

يتصل المتصفح باستخدام URL والبروتوكول الفرعي المُعادين، ثم يرسل { event: 'auth', token: 'rtv2_ticket_...' } كأول إطار MessagePack.

{ event: 'start', mode: 'simple', request: {
  voiceId: '00a1b221-6137-4b73-ad62-b0cbce134167',
  modelId: 'fishaudio-s21pro-flash', format: 'mp3',
  speed: 1, stability: 1, similarity: 1, language: 'ar',
  chunkLength: 200, latency: 'balanced'
}}

voiceId وmodelId مطلوبان. تحدد capabilities النماذج والتنسيقات وعناصر التحكم، وتمثل ready.effectiveRequest القيم الفعلية. أرسل النص بواسطة { event:'input', text:'مرحبا', commit:true } ثم أنهِ الجلسة بـ stop.

أهم أحداث الخادم: authenticated وready وinput_ack وsegment_accepted وaudio وusage وsegment_completed وwarning وerror وfinish وpong، وجميع الحقول camelCase.

في الوضع الموثوق استخدم mode:'reliable' وrequestId ثابتًا. الحالة: GET /v3/tts/requests/{requestId}، والصوت: GET /v3/tts/requests/{requestId}/segments/{segmentId}/audio. أعد المحاولة فقط عندما تكون error.retryable تساوي true. يبقى Realtime v2 متوافقًا، لكن لا تخلط snake_case الخاص به مع v3.