عملية التقديم
لاستخدام Producer Audios Generation API، انتقل أولاً إلى لوحة تحكم Ace Data Cloud للحصول على API Token الخاص بك، واحتفظ به للاستخدام لاحقاً.
إذا لم تكن قد سجلت الدخول أو أنشأت حساباً بعد، فسيتم تحويلك تلقائياً إلى صفحة تسجيل الدخول لدعوتك إلى التسجيل وتسجيل الدخول، وبعد الإكمال ستعود تلقائياً إلى الصفحة الحالية.
يمكن لـ API Token واحد استدعاء جميع خدمات المنصة، ولا حاجة للتقديم بشكل منفصل لكل خدمة. عند التقديم لأول مرة، سيتم منحك رصيد مجاني للتجربة مجاناً؛ وعندما لا يكون الرصيد كافياً، يمكنك شحن الرصيد العام من لوحة التحكم.
📘 الوثائق الكاملة: Producer Audios Generation 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، وإدخال معرّف الأغنية المرفوعة المخصصة التي تحتاج إلى متابعة إعادة غنائها. يتم الحصول على معرّف الأغنية باستخدام 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: معرّف الأغنية التي تحتاج إلى إعادة غنائها.


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



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


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



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


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


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


الاستدعاء غير المتزامن
نظرًا إلى أن وقت التوليد الخاص بـ Producer Audios Generation API قد يكون طويلًا نسبيًا في بعض الأحيان، فإذا لم تستجب API لفترة طويلة، فسيبقى طلب HTTP متصلًا باستمرار، مما يؤدي إلى استهلاك موارد إضافية للنظام، لذلك توفر هذه API أيضًا دعمًا للاستدعاء غير المتزامن. التدفق العام هو: عندما يبدأ العميل طلبًا، يحدد بالإضافة إلى ذلك حقلcallback_url، وبعد أن يبدأ العميل طلب API، ستعيد API فورًا نتيجةً تحتوي على معلومات الحقل 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:خطأ داخلي في الخادم، حدث خطأ ما على الخادم.

