المطورون / نص إلى كلام
عرض الأصوات المتاحة
https://api.echonova.ai/v1/text-to-speech/voicesتعرض مكتبة الأصوات في إيكونوڤا. أرسل معرّف الصوت في الحقل `voiceId` عند إنشاء الكلام.
Headers
كلمة Bearer ثم مسافة ثم مفتاح API الذي يبدأ بـ ek_. أنشئ المفاتيح في البوابة من المطورون، ثم مفاتيح واجهة برمجة التطبيقات.
الاستجابة
200 application/json كل استجابة تستخدم هذا الغلاف.
النتيجة.
العناصر في هذه الصفحة.
القيمة التي ترسلها في `voiceId`.
معرّف المحرّك، مثل "ae_ahmed".
اسم معروض، مثل "Ahmed". عند عدم ضبطه يُعرض `name`.
`ar` لأصوات العربية، و`en` لأصوات الإنجليزية.
تسمية الجنس، مثل `Male`.
رابط لعيّنة صوتية قصيرة من الصوت، إن وُجدت.
العدد الإجمالي للعناصر.
قيمته true عند نجاح الطلب.
يكرر رمز حالة HTTP.
قيمته null عند النجاح.
الأخطاء
الغلاف نفسه، مع success بقيمة false و data بقيمة null. كل الأخطاء
متى يحدث. header `Authorization` مفقود، أو قيمته لا تبدأ بـ `Bearer ek_...`، أو أن الرمز لا يطابق أي مفتاح، أو أن المفتاح محذوف أو معطّل، أو أن حسابه مغلق.
الحل. أرسل `Authorization: Bearer ek_...` بمفتاح API مفعّل.
متى يحدث. مساحة العمل التي يتبعها المفتاح ليس لديها اشتراك.
الحل. تحقّق من خطة مساحة العمل في البوابة.
متى يحدث. حالة الاشتراك ليست نشطة ولا تجريبية.
الحل. جدّد الاشتراك.
متى يحدث. المفتاح مقيّد، وتحويل النص إلى كلام ليس من الخدمات المسموح بها له.
الحل. عدّل المفتاح وامنحه تحويل النص إلى كلام، أو استخدم مفتاحًا آخر.
متى يحدث. المفتاح أرسل أكثر من 100 طلب إلى نقطة نهاية واحدة خلال 60 ثانية، أو أن عنوان IP واحدًا أرسل أكثر من 100 طلب إلى نقطة نهاية واحدة خلال 60 ثانية (يُحسب حد عنوان IP قبل فحص المفتاح، لذلك قد يرد الخادم دون أي مفتاح)؛ و header `Retry-After` يحمل عدد الثواني المطلوب انتظارها.
الحل. انتظر عدد الثواني المذكور في `Retry-After`، ثم أعد المحاولة.
متى يحدث. خطأ لم تصنّفه API.
الحل. تحقّق من الطلب، ثم أعد المحاولة بعد لحظة قصيرة؛ وتواصل مع الدعم إذا تكرر الخطأ.
متى يحدث. انقطاع مؤقت داخل API.
الحل. أعد المحاولة بعد لحظة قصيرة.
متى يحدث. انتهاء مهلة مؤقت داخل API.
الحل. أعد المحاولة بعد لحظة قصيرة.
curl "https://api.echonova.ai/v1/text-to-speech/voices" \
-H "Authorization: Bearer YOUR_API_KEY"{
"data": {
"items": [
{
"id": "66e5ef3a9c1d2b4f8a7e6c01",
"name": "ae_ahmed",
"displayName": "Ahmed",
"language": "ar",
"gender": "Male",
"previewUrl": "https://storage.example.com/voices/ae_ahmed-preview.wav"
}
],
"total": 1
},
"success": true,
"statusCode": 200,
"errorMessage": null
}