مقدمة

مرحبًا بك في توثيق واجهة برمجة التطبيقات (API) الخاصة بـ Lahajati AI. ستجد هنا جميع المعلومات التي تحتاجها لدمج تقنية تحويل النص إلى كلام، تحويل الصوت إلى صوت، واستنساخ الأصوات المتطورة لدينا في تطبيقاتك.

إجراء الطلبات

المصادقة

تستخدم Lahajati AI API مفاتيح API للمصادقة على الطلبات. يمكنك الحصول على مفتاح API الخاص بك من لوحة تحكم حسابك.

يجب أن تتضمن جميع طلبات API مفتاح API الخاص بك في ترويسة Authorization:

Authorization: Bearer YOUR_API_KEY

الطلبات التي لا تحتوي على مصادقة ستفشل مع رمز الحالة `401 Unauthorized`.

معالجة الأخطاء (عام)

تستخدم واجهة برمجة تطبيقات لهجاتي رموز حالة HTTP القياسية للإشارة إلى نجاح أو فشل طلب API. بشكل عام: الرموز في نطاق `2xx` تشير إلى النجاح. الرموز في نطاق `4xx` تشير إلى خطأ ناتج عن المعلومات المقدمة من العميل (على سبيل المثال، معلمة مطلوبة مفقودة، فشل المصادقة، إلخ). الرموز في نطاق `5xx` تشير إلى خطأ من جانب خوادمنا.

  • `400 Bad Request`: لم يتمكن الخادم من فهم الطلب بسبب صياغة غير صالحة. تحقق من تنسيق جسم الطلب أو معلمات الاستعلام.
  • `401 Unauthorized`: مفتاح API الخاص بك مفقود، غير صالح، أو منتهي الصلاحية. تأكد من تضمين ترويسة `Authorization: Bearer YOUR_API_KEY` صالحة.
  • `403 Forbidden`: ليس لديك الإذن للوصول إلى هذا المورد أو تنفيذ هذه العملية (على سبيل المثال، محاولة تعديل مورد لا تملكه، أو تجاوز حدود الباقة).
  • `404 Not Found`: لم يتم العثور على المورد المطلوب (على سبيل المثال، `id_voice` غير موجود).
  • `422 Unprocessable Entity`: كان الطلب جيد الصياغة ولكن تعذر متابعته بسبب أخطاء دلالية (فشل التحقق من صحة الإدخال). سيتضمن جسم الاستجابة عادةً كائن `errors` مع تفاصيل الحقول التي فشلت في التحقق.
  • `429 Too Many Requests`: لقد تجاوزت حد معدل الطلبات (RPM) المسموح به لباقة اشتراكك. حاول مرة أخرى لاحقًا. راجع قسم حدود معدل الطلبات.
  • `500 Internal Server Error` / `502 Bad Gateway` / `503 Service Unavailable`: حدث خطأ غير متوقع من جانب الخادم أو أن الخدمة غير متاحة مؤقتًا. إذا استمرت المشكلة، يرجى الاتصال بالدعم.

حدود معدل الطلبات (RPM)

واجهة برمجة تطبيقات لهجاتي AI تفرض حدودًا على عدد الطلبات التي يمكن إجراؤها في الدقيقة (RPM) بناءً على باقة اشتراكك. تهدف هذه الحدود إلى ضمان أداء مستقر وعادل لجميع المستخدمين. تجاوز هذه الحدود سيؤدي إلى استجابة خطأ `429 Too Many Requests`.

الباقة الطلبات في الدقيقة (RPM)
باقة البداية 100
باقة صانع المحتوى 250
الباقة المتميزة 400
باقة الأعمال 500

حدود الطلبات المتزامنة

بالإضافة إلى حدود RPM، هناك قيود على عدد الطلبات المتزامنة التي يمكن لحسابك تشغيلها في نفس الوقت. هذا يساعد في الحفاظ على استقرار النظام.

الباقة الحد الأقصى للطلبات المتزامنة
باقة البداية 5
باقة صانع المحتوى 10
الباقة المتميزة 15
باقة الأعمال 20

التحكم المطلق في توليد الكلام

توفر نقاط النهاية هذه تحكمًا دقيقًا ومتقدمًا في عملية توليد الكلام. يمكنك تحديد اللهجة وأسلوب الأداء بشكل منفصل أو توفير توجيهات نصية مخصصة (prompt) للحصول على المخرجات الصوتية المطلوبة بدقة.

GETGET الحصول على أصوات التحكم المطلق

https://lahajati.ai/api/v1/voices-absolute-control

يجلب قائمة بالأصوات المتاحة خصيصًا للاستخدام مع نقطة نهاية "توليد الكلام بالتحكم المطلق".

معلمات الاستعلام (Query Parameters)

معلمات اختيارية لفلترة النتائج وفرزها وتقسيمها إلى صفحات.

المعلمة النوع مطلوب الوصف
page integer (عدد صحيح) لا (الافتراضي 1) رقم الصفحة المطلوب من النتائج.
per_page integer (عدد صحيح) لا (الافتراضي 15، الأقصى 100) عدد الأصوات التي يتم إرجاعها في كل صفحة.
gender string (نص) لا فلترة حسب الجنس. القيم المسموح بها: `1` (ذكر)، `2` (أنثى)، `3` (أطفال).

الاستجابة الناجحة (200 OK)

إرجاع قائمة مقسمة إلى صفحات لكائنات الأصوات المتوافقة.

GETGET الحصول على أنماط الأداء

https://lahajati.ai/api/v1/performance-absolute-control

يجلب قائمة بأنماط الأداء المتاحة (مثل درامي، إخباري، إعلاني) التي يمكن استخدامها لتوجيه نموذج توليد الكلام.

معلمات الاستعلام (Query Parameters)

المعلمة النوع مطلوب الوصف
page integer (عدد صحيح) لا (الافتراضي 1) رقم الصفحة المطلوب من النتائج.
per_page integer (عدد صحيح) لا (الافتراضي 15، الأقصى 100) عدد الأصوات التي يتم إرجاعها في كل صفحة.

الاستجابة الناجحة (200 OK)

إرجاع قائمة مقسمة إلى صفحات لكائنات أنماط الأداء.

GETGET الحصول على اللهجات

https://lahajati.ai/api/v1/dialect-absolute-control

يجلب قائمة باللهجات المتاحة (مثل المصرية، السعودية النجدية) التي يمكن استخدامها لتوجيه نموذج توليد الكلام.

معلمات الاستعلام (Query Parameters)

المعلمة النوع مطلوب الوصف
page integer (عدد صحيح) لا (الافتراضي 1) رقم الصفحة المطلوب من النتائج.
per_page integer (عدد صحيح) لا (الافتراضي 15، الأقصى 100) عدد الأصوات التي يتم إرجاعها في كل صفحة.

الاستجابة الناجحة (200 OK)

إرجاع قائمة مقسمة إلى صفحات لكائنات اللهجات.

POSTPOST توليد الكلام بالتحكم المطلق

https://lahajati.ai/api/v1/text-to-speech-absolute-control

يولد كلامًا من نص باستخدام صوت محدد وتحكم دقيق في الأداء عبر وضعين: الوضع المنظم (باستخدام معرفات الأداء واللهجة) أو وضع التوجيه المخصص.

معلمات جسم الطلب (Request Body - JSON)

المعلمة النوع مطلوب الوصف
text string (نص) نعم النص المراد تحويله إلى كلام.
id_voice string (معرف) نعم GET الحصول على أصوات التحكم المطلق: المعرف الفريد لمؤدي الصوت المطلوب. يمكن الحصول عليه عبر نقطة النهاية الحصول على الأصوات.
input_mode string ("0" or "1") نعم يحدد وضع التحكم. `0` للوضع المنظم (باستخدام معرفات)، `1` لوضع التوجيه المخصص.
performance_id string (معرف) لا (مطلوب إذا كان `input_mode` هو `0`) معرف نمط الأداء. يتم الحصول عليه من نقطة نهاية الحصول على أنماط الأداء.
dialect_id string (معرف) لا (مطلوب إذا كان `input_mode` هو `0`) معرف اللهجة. يتم الحصول عليه من نقطة نهاية الحصول على اللهجات.
custom_prompt_text string (نص) لا (مطلوب إذا كان `input_mode` هو `1`) توجيه نصي مخصص ومفصل لوصف الأداء المطلوب.

الاستجابة الناجحة

عند النجاح (`200 OK`)، سيحتوي جسم الاستجابة على بيانات الصوت الخام. ترويسة `Content-Type` ستكون `audio/mpeg`.

استجابات الخطأ

بالإضافة إلى الأخطاء العامة، قد تواجه الأخطاء التالية الخاصة بهذه النقطة:

  • 401 ليس لديك الإذن أو الباقة اللازمة لاستخدام هذا الصوت.
  • 401 رصيد نقاطك غير كافٍ لإتمام عملية توليد الصوت.
  • 404 المعرف `id_voice` المحدد غير موجود.
  • 422 فشل التحقق من صحة الإدخال. تأكد من أن المعلمات المطلوبة لكل `input_mode` موجودة.