Skip to main content
В этой статье будет представлена инструкция по интеграции API генерации аудио Producer, который позволяет генерировать музыку от официального Producer, вводя пользовательские параметры.

Процесс подачи заявки

Чтобы использовать 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: является ли это режимом без текста.
После выбора вы также можете увидеть сгенерированный код справа, как показано на рисунке:

Нажмите кнопку «Try», чтобы протестировать, как показано на изображении, и вы получите следующий результат:
Возвращаемый результат содержит несколько полей, описанных ниже:
  • success: статус задачи генерации музыки в данный момент.
    • data: результат этой музыкальной задачи
      • id: ID задачи генерации музыки в данный момент.
      • sound: подсказка для задачи генерации музыки в данный момент.
      • seed: значение семени для задачи генерации музыки в данный момент.
      • audio_url: ссылка на аудио для задачи генерации музыки в данный момент.
      • image_url: ссылка на обложку для задачи генерации музыки в данный момент.
      • image_id: ID обложки для задачи генерации музыки в данный момент.
      • state: статус задачи генерации музыки в данный момент.
      • duration: информация о длительности музыки в данный момент.
      • progress: значение прогресса задачи музыки в данный момент.
      • model: информация о модели, используемой для задачи генерации музыки в данный момент.
      • lyric: информация о тексте для задачи генерации музыки в данный момент.
Как видно, мы получили информацию о желаемой музыке, и нам нужно просто получить сгенерированную музыку Producer по ссылке на аудио из результата 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, одновременно заполнив соответствующие параметры, конкретное содержание показано на изображении:

Нажмите “Запустить”, и вы сразу получите результат, как показано ниже:
Через некоторое время мы можем наблюдать результат сгенерированной задачи на https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1, как показано на изображении: Содержание следующее:
Можно увидеть, что в результате есть поле task_id, остальные поля аналогичны вышеупомянутым, через это поле можно связать задачи.

Обработка ошибок

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

Пример ответа об ошибке

Заключение

С помощью этого документа вы узнали, как использовать API генерации аудио продюсера для создания музыки с помощью вводимых подсказок. Надеемся, что этот документ поможет вам лучше интегрировать и использовать этот API. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь обращаться в нашу техническую поддержку.