Skip to content

音乐编辑

音乐编辑用于延展、重新创作、添加伴奏、添加人声、Mashup 和替换片段。编辑任务统一通过 POST /v1/tasks 提交。

延展音乐

先查询源音乐任务,等 status=SUCCESS 后读取 media[].suno_audio_id。这个值就是延展请求的 audioId

延展模型应与源音乐的模型版本保持一致。例如源音乐由 suno-music-v5.5 生成时,延展时优先使用 suno-extend-v5.5;不要把同一个 audioId 混用于不同版本的延展模型。

bash
curl https://moonapix.com/v1/tasks \
  -H "Authorization: Bearer <MOONAPIX_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://moonapix.com/v1/tasks \
  -H "Authorization: Bearer <MOONAPIX_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"
  }'

上传并延展

建议使用 defaultParamFlag=true 并显式提供 continueAtpromptstyletitlecontinueAt 必须大于 0,并且小于上传音频总时长。

bash
curl https://moonapix.com/v1/tasks \
  -H "Authorization: Bearer <MOONAPIX_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"
  }'

添加伴奏或人声

bash
curl https://moonapix.com/v1/tasks \
  -H "Authorization: Bearer <MOONAPIX_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://moonapix.com/v1/tasks \
  -H "Authorization: Bearer <MOONAPIX_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"
  }'

生成 Mashup

建议先使用 customMode=false 的默认模式;如果自定义模式返回歌词为空、过短或格式异常,可以先切回默认模式重试。

bash
curl https://moonapix.com/v1/tasks \
  -H "Authorization: Bearer <MOONAPIX_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"
  }'

替换片段

bash
curl https://moonapix.com/v1/tasks \
  -H "Authorization: Bearer <MOONAPIX_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"
  }'

必填字段

模型族必填字段
suno-extend-*audioIddefaultParamFlagcallBackUrl;当 defaultParamFlag=true 时还需要 continueAtpromptstyletitle
suno-upload-cover-*uploadUrlcustomModeinstrumentalcallBackUrl;当 customMode=true 时还需要 promptstyletitle
suno-upload-extend-*uploadUrldefaultParamFlagcallBackUrl;建议同时提供 continueAtpromptstyletitle
suno-add-instrumental-*uploadUrltitlenegativeTagstagscallBackUrl
suno-add-vocals-*uploadUrlprompttitlenegativeTagsstylecallBackUrl
suno-mashup-*uploadUrlListcustomModecallBackUrl
suno-replace-sectiontaskIdaudioIdprompttagstitlefullLyricsinfillStartSinfillEndS

使用建议

  • 编辑类任务要保存原任务 ID、suno_audio_id 和新任务 ID。
  • 延展类任务优先选择与源音乐同版本的模型;跨版本延展可能生成失败。
  • 上传类任务使用可公网访问的 uploadUrl,必要时可先通过 POST /v1/assets/uploads 登记素材,再使用素材的公网 URL。
  • 上传并延展时建议显式传 continueAt,并确认它落在音频有效时长内。
  • 对同一首歌做多次编辑时,建议记录每次编辑目的。