دليل البدء
كل ما تحتاجه لإجراء أول طلب لك عبر واجهة برمجة التطبيقات
عناوين URL الأساسية
توفر مكنه نوعين من نقاط النهاية حسب حالة الاستخدام الخاصة بك:
واجهة REST API القياسية (للطلبات الفردية):
https://moknah.io/api/v1/
واجهة WebSocket API الفورية (للبث المستمر):
wss://moknah.io/api/v1/
المصادقة
تستخدم واجهة برمجة تطبيقات مكنه مفاتيح API للمصادقة. قم بتضمين مفتاح API الخاص بك في ترويسة Authorization باستخدام نظام
Bearer مع كل طلب HTTP ومصافحة WebSocket.
Authorization: Bearer YOUR_API_KEY
الحصول على مفتاح API الخاص بك
- سجل الدخول إلى لوحة تحكم مكنة
- اشترك في الخطة الاحترافية أو تواصل مع المبيعات للحصول على وصول المؤسسات.
- انتقل إلى API
- إضغط على إدارة مفاتيح API
- إضغط على مفتاح جديد
- انسخ مفتاحك واحفظه بشكل آمن
لا تكشف أبداً عن مفتاح API الخاص بك في كود جانب العميل أو المستودعات العامة. تعامل معه ككلمة مرور.
مثال HTTP سريع
إليك مثال كامل لتوليد الكلام من النص باستخدام REST API القياسي:
curl -X POST "https://moknah.io/api/v1/tts/generate/" \
-H "Authorization: Bearer your_api_key" \
-H "Content-Type: application/json" \
-d '{
"text": "مرحبا بك في منصة مكنة",
"voice_id": 1
}' \
--output speech.mp3
import requests
response = requests.post(
"https://moknah.io/api/v1/tts/generate/",
headers={
"Authorization": f"Bearer your_api_key",
},
json={
"text": "مرحبا بك في منصة مكنة",
"voice_id": 1
}
)
if response.status_code == 200:
with open("speech.mp3", "wb") as f:
f.write(response.content)
print("تم حفظ الصوت!")
else:
print(f"خطأ: {response.json()}")
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
})
}
);
if (response.ok) {
const blob = await response.blob();
// استخدم كتلة الصوت (audio blob)
console.log("تم توليد الصوت!");
} else {
const error = await response.json();
console.error(error);
}
تنسيق الاستجابة
استجابات النجاح
تختلف استجابات النجاح حسب نقطة النهاية:
- توليد تحويل النص إلى كلام (POST): يرجع بيانات صوتية ثنائية كاملة (audio/mpeg)
- بث تحويل النص إلى كلام (WSS): يبث مقاطع MP3 ثنائية بشكل مستمر أثناء توليدها
- نقاط النهاية الأخرى: ترجع بيانات JSON منظمة
ترويسات حدود الاستخدام (HTTP فقط)
تتضمن كل استجابة HTTP معلومات حول حدود الاستخدام (تطبق WebSockets الحدود عبر إغلاق الاتصال):
| الترويسة (Header) | الوصف |
|---|---|
| RateLimit-Limit | الحد الأقصى لعدد الطلبات في الدقيقة |
| RateLimit-Remaining | الطلبات المتبقية في النافذة الحالية |
| RateLimit-Reset | طابع Unix الزمني عند إعادة تعيين الحد |
| Moknah-Credits-Remaining | رصيدك المتبقي من النقاط |
أكواد الخطأ الشائعة
| الكود | النوع | الوصف |
|---|---|---|
| 400 | INVALID_REQUEST |
Parameters غير صالحة أو تنسيق JSON مشوه |
| 401 | UNAUTHORIZED |
مفتاح API غير صالح أو مفقود |
| 402 | INSUFFICIENT_CREDITS |
الحساب لا يملك رصيداً كافياً |
| 429 | RATE_LIMIT_EXCEEDED |
طلبات كثيرة جداً (HTTP) |
| 4290 | CONCURRENT_LIMIT |
اتصالات نشطة كثيرة جداً (WSS) |
| 500 | INTERNAL_SERVER_ERROR |
خطأ في الخادم |
راجع صفحة أخطاء للحصول على توجيهات مفصلة حول التعامل مع الأخطاء.
الخطوات التالية
الآن بعد أن انتهيت من الإعداد، استكشف نقاط النهاية المتاحة:
احصل على الأصوات المتاحة لتحويل النص إلى كلام
تحويل النص إلى صوت
تحويل النص لكلام عبر WebSocket بالوقت الحقيقي
استخراج النص من ملف صوتي
تحويل الكلام لنص عبر WebSocket بالوقت الحقيقي
للأسئلة أو المشكلات المتعلقة بواجهة برمجة التطبيقات، اتصل بنا على api@moknah.io.