Edit Music
Music editor task is used to extend music, recreate it based on uploading audio, add accompanies or humans, generate Mashup and replace clips. Edit task is submitted by POST /v1/tasks.
Extension of Music
Extends an existing music first with a successful source music. After the query source task, the audio ID from media[].suno_audio_id in response is taken as audioId for the new request.
Extension models should be consistent with the version of the source music. For example, suno-extend-v5.5 is preferred when source music is generated by suno-music-v5.5; the same audioId is not mixed with the extended model of different versions, otherwise task may fail at the generation stage.
defaultParamFlag controls whether to use source music parameters:
false: Retain source music parameters, onlyaudioId,defaultParamFlagandcallBackUrl.true: Custom continuation parameters must also be provided forcontinueAt,prompt,styleandtitle.
If you fail to follow the source music parameter, you can switch to defaultParamFlag=true, which provides a continuation position and creation parameter. continueAt must be greater than 0 and smaller than the source music total duration.
POST /v1/taskscurl https://moonnexai.com/v1/tasks \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-extend-v5.5",
"audioId": "807233aa-438a-4b5c-a203-9b64299ed238",
"defaultParamFlag": false,
"callBackUrl": "https://example.com/callback"
}'curl https://moonnexai.com/v1/tasks \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-extend-v5.5",
"audioId": "807233aa-438a-4b5c-a203-9b64299ed238",
"defaultParamFlag": true,
"continueAt": 60,
"prompt": "Continue with a brighter chorus and stronger drums.",
"style": "Pop Rock",
"title": "Brighter Chorus",
"callBackUrl": "https://example.com/callback"
}'Use upload media assets
To upload or register audio, call POST /v1/assets/uploads to obtain asset_id or Asset://asset_xxx, then reference the asset in the task request.
curl https://moonnexai.com/v1/assets/uploads \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/source.mp3",
"purpose": "music_reference"
}'Upload and recreate
Uploads the uploadUrl for re-creates the accessable network. customMode=false uses default creation parameters; customMode=true should also provide prompt, style and title.
curl https://moonnexai.com/v1/tasks \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-upload-cover-v5.5",
"uploadUrl": "https://example.com/source.mp3",
"customMode": true,
"instrumental": false,
"prompt": "Create a warm acoustic cover.",
"style": "Acoustic Pop",
"title": "Warm Cover",
"callBackUrl": "https://example.com/callback"
}'Upload and extend
Upload and extend the same uploadUrl. It is recommended to use defaultParamFlag=true and to provide continueAt, prompt, style and title in a visible way, so that some versions can be avoided because they are not available. continueAt must be greater than 0 and smaller than the total duration upload.
curl https://moonnexai.com/v1/tasks \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-upload-extend-v5.5",
"uploadUrl": "https://example.com/source.mp3",
"defaultParamFlag": true,
"continueAt": 60,
"prompt": "Extend this into a cinematic ending.",
"style": "Cinematic Pop",
"title": "Final Scene",
"callBackUrl": "https://example.com/callback"
}'Add accompaniment or a human voice
Adds accompanion and adds human voice to uploadUrl accessible on the public network, which is suitable for re-generation of acoustic or human version with an existing audio as reference.
curl https://moonnexai.com/v1/tasks \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-add-instrumental-v5.5",
"uploadUrl": "https://example.com/source.mp3",
"title": "Instrumental Version",
"negativeTags": "noise, distortion",
"tags": "pop, clean instrumental",
"callBackUrl": "https://example.com/callback"
}'curl https://moonnexai.com/v1/tasks \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-add-vocals-v5.5",
"uploadUrl": "https://example.com/source.mp3",
"prompt": "Add a gentle female vocal.",
"title": "Vocal Version",
"negativeTags": "noise, distortion",
"style": "Soft Pop",
"callBackUrl": "https://example.com/callback"
}'Generate Mashup
Mashup files multiple public accessable audio URLs using uploadUrlList. It is suggested to use the default mode of customMode=false first; if the custom mode returns the lyrics to empty, short or format abnormal, you can go back to the default mode.
curl https://moonnexai.com/v1/tasks \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-mashup-v5",
"uploadUrlList": [
"https://example.com/source-a.mp3",
"https://example.com/source-b.mp3"
],
"customMode": false,
"callBackUrl": "https://example.com/callback"
}'Replace Snippet
Replaces the clips with taskId and audioId with a successful task and specifies the replacement range.
curl https://moonnexai.com/v1/tasks \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-replace-section",
"taskId": "task_xxx",
"audioId": "807233aa-438a-4b5c-a203-9b64299ed238",
"prompt": "Replace this section with a brighter hook.",
"tags": "pop, bright hook",
"title": "Updated Hook",
"fullLyrics": "[Verse] ... [Chorus] ...",
"infillStartS": 45,
"infillEndS": 75,
"callBackUrl": "https://example.com/callback"
}'Required fields at a glance
| Model family | You will fill in field |
|---|---|
suno-extend-* | audioId, defaultParamFlag, callBackUrl; when defaultParamFlag=true, also supply continueAt, prompt, style, title |
suno-upload-cover-* | uploadUrl, customMode, instrumental, callBackUrl; when customMode=true, also supply prompt, style, title |
suno-upload-extend-* | uploadUrl, defaultParamFlag, callBackUrl; recommended to provide continueAt, prompt, style, title |
suno-add-instrumental-* | uploadUrl, title, negativeTags, tags, callBackUrl |
suno-add-vocals-* | uploadUrl, prompt, title, negativeTags, style, callBackUrl |
suno-mashup-* | uploadUrlList, customMode, callBackUrl |
suno-replace-section | taskId, audioId, prompt, tags, title, fullLyrics, infillStartS, infillEndS |
Model selection
| scene | Recommended Default Model | Available Models |
|---|---|---|
| Extension of Music | suno-extend-v5.5 | suno-extend-v4, suno-extend-v4.5, suno-extend-v4.5-plus, suno-extend-v4.5-all, suno-extend-v5, suno-extend-v5.5 |
| Upload and recreate | suno-upload-cover-v5.5 | suno-upload-cover-v4, suno-upload-cover-v4.5, suno-upload-cover-v4.5-plus, suno-upload-cover-v4.5-all, suno-upload-cover-v5, suno-upload-cover-v5.5 |
| Upload and extend | suno-upload-extend-v5.5 | suno-upload-extend-v4, suno-upload-extend-v4.5, suno-upload-extend-v4.5-plus, suno-upload-extend-v4.5-all, suno-upload-extend-v5, suno-upload-extend-v5.5 |
| Add Concort | suno-add-instrumental-v5.5 | suno-add-instrumental-v4.5-plus, suno-add-instrumental-v5, suno-add-instrumental-v5.5 |
| Add a Voice | suno-add-vocals-v5.5 | suno-add-vocals-v4.5-plus, suno-add-vocals-v5, suno-add-vocals-v5.5 |
| Generate Mashup | suno-mashup-v5 | suno-mashup-v4, suno-mashup-v4.5, suno-mashup-v4.5-plus, suno-mashup-v4.5-all, suno-mashup-v5 |
| Replace Snippet | suno-replace-section | suno-replace-section |