Music Editor
Music editor uses to extend, recreate, add accompaniment, add a voice, Mashup and replace clips. Edit task is submitted by POST /v1/tasks.
Extension of Music
Query the original music task. Once status=SUCCESS, read media[].suno_audio_id and use that value as audioId in the extension request.
The extension model should be consistent with the version of the source music. For example, if the source music is generated by suno-music-v5.5, the suno-extend-v5.5 priority is given to the extension; not to mix the same audioId with the extended model of the different versions.
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": false,
"callBackUrl": "https://example.com/callback"
}'Upload and recreate
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 soft acoustic cover with a warm vocal tone.",
"style": "Acoustic Pop",
"title": "Warm Cover",
"callBackUrl": "https://example.com/callback"
}'Upload and extend
defaultParamFlag=true is recommended to provide continueAt, prompt, style and title in a visible form. continueAt must be greater than 0 and less than the upload of the total duration.
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 the song with an emotional bridge.",
"style": "Cinematic Pop",
"title": "Emotional Bridge",
"callBackUrl": "https://example.com/callback"
}'Add accompaniment or a human voice
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
It is suggested to use the default mode customMode=false first; if the custom mode returns the lyrics to empty, short or format abnormal, you can cut back to the default mode to try again.
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
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"
}'You will fill in field
| 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 |
Use recommendations
- Edit class task to save old task ID,
suno_audio_idand new task ID. - Extending class task to select a model that is the same as the source music; a cross-version may fail to generate.
- Upload task using a public web-accessible
uploadUrland, if necessary, by registering media assets viaPOST /v1/assets/uploadsand then using the public network URL of media assets. - When uploading and extending, it is recommended that the
continueAtbe displayed and confirmed that it is within the sound-efficient duration. - When the same song is edited several times, it is suggested that each editorial purpose be recorded.