عملية التقديم
لاستخدام واجهة برمجة التطبيقات، يجب أولاً زيارة صفحة واجهة برمجة تطبيقات توليد أصوات السمك للتقدم للحصول على الخدمة المناسبة، بعد دخول الصفحة، انقر على زر “Acquire”، كما هو موضح في الصورة:
إذا لم تكن قد قمت بتسجيل الدخول أو التسجيل بعد، سيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك للتسجيل وتسجيل الدخول، بعد تسجيل الدخول أو التسجيل، سيتم العودة تلقائيًا إلى الصفحة الحالية.
عند التقديم لأول مرة، سيكون هناك حد مجاني متاح، يمكنك استخدام واجهة برمجة التطبيقات مجانًا.
الاستخدام الأساسي
أولاً، يجب أن نفهم طريقة الاستخدام الأساسية، وهي إدخال كلمة دلاليةprompt، وسلوك الاستنساخ action، ومعرف الصوت voice_id، والنموذج model، للحصول على النتيجة المعالجة. أولاً، تحتاج إلى تمرير حقل action، وقيمته هي generate، ثم نحتاج أيضًا إلى إدخال النموذج model، والذي يتضمن حاليًا نموذج fish-tts، المحتوى المحدد كما يلي:

accept: نوع الاستجابة التي ترغب في تلقيها، هنا يتم ملؤها بـapplication/json، أي بتنسيق JSON.authorization: مفتاح استدعاء واجهة برمجة التطبيقات، بعد التقديم يمكنك اختياره مباشرة من القائمة المنسدلة.
model: نموذج استنساخ الصوت، والذي يتضمن بشكل رئيسي نموذجfish-tts.action: سلوك مهمة استنساخ الصوت هذه.prompt: الكلمة الدلالية التي تحتاج إلى استنساخها.voice_id: استنساخ بناءً على معرف الصوت.callback_url: عنوان URL الذي تحتاج إلى استدعاء النتيجة إليه.

success: حالة مهمة استنساخ الصوت في ذلك الوقت.data: نتيجة مهمة استنساخ الصوتaudio_url: رابط الصوت الناتج عن مهمة استنساخ الصوت في ذلك الوقت.
data.
بالإضافة إلى ذلك، إذا كنت ترغب في توليد الكود المقابل للدمج، يمكنك نسخه مباشرة، على سبيل المثال، كود CURL كما يلي:
الاستدعاء غير المتزامن
نظرًا لأن الوقت المستغرق لتوليد واجهة برمجة تطبيقات توليد أصوات السمك نسبيًا طويل، حوالي 1-2 دقيقة، إذا لم يكن هناك استجابة من واجهة برمجة التطبيقات لفترة طويلة، ستظل طلبات HTTP متصلة، مما يؤدي إلى استهلاك موارد النظام الإضافية، لذا توفر هذه الواجهة أيضًا دعم الاستدعاء غير المتزامن. تتمثل العملية العامة في: عندما يقوم العميل بإرسال الطلب، يحدد حقلcallback_url إضافي، بعد أن يقوم العميل بإرسال طلب واجهة برمجة التطبيقات، ستقوم الواجهة بإرجاع نتيجة على الفور، تتضمن معلومات حقل task_id، الذي يمثل معرف المهمة الحالية. عند الانتهاء من المهمة، سيتم إرسال نتيجة المهمة المولدة إلى callback_url المحدد من قبل العميل عبر POST JSON، والتي تتضمن أيضًا حقل task_id، بحيث يمكن ربط نتيجة المهمة من خلال المعرف.
دعونا نفهم كيفية القيام بذلك من خلال مثال.
أولاً، يعد استدعاء Webhook خدمة يمكنها استقبال طلبات HTTP، يجب على المطور استبدالها بعنوان URL الخاص بخادم HTTP الذي قام بإنشائه. هنا، لتسهيل العرض، نستخدم موقع Webhook عينة عام https://webhook.site/، افتح هذا الموقع للحصول على عنوان Webhook URL، كما هو موضح في الصورة:
انسخ هذا URL، يمكنك استخدامه كـ Webhook، وعنوان العينة هنا هو https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34.
بعد ذلك، يمكننا تعيين حقل callback_url إلى عنوان Webhook المذكور أعلاه، مع ملء المعلمات المناسبة، كما هو موضح في الصورة:

https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34، كما هو موضح في الصورة:
المحتوى كما يلي:
task_id، بينما الحقول الأخرى مشابهة لما سبق، من خلال هذا الحقل يمكنك تحقيق الربط بين المهام.
معالجة الأخطاء
عند استدعاء واجهة برمجة التطبيقات، إذا واجهت خطأ، ستقوم الواجهة بإرجاع رمز الخطأ والمعلومات المناسبة. على سبيل المثال:400 token_mismatched: طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.400 api_not_implemented: طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.401 invalid_token: غير مصرح به، رمز تفويض غير صالح أو مفقود.429 too_many_requests: عدد كبير جدًا من الطلبات، لقد تجاوزت الحد الأقصى لمعدل الطلبات.500 api_error: خطأ في الخادم الداخلي، حدث خطأ ما على الخادم.

