> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Инструкция по интеграции API генерации аудио Producer

> Producer Music Generation API guide - Ace Data Cloud

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

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

Чтобы использовать API генерации аудио Producer, сначала перейдите в [консоль Ace Data Cloud](https://platform.acedata.cloud/console/applications) и получите ваш API Token для дальнейшего использования.

![](https://cdn.acedata.cloud/dvc3cg.jpg)

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

**Один API Token позволяет использовать все услуги платформы, не нужно подавать отдельные заявки на каждую услугу.** При первой подаче заявки предоставляется бесплатный лимит, который можно использовать для бесплатного тестирования; если лимит исчерпан, вы можете пополнить общий баланс в [консоли](https://platform.acedata.cloud/console/coin).

> 📘 Полная документация: [API генерации аудио Producer →](https://platform.acedata.cloud/documents/producer-audios)

## Основное использование

Если вы хотите создать какую-то песню, вы можете ввести любой текст, например, если я хочу сгенерировать песню о Рождестве, я могу ввести `a song for Christmas`, как показано на рисунке:

<p>
  <img src="https://cdn.acedata.cloud/lg9bb0.png" width="600" className="m-auto" />
</p>

Как видно, здесь мы настроили заголовки запроса, включая:

* `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`: является ли это режимом без текста.

После выбора вы также можете увидеть сгенерированный код справа, как показано на рисунке:

<p>
  <img src="https://cdn.acedata.cloud/0217zy.png" width="500" className="m-auto" />
</p>

Нажмите кнопку «Try», чтобы протестировать, как показано на изображении, и вы получите следующий результат:

```json theme={null}
{
  "success": true,
  "task_id": "82fd443a-903a-4f18-8028-12d2f8a0a4be",
  "trace_id": "d85839fa-0bb1-42da-a9fc-cd582c29027d",
  "data": [
    {
      "id": "6c947f13-a3c5-4b9c-8609-5639c37cdc2d",
      "title": "Untitled",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png",
      "lyric": "[Instrumental]",
      "audio_url": "https://platform2.cdn.acedata.cloud/fish/5ade0339-5f11-487e-aacc-06a908271706.mp3",
      "video_url": null,
      "image_id": "6c947f13-a3c5-4b9c-8609-5639c37cdc2d",
      "topic": null,
      "seed": "2450882164",
      "sound": "A song for Christmas",
      "created_at": "2025-12-30T17:18:23.232911Z",
      "model": "FUZZ-2.0 Pro",
      "progress": "100%",
      "state": "succeeded",
      "duration": "181.3014058956916"
    }
  ]
}
```

Возвращаемый результат содержит несколько полей, описанных ниже:

* `success`: статус задачи генерации музыки в данный момент.
  * `data`: результат этой музыкальной задачи
    * `id`: ID задачи генерации музыки в данный момент.
    * `sound`: подсказка для задачи генерации музыки в данный момент.
    * `seed`: значение семени для задачи генерации музыки в данный момент.
    * `audio_url`: ссылка на аудио для задачи генерации музыки в данный момент.
    * `image_url`: ссылка на обложку для задачи генерации музыки в данный момент.
    * `image_id`: ID обложки для задачи генерации музыки в данный момент.
    * `state`: статус задачи генерации музыки в данный момент.
    * `duration`: информация о длительности музыки в данный момент.
    * `progress`: значение прогресса задачи музыки в данный момент.
    * `model`: информация о модели, используемой для задачи генерации музыки в данный момент.
    * `lyric`: информация о тексте для задачи генерации музыки в данный момент.

Как видно, мы получили информацию о желаемой музыке, и нам нужно просто получить сгенерированную музыку Producer по ссылке на аудио из результата `data`.

Кроме того, если вы хотите сгенерировать соответствующий код интеграции, вы можете просто скопировать его, например, код CURL будет следующим:

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/producer/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "generate",
  "model": "FUZZ-2.0 Pro",
  "prompt": "A song for Christmas"
}'
```

## Пользовательская генерация

Если вы хотите настроить генерацию текста, вы можете ввести текст:

В этом случае поле `lyric` может содержать подобное содержание:

```
[Verse]Woke up with the sun in my eyesNo clouds above just blue in the skiesShoes on my feet I’m ready to runEvery step feels like a loaded gun[Chorus]Happy days are rolling inLet the joy beneath my skinNo more shadows no more liesJust the truth that lifts me high[Verse 2]Dancing through the city streetsA rhythm pounding in my heartbeatStrangers smile it’s catching onThis world’s a stage we’re all a song[Chorus]Happy days are rolling inLet the joy beneath my skinNo more shadows no more liesJust the truth that lifts me high[Bridge]Throw your worries out the doorLet them sink to the ocean floorWe’re alive and it’s enoughLife is messy but it’s love[Chorus]Happy days are rolling inLet the joy beneath my skinNo more shadows no more liesJust the truth that lifts me high
```

Затем мы можем настроить генерацию песни на основе текста, заголовка и стиля, указав следующее содержание:

* lyric：текст песни
* custom：установите значение `true`, что означает пользовательскую генерацию, по умолчанию этот параметр равен false, что означает использование `prompt` для генерации.
* title：название песни.

Пример заполнения:

<p>
  <img src="https://cdn.acedata.cloud/ruovz5.png" width="500" className="m-auto" />
</p>

После заполнения автоматически сгенерировался следующий код:

<p>
  <img src="https://cdn.acedata.cloud/seyxxa.png" width="500" className="m-auto" />
</p>

Соответствующий код:

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/producer/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "generate",
  "model": "FUZZ-2.0 Pro",
  "instrumental": false,
  "lyric": "[Verse]\nWoke up with the sun in my eyes\nNo clouds above just blue in the skies\nShoes on my feet I’m ready to run\nEvery step feels like a loaded gun\n[Chorus]\nHappy days are rolling in\nLet the joy beneath my skin\nNo more shadows no more lies\nJust the truth that lifts me high\n[Verse 2]\nDancing through the city streets\nA rhythm pounding in my heartbeat\nStrangers smile it’s catching on\nThis world’s a stage we’re all a song\n[Chorus]\nHappy days are rolling in\nLet the joy beneath my skin\nNo more shadows no more lies\nJust the truth that lifts me high\n[Bridge]\nThrow your worries out the door\nLet them sink to the ocean floor\nWe’re alive and it’s enough\nLife is messy but it’s love\n[Chorus]\nHappy days are rolling in\nLet the joy beneath my skin\nNo more shadows no more lies\nJust the truth that lifts me high",
  "custom": true
}'
```

Тестирование разрешено, сгенерированный эффект будет аналогичным.

```json theme={null}
{
  "success": true,
  "task_id": "9f58bbd4-855a-4233-ac45-b63bf9168e02",
  "trace_id": "145ad117-6ce7-42dd-af12-70751c5284fc",
  "data": [
    {
      "id": "38d3b9e2-0dfb-4338-b2a7-15e45656ed32",
      "title": "Woke up with the sun in my eyes",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png",
      "lyric": "[Verse]\nWoke up with the sun in my eyes\nNo clouds above just blue in the skies\nShoes on my feet I’m ready to run\nEvery step feels like a loaded gun\n[Chorus]\nHappy days are rolling in\nLet the joy beneath my skin\nNo more shadows no more lies\nJust the truth that lifts me high\n[Verse 2]\nDancing through the city streets\nA rhythm pounding in my heartbeat\nStrangers smile it’s catching on\nThis world’s a stage we’re all a song\n[Chorus]\nHappy days are rolling in\nLet the joy beneath my skin\nNo more shadows no more lies\nJust the truth that lifts me high\n[Bridge]\nThrow your worries out the door\nLet them sink to the ocean floor\nWe’re alive and it’s enough\nLife is messy but it’s love\n[Chorus]\nHappy days are rolling in\nLet the joy beneath my skin\nNo more shadows no more lies\nJust the truth that lifts me high",
      "audio_url": "https://platform2.cdn.acedata.cloud/fish/5ade0339-5f11-487e-aacc-06a908271706.mp3",
      "video_url": null,
      "image_id": "38d3b9e2-0dfb-4338-b2a7-15e45656ed32",
      "topic": null,
      "seed": "3789209121",
      "sound": "",
      "created_at": "2025-12-30T17:26:46.357055Z",
      "model": "FUZZ-2.0 Pro",
      "progress": "100%",
      "state": "succeeded",
      "duration": "153.80897959183673"
    }
  ]
}
```

## Кавер песни

Если вы хотите сделать кавер на уже сгенерированную песню, вы можете ввести сгенерированную песню выше для кавера, далее мы будем настраивать генерацию песни на основе текста, заголовка.

Если вы хотите продолжить кавер на загруженной вами песне, вы можете установить параметр `action` в значение `upload_cover` и ввести ID песни, на которую хотите продолжить кавер. ID песни можно получить с помощью [Producer Upload API](https://platform.acedata.cloud/documents/producer-upload), как показано на изображении ниже:

<p>
  <img src="https://cdn.acedata.cloud/z7r5fd.png" width="500" className="m-auto" />
</p>

Вы можете указать следующие параметры:

* action：действие для этой задачи песни, в настоящее время поддерживаются: generate, cover, extend, upload\_cover, upload\_extend, replace\_section, swap\_vocals, swap\_instrumentals, variation, для этого кавера используется параметр `cover`.
* lyric：текст песни
* title：название песни.
* custom：использовать ли пользовательский режим генерации, по умолчанию false.
* audio\_id：ID песни, на которую нужно сделать кавер.

Пример заполнения:

<p>
  <img src="https://cdn.acedata.cloud/6xl82z.png" width="500" className="m-auto" />
</p>

После заполнения автоматически сгенерировался следующий код:

<p>
  <img src="https://cdn.acedata.cloud/bxzfrw.png" width="500" className="m-auto" />
</p>

Соответствующий код:

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/producer/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "cover",
  "model": "FUZZ-2.0 Pro",
  "lyric": "[Verse]\nWoke up with the sun in my eyes\nNo clouds above just blue in the skies\nShoes on my feet I’m ready to run\nEvery step feels like a loaded gun\n[Chorus]\nHappy days are rolling in\nLet the joy beneath my skin\nNo more shadows no more lies\nJust the truth that lifts me high\n[Verse 2]\nDancing through the city streets\nA rhythm pounding in my heartbeat\nStrangers smile it’s catching on\nThis world’s a stage we’re all a song\n[Chorus]\nHappy days are rolling in\nLet the joy beneath my skin\nNo more shadows no more lies\nJust the truth that lifts me high\n[Bridge]\nThrow your worries out the door\nLet them sink to the ocean floor\nWe’re alive and it’s enough\nLife is messy but it’s love\n[Chorus]\nHappy days are rolling in\nLet the joy beneath my skin\nNo more shadows no more lies\nJust the truth that lifts me high",
  "audio_id": "38d3b9e2-0dfb-4338-b2a7-15e45656ed32",
  "instrumental": false,
  "custom": true,
  "title": "Cover"
}'
```

Тестирование разрешено, сгенерированный эффект будет аналогичным.

```json theme={null}
{
  "success": true,
  "task_id": "dbca350e-6fb9-46ca-9c7e-4c1a9080806f",
  "trace_id": "a39e0fff-ced8-4b31-ae23-aef3badd90fa",
  "data": [
    {
      "id": "e52dd729-38b4-4c2f-9031-59eb7953c593",
      "title": "Обложка",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png",
      "lyric": "[Куплет]\nПроснулся с солнцем в глазах\nНикаких облаков, только синь в небе\nОбувь на ногах, я готов бежать\nКаждый шаг ощущается как заряженный пистолет\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько истина, которая поднимает меня высоко\n[Куплет 2]\nТанцуя по улицам города\nРитм стучит в моем сердце\nНезнакомцы улыбаются, это заразительно\nЭтот мир — сцена, мы все — песня\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько истина, которая поднимает меня высоко\n[Бридж]\nВыбрось свои заботы за дверь\nПусть они тонут на дне океана\nМы живы, и этого достаточно\nЖизнь беспорядочна, но это любовь\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько истина, которая поднимает меня высоко",
      "audio_url": "https://platform2.cdn.acedata.cloud/fish/5ade0339-5f11-487e-aacc-06a908271706.mp3",
      "video_url": null,
      "image_id": "e52dd729-38b4-4c2f-9031-59eb7953c593",
      "topic": null,
      "seed": "358803418",
      "sound": "",
      "created_at": "2025-12-30T17:32:32.951948Z",
      "model": "FUZZ-2.0 Pro",
      "progress": "100%",
      "state": "успешно",
      "duration": "153.0659410430839"
    }
  ]
}
```

## Продолжение песни

Если вы хотите продолжить песню, нам нужно передать параметр `action` со значением: `extend`, затем мы должны сгенерировать песню на основе текста, заголовка и стиля.

Если вы хотите продолжить написание загруженной вами песни, вы можете установить параметр `action` в значение `upload_extend` и ввести ID загруженной песни, ID песни можно получить с помощью [Producer Upload API](https://platform.acedata.cloud/documents/producer-upload), как показано на изображении ниже:

<p>
  <img src="https://cdn.acedata.cloud/z7r5fd.png" width="500" className="m-auto" />
</p>

Пример заполнения:

<p>
  <img src="https://cdn.acedata.cloud/r3ux6z.png" width="500" className="m-auto" />
</p>

После завершения заполнения автоматически сгенерировался следующий код:

<p>
  <img src="https://cdn.acedata.cloud/fsww0u.png" width="500" className="m-auto" />
</p>

Соответствующий код:

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/producer/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "extend",
  "model": "FUZZ-2.0 Pro",
  "instrumental": false,
  "lyric": "[Куплет]\nПроснулся с солнцем в глазах\nНикаких облаков, только синь в небе\nОбувь на ногах, я готов бежать\nКаждый шаг ощущается как заряженный пистолет\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько истина, которая поднимает меня высоко\n[Куплет 2]\nТанцуя по улицам города\nРитм стучит в моем сердце\nНезнакомцы улыбаются, это заразительно\nЭтот мир — сцена, мы все — песня\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько истина, которая поднимает меня высоко\n[Бридж]\nВыбрось свои заботы за дверь\nПусть они тонут на дне океана\nМы живы, и этого достаточно\nЖизнь беспорядочна, но это любовь\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько истина, которая поднимает меня высоко",
  "continue_at": 3,
  "audio_id": "38d3b9e2-0dfb-4338-b2a7-15e45656ed32",
  "custom": true,
  "title": "Продолжение",
  "weirdness": 0.3,
  "sound_strength": 0.3,
  "lyrics_strength": 0.6
}'
```

Тестирование разрешено, сгенерированный эффект будет аналогичным.

```json theme={null}
{
  "success": true,
  "task_id": "834983cb-d62d-4750-b1aa-461da137e51f",
  "trace_id": "6923eee2-7403-432c-8bd1-e471086385b0",
  "data": [
    {
      "id": "d9ebc609-fb65-4a23-b914-c074747af6a4",
      "title": "Продолжение",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png",
      "lyric": "[Куплет]\n[Куплет]\nПроснулся с солнцем в глазах\nНикаких облаков, только синь в небе\nОбувь на ногах, я готов бежать\nКаждый шаг ощущается как заряженный пистолет\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько истина, которая поднимает меня высоко\n[Куплет 2]\nТанцуя по улицам города\nРитм стучит в моем сердце\nНезнакомцы улыбаются, это заразительно\nЭтот мир — сцена, мы все — песня\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько истина, которая поднимает меня высоко\n[Бридж]\nВыбрось свои заботы за дверь\nПусть они тонут на дне океана\nМы живы, и этого достаточно\nЖизнь беспорядочна, но это любовь\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько истина, которая поднимает меня высоко",
      "audio_url": "https://platform2.cdn.acedata.cloud/fish/5ade0339-5f11-487e-aacc-06a908271706.mp3",
      "video_url": null,
      "image_id": "d9ebc609-fb65-4a23-b914-c074747af6a4",
      "topic": null,
      "seed": "4294469624",
      "sound": "",
      "created_at": "2025-12-30T17:36:14.520928Z",
      "model": "FUZZ-2.0 Pro",
      "progress": "100%",
      "state": "успешно",
      "duration": "173.87102040816328"
    }
  ]
}
```

## Музыкальная вариация

Если вы хотите сгенерировать новую музыку с похожим эффектом на основе seed значения предыдущей музыки, нам нужно передать параметр `action` со значением: `variation`, затем мы можем настроить генерацию новой музыки с похожим эффектом.

Пример заполнения:

<p>
  <img src="https://cdn.acedata.cloud/bxslxt.png" width="500" className="m-auto" />
</p>

После завершения заполнения автоматически сгенерировался следующий код:

<p>
  <img src="https://cdn.acedata.cloud/nojowk.png" width="500" className="m-auto" />
</p>

Соответствующий код:

```shell theme={null}
```

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/producer/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "variation",
  "audio_id": "d9ebc609-fb65-4a23-b914-c074747af6a4",
  "model": "FUZZ-2.0 Pro",
  "instrumental": false,
  "lyric": "[Куплет]\nПроснулся с солнцем в глазах\nНикаких облаков, только синь в небе\nОбувь на ногах, я готов бежать\nКаждый шаг ощущается как заряженный пистолет\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко\n[Куплет 2]\nТанцуя по улицам города\nРитм стучит в моем сердце\nНезнакомцы улыбаются, это заразительно\nЭтот мир — сцена, мы все — песня\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко\n[Бридж]\nВыбрось свои заботы за дверь\nПусть они тонут на дне океана\nМы живы, и этого достаточно\nЖизнь беспорядочна, но это любовь\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко",
  "custom": true
}'
```

测试允许，生成的效果是 похожим.

```json theme={null}
{
    "success": true,
    "task_id": "3a74da6d-a37d-4b5d-b116-821f455bce39",
    "trace_id": "8e28cce0-0400-4bfd-83db-6d27f97422c7",
    "data": [
        {
            "id": "c14ca458-cd5a-4700-83d4-5249e15f2707",
            "title": "Проснулся с солнцем в глазах",
            "image_url": "https://cdn.acedata.cloud/e724d7f13d.png",
            "lyric": "[Куплет]\nПроснулся с солнцем в глазах\nНикаких облаков, только синь в небе\nОбувь на ногах, я готов бежать\nКаждый шаг ощущается как заряженный пистолет\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко\n[Куплет 2]\nТанцуя по улицам города\nРитм стучит в моем сердце\nНезнакомцы улыбаются, это заразительно\nЭтот мир — сцена, мы все — песня\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко\n[Бридж]\nВыбрось свои заботы за дверь\nПусть они тонут на дне океана\nМы живы, и этого достаточно\nЖизнь беспорядочна, но это любовь\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко",
            "audio_url": "https://platform2.cdn.acedata.cloud/fish/5ade0339-5f11-487e-aacc-06a908271706.mp3",
            "video_url": null,
            "image_id": "c14ca458-cd5a-4700-83d4-5249e15f2707",
            "topic": null,
            "seed": "2082104582",
            "sound": "",
            "created_at": "2025-12-30T17:48:40.135187Z",
            "model": "FUZZ-2.0",
            "progress": "100%",
            "state": "succeeded",
            "duration": "173.12798185941043"
        }
    ]
}
```

## Замена фрагмента

Если вы хотите заменить фрагмент песни, нам нужно передать значение параметра `action` как: `replace_section`, затем мы должны настроить сгенерированную песню в соответствии с текстом и заголовком.

Если вы хотите продолжить замену фрагмента для загруженной вами песни, вы можете установить параметр `action` как `upload_replace_section` и ввести ID загруженной песни, который можно получить с помощью [Producer Upload API](https://platform.acedata.cloud/documents/producer-upload), как показано на рисунке ниже:

<p>
  <img src="https://cdn.acedata.cloud/z7r5fd.png" width="500" className="m-auto" />
</p>

Пример заполнения ниже:

<p>
  <img src="https://cdn.acedata.cloud/mzo9iw.png" width="500" className="m-auto" />
</p>

После заполнения автоматически сгенерировался следующий код:

<p>
  <img src="https://cdn.acedata.cloud/877x6c.png" width="500" className="m-auto" />
</p>

Соответствующий код:

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/producer/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "replace_section",
  "model": "FUZZ-2.0 Pro",
  "instrumental": false,
  "lyric": "[Куплет]\\nПроснулся с солнцем в глазах\\nНикаких облаков, только синь в небе\\nОбувь на ногах, я готов бежать\\nКаждый шаг ощущается как заряженный пистолет\\n[Припев]\\nСчастливые дни наступают\\nПусть радость под моей кожей\\nБольше никаких теней, больше никаких лжи\\nТолько правда, которая поднимает меня высоко\\n[Куплет 2]\\nТанцуя по улицам города\\nРитм стучит в моем сердце\\nНезнакомцы улыбаются, это заразительно\\nЭтот мир — сцена, мы все — песня\\n[Припев]\\nСчастливые дни наступают\\nПусть радость под моей кожей\\nБольше никаких теней, больше никаких лжи\\nТолько правда, которая поднимает меня высоко\\n[Бридж]\\nВыбрось свои заботы за дверь\\nПусть они тонут на дне океана\\nМы живы, и этого достаточно\\nЖизнь беспорядочна, но это любовь\\n[Припев]\\nСчастливые дни наступают\\nПусть радость под моей кожей\\nБольше никаких теней, больше никаких лжи\\nТолько правда, которая поднимает меня высоко",
  "audio_id": "d9ebc609-fb65-4a23-b914-c074747af6a4",
  "replace_section_start": 3,
  "replace_section_end": 70,
  "custom": true
}'
```

Тестирование разрешено, сгенерированный эффект будет похожим.

```json theme={null}
{
    "success": true,
    "task_id": "3cb5ae96-01b0-4a37-afb0-e582608af56f",
    "trace_id": "3ebc6f63-5093-4499-bf9b-95c239e0da4f",
    "data": [
        {
            "id": "a54609c6-13e2-4176-be0f-4d7eebc68e1f",
            "title": "Проснулся с солнцем в глазах",
            "image_url": "https://cdn.acedata.cloud/e724d7f13d.png",
            "lyric": "[Куплет]\\nПроснулся с солнцем в глазах\\nНикаких облаков, только синь в небе\\nОбувь на ногах, я готов бежать\\nКаждый шаг ощущается как заряженный пистолет\\n[Припев]\\nСчастливые дни наступают\\nПусть радость под моей кожей\\nБольше никаких теней, больше никаких лжи\\nТолько правда, которая поднимает меня высоко\\n[Куплет 2]\\nТанцуя по улицам города\\nРитм стучит в моем сердце\\nНезнакомцы улыбаются, это заразительно\\nЭтот мир - сцена, мы все - песня\\n[Припев]\\nСчастливые дни наступают\\nПусть радость под моей кожей\\nБольше никаких теней, больше никаких лжи\\nТолько правда, которая поднимает меня высоко\\n[Бридж]\\nВыбрось свои заботы за дверь\\nПусть они тонут на дне океана\\nМы живы, и этого достаточно\\nЖизнь беспорядочна, но это любовь\\n[Припев]\\nСчастливые дни наступают\\nПусть радость под моей кожей\\nБольше никаких теней, больше никаких лжи\\nТолько правда, которая поднимает меня высоко",
            "audio_url": "https://platform2.cdn.acedata.cloud/fish/5ade0339-5f11-487e-aacc-06a908271706.mp3",
            "video_url": null,
            "image_id": "a54609c6-13e2-4176-be0f-4d7eebc68e1f",
            "topic": null,
            "seed": "14887454",
            "sound": "",
            "created_at": "2025-12-30T18:01:19.907443Z",
            "model": "FUZZ-2.0 Pro",
            "progress": "100%",
            "state": "succeeded",
            "duration": "174.6140589569161"
        }
    ]
}
```

## Операция замены инструментов

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

Пример заполнения:

<p>
  <img src="https://cdn.acedata.cloud/7l6976.png" width="500" className="m-auto" />
</p>

После завершения заполнения автоматически сгенерировался следующий код:

<p>
  <img src="https://cdn.acedata.cloud/pvi2n3.png" width="500" className="m-auto" />
</p>

Соответствующий код:

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/producer/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "swap_instrumentals",
  "model": "FUZZ-2.0 Pro",
  "weirdness": 0.6,
  "prompt": "Счастливый",
  "audio_id": "d9ebc609-fb65-4a23-b914-c074747af6a4"
}'
```

Тестирование разрешено, сгенерированный эффект будет похожим.

```json theme={null}
{
  "success": true,
  "task_id": "d17d8376-3a58-451d-a976-404719bac11d",
  "trace_id": "ab596807-910a-4e30-bae2-4647895f7d0b",
  "data": [
    {
      "id": "22d7d75c-9e0a-47a8-b22b-eea55eaa0c4b",
      "title": "Расширить (Замена звука)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png",
      "lyric": "[Куплет]\nПроснулся с солнцем в глазах\nНикаких облаков, только синь в небе\nОбувь на ногах, я готов бежать\nКаждый шаг ощущается как заряженный пистолет\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко\n[Куплет 2]\nТанцуя по улицам города\nРитм стучит в моем сердце\nНезнакомцы улыбаются, это заразительно\nЭтот мир - сцена, мы все - песня\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко\n[Бридж]\nВыбрось свои заботы за дверь\nПусть они тонут на дне океана\nМы живы, и этого достаточно\nЖизнь беспорядочна, но это любовь\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко",
      "audio_url": "https://platform2.cdn.acedata.cloud/fish/5ade0339-5f11-487e-aacc-06a908271706.mp3",
      "video_url": null,
      "image_id": "22d7d75c-9e0a-47a8-b22b-eea55eaa0c4b",
      "topic": null,
      "seed": "2157878068",
      "sound": "Счастливый",
      "created_at": "2025-12-30T18:09:49.594800Z",
      "model": "FUZZ-2.0 Pro",
      "progress": "100%",
      "state": "succeeded",
      "duration": "172.3849433106576"
    }
  ]
}
```

## Операция замены вокала

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

Пример заполнения:

<p>
  <img src="https://cdn.acedata.cloud/bk9ino.png" width="500" className="m-auto" />
</p>

После завершения заполнения автоматически сгенерировался следующий код:

<p>
  <img src="https://cdn.acedata.cloud/p5b1vg.png" width="500" className="m-auto" />
</p>

Соответствующий код:

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/producer/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "swap_vocals",
  "model": "FUZZ-2.0 Pro",
  "instrumental": false,
  "lyric": "[Куплет]\nПроснулся с солнцем в глазах\nНикаких облаков, только синь в небе\nОбувь на ногах, я готов бежать\nКаждый шаг ощущается как заряженный пистолет\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко\n[Куплет 2]\nТанцуя по улицам города\nРитм стучит в моем сердце\nНезнакомцы улыбаются, это заразительно\nЭтот мир - сцена, мы все - песня\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко\n[Бридж]\nВыбрось свои заботы за дверь\nПусть они тонут на дне океана\nМы живы, и этого достаточно\nЖизнь беспорядочна, но это любовь\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко",
  "weirdness": 0.6,
  "lyrics_strength": 0.8,
  "audio_id": "d9ebc609-fb65-4a23-b914-c074747af6a4",
  "custom": true
}'
```

Тестирование разрешено, сгенерированный эффект будет похожим.

```json theme={null}
{
  "success": true,
  "task_id": "a903ac38-f129-4f85-9181-b1dc5579bd32",
  "trace_id": "9953af52-45e0-4808-bf13-88f0b21262c1",
  "data": [
    {
      "id": "7b2d653b-aaaa-41b0-b737-aee4c4c5693b",
      "title": "Проснулся с солнцем в глазах",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png",
      "lyric": "[Куплет]\nПроснулся с солнцем в глазах\nНи облаков, только синий в небе\nОбувь на ногах, я готов бежать\nКаждый шаг как заряженный пистолет\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко\n[Куплет 2]\nТанцую по улицам города\nРитм стучит в моем сердце\nНезнакомцы улыбаются, это заразительно\nЭтот мир - сцена, мы все - песня\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко\n[Бридж]\nВыбрось свои заботы за дверь\nПусть они тонут на дне океана\nМы живы, и этого достаточно\nЖизнь беспорядочна, но это любовь\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко",
      "audio_url": "https://platform2.cdn.acedata.cloud/fish/5ade0339-5f11-487e-aacc-06a908271706.mp3",
      "video_url": null,
      "image_id": "7b2d653b-aaaa-41b0-b737-aee4c4c5693b",
      "topic": null,
      "seed": "2484735707",
      "sound": "",
      "created_at": "2025-12-30T18:13:01.349875Z",
      "model": "FUZZ-2.0 Pro",
      "progress": "100%",
      "state": "succeeded",
      "duration": "173.12798185941043"
    }
  ]
}
```

## Разделение текста и музыки

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

Пример заполнения ниже:

<p>
  <img src="https://cdn.acedata.cloud/fnpgvc.png" width="500" className="m-auto" />
</p>

После заполнения автоматически сгенерируется следующий код:

<p>
  <img src="https://cdn.acedata.cloud/oq5iv5.png" width="500" className="m-auto" />
</p>

Соответствующий код:

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/producer/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "stems",
  "audio_id": "a54609c6-13e2-4176-be0f-4d7eebc68e1f"
}'
```

Тестирование разрешено, сгенерированный эффект будет похожим.

```json theme={null}
{
    "success": true,
    "task_id": "561ac695-b4aa-47cf-978d-fb7be2b9ebfc",
    "trace_id": "66d0d397-2987-4bde-84fb-a60d0023b217",
    "data": [
        {
            "title": "Проснулся с солнцем в глазах",
            "lyric": "",
            "stems_url": "https://platform.cdn.acedata.cloud/producer/561ac695-b4aa-47cf-978d-fb7be2b9ebfc.zip",
            "model": "",
            "progress": "100%",
            "state": "succeeded"
        }
    ]
}
```

## Асинхронный обратный вызов

Поскольку время генерации 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/](https://webhook.site/), открыв этот сайт, вы получите URL Webhook, как показано на изображении:

![](https://cdn.acedata.cloud/tbcnai.png)

Скопировав этот URL, вы можете использовать его в качестве Webhook, пример здесь - [https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1](https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1).

Затем мы можем установить поле `callback_url` на указанный URL Webhook, одновременно заполнив соответствующие параметры, конкретное содержание показано на изображении:

<p>
  <img src="https://cdn.acedata.cloud/wuzd4y.png" width="500" className="m-auto" />
</p>

Нажмите "Запустить", и вы сразу получите результат, как показано ниже:

```
{
  "task_id": "1a6ac2ad-10f2-4e2b-b500-66ec27fe82ad"
}
```

Через некоторое время мы можем наблюдать результат сгенерированной задачи на [https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1](https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1), как показано на изображении:

![](https://cdn.acedata.cloud/k0kf0y.png)

Содержание следующее:

```json theme={null}
{
    "success": true,
    "task_id": "1a6ac2ad-10f2-4e2b-b500-66ec27fe82ad",
    "trace_id": "1da03537-4eb8-410d-b849-43f03085a3bb",
    "data": [
        {
            "id": "1dd08826-478e-43a6-868f-aff5ababac2c",
            "title": "Проснулся с солнцем в глазах",
            "image_url": "https://cdn.acedata.cloud/e724d7f13d.png",
            "lyric": "[Куплет]\nПроснулся с солнцем в глазах\nНикаких облаков, только синь в небе\nОбувь на ногах, я готов бежать\nКаждый шаг ощущается как заряженный пистолет\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко\n[Куплет 2]\nТанцуя по улицам города\nРитм стучит в моем сердце\nНезнакомцы улыбаются, это заразительно\nЭтот мир — сцена, мы все — песня\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко\n[Бридж]\nВыбрось свои заботы за дверь\nПусть они тонут на дне океана\nМы живы, и этого достаточно\nЖизнь беспорядочна, но это любовь\n[Припев]\nСчастливые дни наступают\nПусть радость под моей кожей\nБольше никаких теней, больше никаких лжи\nТолько правда, которая поднимает меня высоко",
            "audio_url": "https://platform2.cdn.acedata.cloud/fish/5ade0339-5f11-487e-aacc-06a908271706.mp3",
            "video_url": null,
            "image_id": "1dd08826-478e-43a6-868f-aff5ababac2c",
            "topic": null,
            "seed": "1490770667",
            "sound": "",
            "created_at": "2025-12-30T18:36:00.994141Z",
            "model": "FUZZ-2.0 Pro",
            "progress": "100%",
            "state": "succeeded",
            "duration": "135.2330158730159"
        }
    ]
}
```

Можно увидеть, что в результате есть поле `task_id`, остальные поля аналогичны вышеупомянутым, через это поле можно связать задачи.

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

При вызове API, если возникнет ошибка, API вернет соответствующий код ошибки и информацию. Например:

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

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

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "не удалось получить"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Заключение

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