دليل المستخدم مرجع الواجهة البرمجية (API)

تحويل النص إلى كلام (TTS)

تحويل النص إلى كلام طبيعي

POST /api/v1/tts/generate/

تحويل النص إلى كلام باستخدام توليف الصوت بالذكاء الاصطناعي. يرجع ملف صوتي بصيغة MP3.

المصادقة

قم بتضمين مفتاح API الخاص بك في ترويسة Authorization.

محتوى الطلب (Request Body)

Parameter إجراء مطلوب النوع الوصف
text مطلوب نص (string) النص المراد تحويله (بحد أقصى 1500 حرف)
output_format اختياري نص (string) صيغة مخرجات الصوت المطلوبة. يتم تحديدها بصيغة الكودك_معدل العينة_معدل البت (مثلاً: mp3_22050_32). القيمة الافتراضية هي mp3_44100_128. راجع قسم صيغ المخرجات أدناه للحصول على القائمة الكاملة.
voice_id مطلوب عدد صحيح (integer) معرف الصوت من قائمة الأصوات.
prerecording اختياري عدد صحيح (integer) 1 (تحسين أساسي) أو 2 (تحسين بالذكاء الاصطناعي)
voice_settings اختياري نص (JSON) خيارات تخصيص الصوت

صيغ المخرجات المدعومة

يمكن أن تكون معلمة output_format أيًا من القيم التالية:

  • MP3: mp3_22050_32, mp3_24000_48, mp3_44100_32, mp3_44100_64, mp3_44100_96, mp3_44100_128, mp3_44100_192
  • PCM: pcm_8000, pcm_16000, pcm_22050, pcm_24000, pcm_32000, pcm_44100, pcm_48000
  • Opus: opus_48000_32, opus_48000_64, opus_48000_96, opus_48000_128, opus_48000_192

يعمل هذا القسم كمرجع، حتى يتمكن المستخدمون من اختيار الصيغة المناسبة دون إزدحام جدول الطلب الرئيسي.

كائن إعدادات الصوت

Parameter النوع النطاق افتراضي الوصف
temperature عدد صحيح (integer) 0 – 100 25 يتحكم في تباين الكلام والتعبير. تؤدي القيم المنخفضة إلى إنتاج كلام أكثر استقرارًا وقابلية للتنبؤ، بينما تزيد القيم الأعلى من التباين والعفوية والصياغة الإبداعية.
voice_similarity عدد صحيح (integer) 0 – 100 100 يحدد مدى مطابقة الكلام الناتج لملف الصوت المختار. تحافظ القيم الأعلى على هوية الصوت الأصلية، بينما تسمح القيم الأقل بمزيد من الانحراف في النبرة والنطق.
speed عدد عشري (float) 0.7 – 1.2 1.0 يضبط معدل التحدث. القيم الأقل من 1.0 تبطئ الكلام من أجل الوضوح، بينما القيم الأعلى من 1.0 تزيد من سرعة التحدث.
enable_emotions قيمة منطقية (boolean) false / true false يفعل توليد الكلام التعبيري العاطفي. عند تفعيله، يتحكم النموذج ديناميكيًا في الوتيرة والintonation والتأكيد بناءً على السياق العاطفي.
fast_mode عدد صحيح (integer) 0, 1, or 2 0 يقلل من وقت معالجة التوليف على حساب جودة الصوت.
  • 0: معطل (أعلى جودة، وقت استجابة عادي)
  • 1: تقليل متوسط لوقت الاستجابة
  • 2: أقصى تقليل لوقت الاستجابة (أقل جودة)

قواعد وقيود إعدادات الصوت

  • عند ضبط enable_emotions على true، يجب عدم تضمين الحقول التالية في إعدادات الصوت (voice_settings):
    • voice_similarity
    • speed
    • fast_mode
  • الطلبات التي تتضمن أيًا من هذه الحقول أثناء تفعيل العواطف سيتم رفضها بخطأ 400 INVALID_REQUEST.

مثال

curl -X POST "https://moknah.io/api/v1/tts/generate/" \
  -H "Authorization: "Bearer your_api_key"
  -d '{
    "text": "مرحبا بك في منصة مكنة",
    "voice_id": 1,
    "prerecording": 1,
    "voice_settings": {
        "speed": 1.0,
        "temperature": 25
    }
  }' \
  --output speech.mp3
import requests

response = requests.post(
    "https://moknah.io/api/v1/tts/generate/",
    headers={
        "Authorization": "Bearer your_api_key",
        "Content-Type": "application/json"
    },
    json={
        "text": "مرحبا بك في منصة مكنة",
        "voice_id": 1,
        "prerecording": 1,
        "voice_settings": {
            "speed": 1.0,
            "temperature": 25
        }
    }
)

with open("speech.mp3", "wb") as f:
    f.write(response.content)
const response = await fetch(
    'https://moknah.io/api/v1/tts/generate/',
    {
        method: 'POST',
        headers: {
            'Authorization': 'Bearer your_api_key',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            text: 'مرحبا بك في منصة مكنة',
            voice_id: 1,
            prerecording: 1,
            voice_settings: {
                speed: 1.0,
                temperature: 25
            }
        })
    }
);

const blob = await response.blob();
// Save or play the audio

الاستجابة

يرجع بيانات صوتية ثنائية بصيغة MP3 مع هذه الترويسات:

الترويسة (Header) الوصف
Content-Type audio/mpeg

أخطاء

الحالة الكود الوصف
400 INVALID_REQUEST معلمات غير صالحة
401 UNAUTHORIZED مفتاح API غير صالح
402 INSUFFICIENT_CREDITS رصيد غير كافٍ
429 RATE_LIMIT_EXCEEDED عدد كبير جدًا من الطلبات
دعم واجهة برمجة التطبيقات (API)

للأسئلة أو المشكلات المتعلقة بواجهة برمجة التطبيقات، اتصل بنا على api@moknah.io.