Application Process
To use the Producer Audios Generation API, first go to the Ace Data Cloud Console to obtain your API Token, and keep it for later use.
If you have not yet logged in or registered, you will be automatically redirected to the login page to register and log in. After completion, you will automatically return to the current page.
One API Token can call all services on the platform, with no need to apply separately for each service. The first application will grant free credits for free trial; when credits are insufficient, you can top up the general balance in the Console.
📘 Complete documentation: Producer Audios Generation API →
Basic Usage
For whatever song you want, you can enter any text. For example, if I want to generate a song about Christmas, I can entera song for Christmas, as shown in the figure:

accept: What format of response result you want to receive. Here it is filled in asapplication/json, which is JSON format.authorization: The key for calling the API, which can be directly selected from the dropdown after application.
action: The action of this music generation task. To generate a song, usegenerate.model: The model used to create the song. Currently, the main ones are: 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: The lyrics content of the song.custom: Whether to generate the song in a custom way.prompt: The prompt in inspiration mode.title: Song title information.audio_id: Reference song ID, used for continuation/cover and other operations.continue_at: Continue the song from the specified number of seconds.replace_section_start/replace_section_end: The start and end time of the replacement segment, in seconds.lyrics_strength: Lyrics strength, indicating the degree of influence of lyrics in audio generation. Optional between 0 and 1, default is 0.7.sound_strength: Audio prompt strength, optional between 0.2 and 1, default is 0.7.cover_strength: Cover strength, between 0.2 and 1, default is 1.weirdness: Style weirdness, optional between 0 and 1, default is 0.5.callback_url: The URL that needs callback results.async: Optional. When set totrue, the API immediately returnstask_id, with no need to providecallback_url; then obtain results by polling through the corresponding task query API.instrumental: Whether it is lyric-free mode.

success, the status of the music generation task at this time.data, the result of this music task.id, the ID of the music generation task at this time.sound, the prompt of the music generation task at this time.seed, the seed value of the music generation task at this time.audio_url, the audio link of the music generation task at this time.image_url, the cover link of the music generation task at this time.image_id, the cover ID of the music generation task at this time.state, the status of the music generation task at this time.duration, the duration information of the music at this time.progress, the progress value of the music task at this time.model, the model information used by the music generation task at this time.lyric, the lyrics information of the music generation task at this time.
data in the result.
In addition, if you want to generate the corresponding integration code, you can directly copy and generate it. For example, the CURL code is as follows:
Custom Generation
If you want to customize and generate lyrics, you can enter lyrics: At this time, thelyric field can pass in content similar to the following:
- lyric: Lyrics text
- custom: Set to
true, which represents custom generation. This parameter defaults to false, which represents generation usingprompt. - title: The title of the song.


Cover Songs
If you want to perform a cover operation on an already generated song, you can enter the song generated above for a cover. Next, we will custom-generate a song based on the lyrics and title. If you want to continue covering a song uploaded by yourself, you can set the parameteraction to upload_cover, and enter the ID of the custom-uploaded song that needs to continue being covered. The song ID is obtained using the Producer Upload API, as shown below:

- action: The action for this song task. Currently supported: generate, cover, extend, upload_cover, upload_extend, replace_section, swap_vocals, swap_instrumentals, variation. This cover uses the
coverparameter. - lyric: Lyrics text
- title: The title of the song.
- custom: Whether to generate using custom mode. The default is false.
- audio_id: The ID of the song to be covered.


Continue Writing a Song
If you want to continue writing a song, we need to pass theaction parameter value as: extend. Next, we can customize the generated song based on the lyrics, title, and style.
If you want to continue writing a song that you uploaded yourself, you can set the action parameter to upload_extend, and enter the ID of the custom uploaded song that needs to be continued. The song ID can be obtained using the Producer Upload API, as shown below:



Music Variation
If you want to generate new music with a similar effect based on the seed value of the previous music, we need to pass theaction parameter value as: variation. Next, you can customize and generate new music with a similar effect.
The example is filled in as follows:


Replace Section
If you want to replace a section of a song, we need to pass theaction parameter value as: replace_section. Next, we need to customize the generated song based on the lyrics and title.
If you want to continue replacing sections of a song you uploaded yourself, you can set the parameter action to upload_replace_section, and enter the ID of the custom uploaded song that needs to continue being extended. The song ID is obtained using the Producer Upload API, as shown below:



Instrumental Swap
If you want to use the official instrumental swap operation, you can set theaction parameter value to: swap_instrumentals; next, we will customize and generate a song based on the lyrics and title.
The filling example is as follows:


Vocal Swap
If you want to use the official vocal swap operation, you can set theaction parameter value to: swap_vocals; next, we will customize and generate a song based on the lyrics, title, and style.
The filling example is as follows:


Vocal and Instrumental Separation
If you want to use the official vocal and instrumental separation operation, you can set theaction parameter value to: stems. Next, we need to separate the vocals and instrumentals based on the song ID.
Fill in the example as follows:


Asynchronous Callback
Since the generation time of the Producer Audios Generation API can sometimes be relatively long, if the API does not respond for a long time, the HTTP request will remain connected, resulting in additional system resource consumption. Therefore, this API also provides support for asynchronous callbacks. The overall process is: when the client initiates a request, it additionally specifies acallback_url field. After the client initiates the API request, the API will immediately return a result containing a task_id field, representing the current task ID. When the task is completed, the result of the generation task will be sent in the form of POST JSON to the callback_url specified by the client, which also includes the task_id field, so that the task result can be associated through the ID.
Next, let us understand the specific operation through an example.
First, a Webhook callback is a service that can receive HTTP requests. Developers should replace it with the URL of their own deployed HTTP server. For demonstration convenience, a public Webhook sample website https://webhook.site/ is used here. Open this website to obtain a Webhook URL, as shown in the figure:
Copy this URL, and it can be used as a Webhook. The example here is https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1.
Next, we can set the field callback_url to the above Webhook URL, while filling in the corresponding parameters. The specific content is shown in the figure:

The content is as follows:
task_id field in the result. The other fields are similar to those above, and task association can be achieved through this field.
Error Handling
When calling the API, if an error is encountered, the API will return the corresponding error code and information. For example:400 token_mismatched: Bad request, possibly due to missing or invalid parameters.400 api_not_implemented: Bad request, possibly due to missing or invalid parameters.401 invalid_token: Unauthorized, invalid or missing authorization token.429 too_many_requests: Too many requests, you have exceeded the rate limit.500 api_error: Internal server error, something went wrong on the server.

