تقدم هذه الوثيقة شرحًا لتكامل واجهة برمجة تطبيقات نموذج Fish، والتي تتوافق تمامًا مع واجهة برمجة تطبيقات Fish Audio الرسمية المفتوحة، وتشمل:Documentation Index
Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
Use this file to discover all available pages before exploring further.
POST /fish/model: إنشاء نموذج صوتي مستنسخ جديد بناءً على عينة صوتية.GET /fish/model: استعلام مجزأ لقائمة النماذج الصوتية المتاحة للحساب الحالي أو على مستوى المنصة.
عملية التقديم
لاستخدام API، يجب أولاً التقديم للحصول على الخدمة المناسبة عبر صفحة Fish Model API، وعند الدخول إلى الصفحة، اضغط على زر “Acquire”. إذا لم تكن مسجلاً أو مسجلاً دخولك، سيتم توجيهك تلقائيًا إلى صفحة تسجيل الدخول أو التسجيل، وبعد التسجيل أو تسجيل الدخول، ستعود تلقائيًا إلى الصفحة الحالية. عند التقديم لأول مرة، ستحصل على حصة مجانية لاستخدام هذه الواجهة مجانًا.الاختلافات مع واجهة برمجة التطبيقات الرسمية
- طريقة المصادقة: تستخدم
Authorization: Bearer {token}حيث{token}هو المفتاح الذي تم الحصول عليه من هذه المنصة. - رفع العينات عند إنشاء النموذج: تدعم هذه الواجهة حاليًا فقط إرسال العينات بصيغة JSON عبر حقل
voicesالذي يحتوي على روابط URL للعينات الصوتية. بينما تدعم Fish الرسمية رفع الملفات الثنائية مباشرة عبر multipart/msgpack، وهذه المنصة لم تنفذ ذلك بعد. شكل URL يغطي حوالي 80% من السيناريوهات الشائعة. - هيكل الاستجابة: كل من
POST /fish/modelوGET /fish/modelيعيدان استجابة Fish الأصلية مباشرة دون تغليف إضافي من المنصة، وفي حالة الخطأ تستخدم المنصة الهيكل القياسي{success:false, error:{code,message}, trace_id}.
إنشاء نموذج صوتي (POST /fish/model)
الحد الأدنى للطلب يتطلب حقليtitle و voices. حيث voices هو قائمة روابط URL للعينات الصوتية، يُنصح بأن يكون كل ملف أكثر من 30 ثانية بمعدل عينة 16k أو أعلى.
_id المعادة كقيمة لحقل reference_id في طلبات POST /fish/tts لاحقًا لاستخدام النموذج الصوتي المستنسخ في التوليد الصوتي.
استعلام قائمة النماذج الصوتية (GET /fish/model)
page_size: عدد العناصر في الصفحة، الافتراضي 10.page_number: رقم الصفحة، يبدأ من 1.title: بحث نصي تقريبي حسب العنوان.tag: تصفية حسب الوسم.self: إذا كانت القيمةtrue، يتم إرجاع النماذج التي أنشأها الحساب الحالي فقط.author_id: تصفية حسب المنشئ.language: تصفية حسب لغة النموذج الصوتي.title_language: تصفية حسب لغة العنوان.
شرح التسعير
يتم احتساب التكلفة فقط عند “إنشاء نموذج صوتي” (POST /fish/model مع وجود حقل voices في جسم الطلب)، بينما “استعلام قائمة النماذج الصوتية” (GET /fish/model) لا يتم تحصيل رسوم عليه.
معالجة الأخطاء
400 token_mismatched: طلب غير صالح، ربما بسبب معلمات مفقودة أو غير صحيحة.400 api_not_implemented: طلب غير صالح، ربما بسبب معلمات مفقودة أو غير صحيحة.401 invalid_token: غير مصرح، رمز المصادقة مفقود أو غير صالح.429 too_many_requests: عدد الطلبات كبير جدًا، لقد تجاوزت الحد المسموح به.500 api_error: خطأ داخلي في الخادم، حدث خطأ ما في الخادم.
مثال على استجابة الخطأ
الخلاصة
واجهة برمجة تطبيقات نموذج Fish متوافقة تمامًا مع واجهة ModelEntity الرسمية لـ Fish Audio، مما يتيح نقل كود إدارة النماذج الصوتية المستنسخة الحالي بدون تعديل. يمكن استخدام معرف النموذج الصوتي_id الناتج مباشرة كقيمة لحقل reference_id في واجهة برمجة تطبيقات Fish TTS لإجراء التوليد الصوتي.
