Audio
Markdownتحويل النص إلى كلام (TTS) والتعرّف على الكلام (STT) بصيغة OpenAI Audio.
الدليل الكامل
https://api.ailoot.ai/v1/audio/speech# توليد الكلام
curl https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "qwen-audio-3.0-tts-plus", "input": "طاب يومكم! هذا مثال على تحويل النص إلى كلام.", "voice": "longanlingxin"}' \
--output speech.mp3
# التعرّف
curl https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-F model=qwen-asr \
-F file=@meeting.wav# التعرّف على الكلام
with open("meeting.wav", "rb") as f:
tr = client.audio.transcriptions.create(model="qwen-asr", file=f)
print(tr.text){
"text": "طاب يومكم، أيها الزملاء. لنبدأ بنتائج الأسبوع…"
}المصادقة
- Authorizationheaderمطلوب
المفتاح بصيغة
Bearer sk-…. يمكن أيضاً استخدام الترويساتx-api-keyأوx-goog-api-key.
تحويل النص إلى كلام: جسم الطلب
- modelstringمطلوب
نموذج تحويل النص إلى كلام:
gemini-3.8-flash-tts,qwen-audio-3.0-tts-plus,speech-2.8-turbo,gemini-3.8-flash-lite-tts,speech-2.8-hd,gemini-3.1-flash-tts-preview,speech-2.6-turbo,speech-2.6-hd,speech-02-turbo,speech-02-hd. - inputstringمطلوب
النص المراد تحويله إلى كلام. تقبل نماذج MiniMax أقل من 10 000 محرف، ويقبل
qwen-audio-3.0-tts-plusحتى 600 محرف. - voicestring
الصوت. مطلوب لنماذج MiniMax (
speech-2.8-hdوغيرها منspeech-…): معرّف صوت MiniMax (أحرف لاتينية وأرقام و_و-، حتى 128 محرفاً). لدىqwen-audio-3.0-tts-plusالقيمة الافتراضية هيlonganlingxin، ولدى نماذج Gemini TTS هيKore. - response_formatstringاختياري
MiniMax — يدعم فقط
mp3;qwen-audio-3.0-tts-plus—mp3,wavأوpcm؛ Gemini TTS — يدعمwavأوjson(رابط إلى الملف).
الرد ملف صوتي (لدى MiniMax بصيغة audio/mpeg). تُحسب التكلفة بحسب محارف النص أو التوكنات، كما هو موضح في الكتالوج.
التعرّف على الكلام
https://api.ailoot.ai/v1/audio/transcriptions- filefileمطلوب
ملف صوتي WAV ضمن
multipart/form-data.qwen-asr,qwen-asr-latestوqwen-audio-3.0-asr-flash: ملف PCM WAV كامل غير مضغوط بطول يصل إلى 5 دقائق، وحجم ملف يقارب 7,5 ميغابايت كحد أقصى (حتى 10 ميغابايت بصيغة base64).asr-1.0: ملف PCM WAV بطول يصل إلى 500 ثانية وحجم يصل إلى 50 ميغابايت.gemini-3.5-transcribe: ملف WAV بحجم يصل إلى 64 ميغابايت. - modelstringمطلوب
نموذج التعرّف على الكلام:
gemini-3.5-transcribe,qwen-audio-3.0-asr-flash,asr-1.0. - response_formatstringاختياري
فقط
json(أو اترك الحقل دون تحديد).
الحقل language لا تستخدمه هذه النماذج. الرد: {"text": "…"}. تُحسب التكلفة بحسب مدة التسجيل (بالثواني أو الدقائق أو الساعات؛ لكل نموذج وحدة خاصة به).
الصوت في الوقت الفعلي
لـ qwen-audio-3.0-realtime-plus افتح اتصال WebSocket wss://api.ailoot.ai/v1/realtime?model=qwen-audio-3.0-realtime-plus بالترويسة Authorization: Bearer <API_KEY>. أرسل المفتاح من جانب الخادم: لا يُقبل المفتاح ضمن query string. انتظر session.created بالنموذج المحدد، ثم أرسل الإعدادات والرسالة و response.create. فيما يلي ثلاثة إطارات نصية JSON متتابعة للحصول على رد نصي في جلسة صوتية:
{"type":"session.update","session":{"modalities":["text"],"turn_detection":null,"max_history_turns":20,"instructions":"كن موجزًا."}}{"type":"conversation.item.create","item":{"type":"message","role":"user","content":[{"type":"input_text","text":"قل نعم."}]}}{"type":"response.create"}اقرأ أحداث الرد حتى response.done وقيمة usage النهائية الخاصة به؛ تأتي الأخطاء عبر الحدث error. تُحسب التكلفة بحسب التوكنات النصية والصوتية لكل رد مؤكّد. إدخال الصوت: الحدث input_audio_buffer.append مع audio — بصيغة base64 PCM16 mono 16 kHz؛ ثم input_audio_buffer.commit و response.create. إخراج الصوت بصيغة PCM16 mono 24 kHz. لا تُقبل الإطارات الثنائية في هذه الجلسة.
أحداث العميل المدعومة: session.update, input_audio_buffer.append/commit/clear, response.create/cancel, conversation.item.create/retrieve/delete. عناصر conversation items مخصصة للرسائل والنص فقط؛ أدوات الدوال والبحث على الويب وvoiceprint غير مدعومة. حدود الجلسة: 600 ثانية، و20 رداً، و20 جولة في سجل المحادثة، و2000 بايت لحقل instructions، و8000 بايت لنص العميل. تعتمد مهلة الخمول على الإعدادات (60 ثانية افتراضياً).