Процесс подачи заявки
Чтобы использовать API генерации аудио Producer, сначала перейдите в консоль Ace Data Cloud и получите ваш API Token для дальнейшего использования.
Если вы еще не вошли в систему или не зарегистрированы, вы будете автоматически перенаправлены на страницу входа, где вам будет предложено зарегистрироваться и войти. После завершения вы будете автоматически возвращены на текущую страницу.
Один API Token позволяет использовать все услуги платформы, не нужно подавать отдельные заявки на каждую услугу. При первой подаче заявки предоставляется бесплатный лимит, который можно использовать для бесплатного тестирования; если лимит исчерпан, вы можете пополнить общий баланс в консоли.
📘 Полная документация: API генерации аудио Producer →
Основное использование
Если вы хотите создать какую-то песню, вы можете ввести любой текст, например, если я хочу сгенерировать песню о Рождестве, я могу ввести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 для обратного вызова результата.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 загруженной песни, который можно получить с помощью Producer Upload API, как показано на рисунке ниже:



Операция замены инструментов
Если вы хотите использовать официальную операцию замены инструментов, вы можете установить значение параметраaction на: swap_instrumentals, затем мы будем настраивать генерацию песни на основе текста, заголовка.
Пример заполнения:


Операция замены вокала
Если вы хотите использовать официальную операцию замены вокала, вы можете установить значение параметраaction на: swap_vocals, затем мы будем настраивать генерацию песни на основе текста, заголовка, стиля.
Пример заполнения:


Разделение текста и музыки
Если вы хотите использовать официальную операцию разделения текста и музыки, вы можете установить значение параметраaction на: stems, затем мы должны выполнить разделение текста и музыки по ID песни.
Пример заполнения ниже:


Асинхронный обратный вызов
Поскольку время генерации API Producer Audios может быть относительно долгим, если API долго не отвечает, HTTP-запрос будет поддерживать соединение, что приведет к дополнительному потреблению системных ресурсов, поэтому этот API также предоставляет поддержку асинхронного обратного вызова. Общий процесс: когда клиент инициирует запрос, дополнительно указывается полеcallback_url, после того как клиент инициирует API-запрос, 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:Внутренняя ошибка сервера, что-то пошло не так на сервере.

