Процес подання заявки
Щоб використовувати 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: 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.5callback_url: URL, на який потрібно повернути результат через callback.async: необов’язково, якщо встановленоtrue, інтерфейс негайно повертаєtask_id, немає потреби надаватиcallback_url, після чого результат отримується шляхом опитування через відповідний інтерфейс запиту завдань.instrumental: чи це режим без тексту пісні.

success, статус завдання з генерації музики на цей момент.data, результат цього музичного завданняid, ID завдання з генерації музики на цей момент.sound, підказка завдання з генерації музики на цей момент.seed, початкове значення завдання з генерації музики на цей момент.audio_url, аудіопосилання завдання з генерації музики на цей момент.image_url, посилання на обкладинку завдання з генерації музики на цей момент.image_id, 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, далі ми виконаємо розділення вокалу та музики на основі ID пісні.
Приклад заповнення наведено нижче:


Асинхронний зворотний виклик
Оскільки час генерації Producer Audios Generation API іноді може бути відносно тривалим, якщо API довгий час не відповідає, HTTP-запит постійно підтримуватиме з’єднання, що призводить до додаткового споживання системних ресурсів, тому цей API також надає підтримку асинхронних зворотних викликів. Загальний процес такий: коли клієнт ініціює запит, він додатково вказує полеcallback_url; після того як клієнт ініціює API-запит, API негайно повертає результат, що містить інформацію про поле task_id, яке представляє ID поточного завдання. Після завершення завдання результат завдання генерації буде надіслано у формі POST JSON на вказаний клієнтом callback_url, де також міститься поле task_id, таким чином результати завдання можна пов’язати за ID.
Далі ми дізнаємося, як саме це зробити, на прикладі.
Спочатку Webhook-зворотний виклик — це сервіс, який може приймати HTTP-запити, розробник має замінити його на URL власного розгорнутого HTTP-сервера. Тут для зручності демонстрації використовується публічний приклад вебсайту Webhook https://webhook.site/; відкривши цей вебсайт, можна отримати Webhook URL, як показано на зображенні:
Скопіювавши цей URL, його можна використовувати як Webhook; приклад тут: https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1。
Далі ми можемо встановити значення поля callback_url як вищезазначений Webhook URL, одночасно заповнивши відповідні параметри; конкретний вміст показано на зображенні:

Вміст наведено нижче:
task_id, інші поля схожі на наведені вище, за допомогою цього поля можна реалізувати зв’язування завдань.
Обробка помилок
Під час виклику API, якщо виникає помилка, API поверне відповідний код помилки та інформацію. Наприклад:400 token_mismatched:Неправильний запит, можливо, через відсутні або недійсні параметри.400 api_not_implemented:Неправильний запит, можливо, через відсутні або недійсні параметри.401 invalid_token:Неавторизовано, недійсний або відсутній токен авторизації.429 too_many_requests:Забагато запитів, ви перевищили ліміт частоти.500 api_error:Внутрішня помилка сервера, щось пішло не так на сервері.

