Процес подачі заявки
Щоб використовувати API, спочатку потрібно перейти на сторінку 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: 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: 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 пісні.
Заповніть приклад нижче:


Асинхронний зворотний виклик
Оскільки час генерації API Producer Audios може бути відносно довгим, якщо API довго не відповідає, HTTP запит буде постійно підтримувати з’єднання, що призводить до додаткових витрат системних ресурсів, тому цей API також надає підтримку асинхронного зворотного виклику. Загальний процес: коли клієнт ініціює запит, додатково вказується полеcallback_url, після ініціації API запит клієнт негайно отримує результат, що містить інформацію про поле task_id, що представляє поточний ID завдання. Коли завдання завершено, результат генерації завдання буде надіслано на вказаний клієнтом callback_url у форматі POST JSON, в якому також включено поле task_id, таким чином результати завдання можна пов’язати за 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: Внутрішня помилка сервера, щось пішло не так на сервері.

