Fish Audio Docs
مرجع APIتحويل النص إلى كلام
Back to site

مزامنة HTTP

قم بإنشاء الكلام بشكل متزامن مع Open API v1.

مزامنة HTTP

استخدم نقطة نهاية المزامنة TTS عندما يكون النص قصيرًا بدرجة كافية لتدفق الطلب والاستجابة ويمكن لمنتجك انتظار الصوت قبل المتابعة. بالنسبة للنصوص الطويلة أو العمل المجمع أو قوائم الانتظار المرئية للمستخدم، استخدم Async Jobs.

إذا كان العميل الخاص بك يتوقع شكل الطلب OpenAI /v1/audio/speech، فاستخدم نقطة النهاية OpenAI-Compatible TTS بدلاً من ذلك.

POST /api/open/v1/speech/tts
Authorization: Bearer FISHAUDIO_API_KEY
Content-Type: application/json

طلب

{
  "text": "Hello from Fish Audio.",
  "voiceId": "00a1b221-6137-4b73-ad62-b0cbce134167",
  "modelId": "fishaudio-s21pro-flash",
  "format": "mp3"
}

الحقول المشتركة:

المجالاكتبملاحظات
textسلسلةالنص للتجميع. قم بتطبيع المسافة البيضاء قبل إرسال نص كبير تم إنشاؤه.
voiceIdسلسلةالمعرف الصوتي المفضل لعمليات التكامل الجديدة.
modelIdسلسلةمعرّف نموذج محرك TTS، مثل fishaudio-s21pro-flash.
formatسلسلةحاوية الإخراج مثل mp3، اعتمادًا على الطرز الممكّنة.
cacheمنطقيةعندما يكون هذا صحيحًا، يمكن أن تعرض الاستجابة بيانات التعريف JSON وعنوان URL الصوتي.

يجب أن تستخدم عمليات التكامل الجديدة voiceId من GET /api/open/v1/voices. لإجراء اختبار اتصال سريع، استخدم صوت النظام العام 00a1b221-6137-4b73-ad62-b0cbce134167.

لا تخلط الحقول من حزم SDK الأقدم أو متغيرات الموقع الأخرى في عقد API الحالي في الخارج.

curl https://fishaudio.org/api/open/v1/speech/tts \
  -H "Authorization: Bearer FISHAUDIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello from Fish Audio.","voiceId":"00a1b221-6137-4b73-ad62-b0cbce134167","modelId":"fishaudio-s21pro-flash","format":"mp3"}' \
  --output speech.mp3

إجابة

عندما تكون cache هي false أو تم حذفها، فإن الاستجابات الناجحة ترجع الصوت الثنائي. عندما تكون قيمة cache هي true، تُرجع الاستجابات الناجحة بيانات تعريف JSON:

{
  "audio_url": "https://example.com/generated.mp3",
  "credits_used": 12,
  "quota_remaining": 987988
}

يجب أن يتفرع عميلك على رأس Content-Type بدلاً من افتراض شكل استجابة واحد. قم بتخزين الصوت الذي تم إنشاؤه في وحدة التخزين الدائمة الخاصة بك إذا كان عنوان URL قصير الأجل.

الفواتير والائتمانات

تستهلك مزامنة TTS الاعتمادات بناءً على المحتوى الذي تم إنشاؤه وتكوين النموذج. نظرًا لأن نقطة النهاية تقوم بالإنشاء داخل طلب HTTP، فإن انتهاء مهلة العميل لا يعني دائمًا أن الخادم قد ألغى العمل. استخدم العجز في طبقة التطبيق الخاصة بك عند إعادة محاولة إجراءات المستخدم.

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

أخطاء

الحالةمعنىالعمل
400النص أو المعرف الصوتي أو التنسيق أو شكل الحمولة غير صالحقم بإصلاح الطلب قبل إعادة المحاولة
401مفتاح API مفقود أو غير صالحتحديث بيانات الاعتماد من جانب الخادم
402الاعتمادات أو الحصص غير كافيةأوقف الدفعة وأظهر حالة الفوترة
429معدل محدودأعد المحاولة مع التراجع
500فشل الإنشاء بعد التحقق من الصحةأعد المحاولة فقط إذا كان منتجك يمكنه تحمل الصوت المكرر