Skip to content

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, only audioId, defaultParamFlag and callBackUrl.
  • true: Custom continuation parameters must also be provided for continueAt, prompt, style and title.

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.

http
POST /v1/tasks
bash
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"
  }'
bash
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.

bash
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.

bash
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.

bash
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.

bash
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"
  }'
bash
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.

bash
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.

bash
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 familyYou 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-sectiontaskId, audioId, prompt, tags, title, fullLyrics, infillStartS, infillEndS

Model selection ​

sceneRecommended Default ModelAvailable Models
Extension of Musicsuno-extend-v5.5suno-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 recreatesuno-upload-cover-v5.5suno-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 extendsuno-upload-extend-v5.5suno-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 Concortsuno-add-instrumental-v5.5suno-add-instrumental-v4.5-plus, suno-add-instrumental-v5, suno-add-instrumental-v5.5
Add a Voicesuno-add-vocals-v5.5suno-add-vocals-v4.5-plus, suno-add-vocals-v5, suno-add-vocals-v5.5
Generate Mashupsuno-mashup-v5suno-mashup-v4, suno-mashup-v4.5, suno-mashup-v4.5-plus, suno-mashup-v4.5-all, suno-mashup-v5
Replace Snippetsuno-replace-sectionsuno-replace-section

Relevant Pages ​