عملية التقديم
لاستخدام واجهة برمجة التطبيقات، يجب أولاً زيارة صفحة واجهة برمجة تطبيقات توليد الصوتيات للمنتج للتقدم للحصول على الخدمة المناسبة، بعد دخول الصفحة، انقر على زر “Acquire”، كما هو موضح في الصورة:
إذا لم تكن قد قمت بتسجيل الدخول أو التسجيل بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك للتسجيل وتسجيل الدخول، بعد تسجيل الدخول أو التسجيل، سيتم إرجاعك تلقائيًا إلى الصفحة الحالية.
عند التقديم لأول مرة، سيكون هناك حد مجاني متاح، يمكنك استخدام واجهة برمجة التطبيقات مجانًا.
الاستخدام الأساسي
إذا كنت ترغب في توليد أي أغنية، يمكنك إدخال نص عشوائي، على سبيل المثال، إذا كنت أريد توليد أغنية عن عيد الميلاد، يمكنني إدخالa song for Christmas، كما هو موضح في الصورة:

accept: نوع الاستجابة التي ترغب في تلقيها، هنا يتم ملؤها بـapplication/json، أي بتنسيق JSON.authorization: مفتاح الوصول إلى واجهة برمجة التطبيقات، يمكنك اختياره مباشرة بعد التقديم.
action: سلوك مهمة توليد الموسيقى هذه، لتوليد الأغاني هوgenerate.model: النموذج المستخدم لإنشاء الأغاني، حاليًا هناك: FUZZ-2.0 Pro، FUZZ-2.0، FUZZ-2.0 Raw، FUZZ-1.1 Pro، FUZZ-1.0 Pro، FUZZ-1.0، FUZZ-1.1، FUZZ-0.8.lyric: محتوى كلمات الأغنية.custom: ما إذا كان سيتم استخدام طريقة مخصصة لتوليد الأغنية.prompt: الكلمات الدلالية في وضع الإلهام.title: معلومات عنوان الأغنية.audio_id: معرف الأغنية المرجعية، لاستخدامه في الاستمرار أو النسخ.continue_at: بدء كتابة الأغنية من عدد ثوانٍ محدد.replace_section_start/replace_section_end: توقيت بداية ونهاية الجزء المراد استبداله، بوحدة الثواني.lyrics_strength: قوة الكلمات، تشير إلى مدى تأثير الكلمات في توليد الصوت، يمكن أن تكون بين 0-1، الافتراضي هو 0.7.sound_strength: قوة الكلمات الدلالية للصوت، يمكن أن تكون بين 0.2-1، الافتراضي هو 0.7.cover_strength: قوة التغطية بين 0.2-1، الافتراضي هو 1.weirdness: درجة غرابة النمط، يمكن أن تكون بين 0-1، الافتراضي هو 0.5.callback_url: URL الذي يحتاج إلى استدعاء النتائج.instrumental: ما إذا كانت الأغنية بدون كلمات.

success: حالة مهمة توليد الموسيقى في ذلك الوقت.data: نتيجة مهمة الموسيقى هذهid: معرف مهمة توليد الموسيقى في ذلك الوقت.sound: الكلمات الدلالية لمهمة توليد الموسيقى في ذلك الوقت.seed: قيمة البذور لمهمة توليد الموسيقى في ذلك الوقت.audio_url: رابط الصوت لمهمة توليد الموسيقى في ذلك الوقت.image_url: رابط الغلاف لمهمة توليد الموسيقى في ذلك الوقت.image_id: معرف الغلاف لمهمة توليد الموسيقى في ذلك الوقت.state: حالة مهمة توليد الموسيقى في ذلك الوقت.duration: معلومات مدة الموسيقى في ذلك الوقت.progress: قيمة تقدم مهمة الموسيقى في ذلك الوقت.model: معلومات النموذج المستخدم في مهمة توليد الموسيقى في ذلك الوقت.lyric: معلومات كلمات الأغاني لمهمة توليد الموسيقى في ذلك الوقت.
data للحصول على موسيقى المنتج المولدة.
بالإضافة إلى ذلك، إذا كنت ترغب في توليد كود الدمج المقابل، يمكنك نسخه مباشرة، على سبيل المثال، كود CURL كما يلي:
التوليد المخصص
إذا كنت ترغب في توليد كلمات مخصصة، يمكنك إدخال الكلمات: في هذه الحالة، يمكن تمرير محتوى مشابه في حقلlyric:
- lyric: نص الكلمات
- custom: املأها بـ
true، مما يعني التوليد المخصص، هذه المعلمة افتراضيًا تكون false، مما يعني استخدامpromptللتوليد. - title: عنوان الأغنية. 填写样例如下:


ترجمة الأغاني
إذا كنت ترغب في إجراء عملية ترجمة على الأغاني التي تم إنشاؤها بالفعل، يمكنك إدخال الأغاني التي تم إنشاؤها أعلاه للترجمة، بعد ذلك سنقوم بتخصيص الأغاني بناءً على الكلمات، العنوان. إذا كنت ترغب في الاستمرار في ترجمة الأغاني التي قمت بتحميلها، يمكنك تعيين المعاملaction إلى upload_cover، وإدخال ID الأغنية التي تحتاج إلى الاستمرار في ترجمتها، يمكن الحصول على ID الأغنية باستخدام Producer Upload API كما هو موضح في الصورة أدناه:

- action: سلوك مهمة الأغنية هذه، حالياً تدعم: generate، cover، extend، upload_cover، upload_extend، replace_section، swap_vocals، swap_instrumentals، variation، هذه الترجمة تستخدم معامل
cover. - lyric: نص الكلمات
- title: عنوان الأغنية.
- custom: هل يتم استخدام وضع مخصص للتوليد، الافتراضي هو false.
- audio_id: ID الأغنية التي تحتاج إلى ترجمتها.


متابعة كتابة الأغاني
إذا كنت ترغب في متابعة كتابة الأغاني، نحتاج إلى تمرير قيمةaction كالتالي: extend، بعد ذلك يجب علينا تخصيص إنشاء الأغنية بناءً على الكلمات، العنوان، والأسلوب.
إذا كنت ترغب في متابعة كتابة الأغاني التي قمت بتحميلها، يمكنك تعيين المعامل action إلى upload_extend، وإدخال معرف الأغنية التي تحتاج إلى متابعة كتابتها، يمكن الحصول على معرف الأغنية باستخدام Producer Upload API كما هو موضح في الصورة أدناه:



تحويل الموسيقى
إذا كنت ترغب في إنشاء موسيقى جديدة مشابهة بناءً على قيمة seed للموسيقى السابقة، نحتاج إلى تمرير قيمةaction كالتالي: variation، بعد ذلك يمكنك تخصيص إنشاء موسيقى جديدة مشابهة.
نموذج الإدخال كما يلي:


استبدال مقطع
إذا كنت ترغب في استبدال مقطع من الأغنية، نحتاج إلى تمرير قيمة معلمةaction كالتالي: replace_section، بعد ذلك يجب علينا تخصيص الأغنية بناءً على الكلمات، العنوان.
إذا كنت ترغب في الاستمرار في استبدال مقطع من الأغاني التي قمت بتحميلها، يمكنك تعيين معلمة action إلى upload_replace_section، وإدخال ID الأغنية التي تحتاج إلى الاستمرار في كتابتها، يمكن الحصول على ID الأغنية باستخدام Producer Upload API كما هو موضح في الصورة أدناه:



نسخة مرافقة
إذا كنت ترغب في استخدام النسخة الرسمية من المرافقة، يمكنك تعيين قيمة معلمةaction إلى: swap_instrumentals، بعد ذلك سنقوم بتخصيص إنشاء الأغنية بناءً على الكلمات، العنوان.
نموذج التعبئة كما يلي:


نسخة صوتية
إذا كنت ترغب في استخدام النسخة الرسمية من الصوت، يمكنك تعيين قيمة معلمةaction إلى: swap_vocals، بعد ذلك سنقوم بتخصيص إنشاء الأغنية بناءً على الكلمات، العنوان، الأسلوب.
نموذج التعبئة كما يلي:


فصل الكلمات والألحان
إذا كنت ترغب في استخدام عملية فصل الكلمات والألحان الرسمية، يمكنك تعيين قيمة معلمةaction إلى: stems، بعد ذلك نحتاج إلى فصل الكلمات والألحان بناءً على معرف الأغنية.
نموذج التعبئة كما يلي:


ردود غير متزامنة
نظرًا لأن وقت توليد واجهة برمجة التطبيقات لإنتاج الصوتيات قد يكون طويلًا نسبيًا في بعض الأحيان، إذا لم تستجب واجهة برمجة التطبيقات لفترة طويلة، ستظل طلبات HTTP متصلة، مما يؤدي إلى استهلاك موارد النظام الإضافية، لذا توفر هذه الواجهة أيضًا دعمًا للردود غير المتزامنة. تتكون العملية العامة من: عندما يقوم العميل بإرسال الطلب، يحدد حقلcallback_url إضافي، بعد أن يقوم العميل بإرسال طلب واجهة برمجة التطبيقات، ستقوم الواجهة على الفور بإرجاع نتيجة تحتوي على معلومات حقل task_id، تمثل معرف المهمة الحالية. عندما تكتمل المهمة، سيتم إرسال نتيجة المهمة الناتجة إلى callback_url المحدد من قبل العميل بشكل POST JSON، والتي تتضمن أيضًا حقل task_id، بحيث يمكن ربط نتيجة المهمة من خلال المعرف.
دعونا نفهم كيفية القيام بذلك من خلال مثال.
أولاً، ردود Webhook هي خدمة يمكنها استقبال طلبات HTTP، يجب على المطورين استبدالها بعنوان URL الخاص بالخادم HTTP الذي قاموا بإنشائه. هنا، لتسهيل العرض، نستخدم موقع Webhook عينة عام https://webhook.site/، افتح هذا الموقع للحصول على عنوان URL Webhook، كما هو موضح في الصورة:
انسخ هذا العنوان URL، يمكنك استخدامه كـ Webhook، والعينة هنا هي https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1.
بعد ذلك، يمكننا تعيين حقل callback_url إلى عنوان URL Webhook المذكور أعلاه، مع ملء المعلمات المناسبة، كما هو موضح في الصورة:

内容如下:
task_id 字段,其他的字段都和上文类似,通过该字段即可实现任务的关联。
错误处理
在调用 API 时,如果遇到错误,API 会返回相应的错误代码和信息。例如:400 token_mismatched:طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.400 api_not_implemented:طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.401 invalid_token:غير مصرح، توكن التفويض غير صالح أو مفقود.429 too_many_requests:طلبات كثيرة جداً، لقد تجاوزت الحد الأقصى للطلبات.500 api_error:خطأ في الخادم الداخلي، حدث خطأ ما في الخادم.

