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

accept: نوع الاستجابة التي ترغب في تلقيها، هنا يتم ملؤها بـapplication/json، أي بتنسيق JSON.authorization: مفتاح استدعاء API، يمكن اختياره مباشرة بعد التقديم.
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 الذي يحتاج إلى استدعاء النتائج.async: اختياري، عند تعيينه إلىtrue، ستعيد الواجهة على الفورtask_id، دون الحاجة لتقديمcallback_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، وإدخال ID الأغنية التي تحتاج إلى متابعة كتابتها، يمكن الحصول على ID الأغنية باستخدام 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 في النتيجة، بينما الحقول الأخرى مشابهة لما سبق، من خلال هذا الحقل يمكن تحقيق ارتباط المهام.
معالجة الأخطاء
عند استدعاء واجهة برمجة التطبيقات، إذا واجهت خطأ، ستقوم واجهة برمجة التطبيقات بإرجاع رمز الخطأ والمعلومات ذات الصلة. على سبيل المثال:400 token_mismatched: طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.400 api_not_implemented: طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.401 invalid_token: غير مصرح، رمز تفويض غير صالح أو مفقود.429 too_many_requests: عدد كبير جداً من الطلبات، لقد تجاوزت الحد الأقصى لمعدل الطلبات.500 api_error: خطأ في الخادم الداخلي، حدث خطأ ما في الخادم.

