Suno 音乐生成

查看 Markdown 原文

基础信息

  • 基础域名:https://api.apiverse.ai
  • 鉴权方式:Authorization: Bearer <API_KEY>
  • Content-Type:application/json
  • 路由前缀:/api/v2/open/aigc/suno

所有 Suno 接口均通过上述路由前缀访问,请求体字段和查询参数会按原字段转发,不会裁剪可选参数。

快速示例

生成音乐

curl -X POST "https://api.apiverse.ai/api/v2/open/aigc/suno/generate" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_KEY>" \
  -d '{
    "prompt": "A calm and relaxing piano track with soft melodies",
    "style": "Classical",
    "title": "Peaceful Piano Meditation",
    "customMode": true,
    "instrumental": true,
    "model": "V5",
    "callBackUrl": "https://api.apiverse.ai/callback",
    "negativeTags": "",
    "vocalGender": "f",
    "styleWeight": 0.65,
    "weirdnessConstraint": 0.65,
    "audioWeight": 0.65,
    "personaId": ""
  }'

查询音乐任务

curl "https://api.apiverse.ai/api/v2/open/aigc/suno/generate/record-info?taskId=<TASK_ID>" \
  -H "Authorization: Bearer <API_KEY>"

接口列表

能力方法路径
生成音乐POST/api/v2/open/aigc/suno/generate
获取音乐详情GET/api/v2/open/aigc/suno/generate/record-info?taskId=<TASK_ID>
延长音乐POST/api/v2/open/aigc/suno/generate/extend
替换音乐分区POST/api/v2/open/aigc/suno/generate/replace-section
生成声音POST/api/v2/open/aigc/suno/generate/sounds
获取时间戳歌词POST/api/v2/open/aigc/suno/generate/get-timestamped-lyrics
上传并翻唱音乐POST/api/v2/open/aigc/suno/generate/upload-cover
上传并扩展音乐POST/api/v2/open/aigc/suno/generate/upload-extend
添加伴奏POST/api/v2/open/aigc/suno/generate/add-instrumental
添加人声POST/api/v2/open/aigc/suno/generate/add-vocals
生成混音音乐POST/api/v2/open/aigc/suno/generate/mashup
生成 PersonaPOST/api/v2/open/aigc/suno/generate/generate-persona
生成歌词POST/api/v2/open/aigc/suno/lyrics
获取歌词详情GET/api/v2/open/aigc/suno/lyrics/record-info?taskId=<TASK_ID>
生成音乐封面POST/api/v2/open/aigc/suno/cover/generate
获取音乐封面详情GET/api/v2/open/aigc/suno/cover/record-info?taskId=<TASK_ID>
人声和乐器分离POST/api/v2/open/aigc/suno/vocal-removal/generate
获取分离详情GET/api/v2/open/aigc/suno/vocal-removal/record-info?taskId=<TASK_ID>
转换 WAVPOST/api/v2/open/aigc/suno/wav/generate
获取 WAV 详情GET/api/v2/open/aigc/suno/wav/record-info?taskId=<TASK_ID>
创建音乐视频POST/api/v2/open/aigc/suno/mp4/generate
获取音乐视频详情GET/api/v2/open/aigc/suno/mp4/record-info?taskId=<TASK_ID>
生成 MIDIPOST/api/v2/open/aigc/suno/midi/generate
获取 MIDI 详情GET/api/v2/open/aigc/suno/midi/record-info?taskId=<TASK_ID>
优化音乐风格POST/api/v2/open/aigc/suno/style/generate

参数说明

1. 生成音乐

POST /api/v2/open/aigc/suno/generate

参数类型必填说明
promptstring音乐内容提示词。customMode=trueinstrumental=false 时作为歌词使用;customMode=false 时作为创意提示。
stylestring条件必填音乐风格。customMode=true 时必填;customMode=false 时应留空或不传。
titlestring条件必填音乐标题。customMode=true 时必填。
customModeboolean是否启用自定义模式。
instrumentalboolean是否生成纯音乐。
modelstring模型版本:V4 / V4_5 / V4_5PLUS / V4_5ALL / V5 / V5_5
callBackUrlstring任务状态回调地址。
negativeTagsstring需要排除的风格或特征。
vocalGenderstring人声性别偏好:m / f,仅自定义模式下建议使用。
styleWeightnumber风格遵循强度,范围 01,建议保留两位小数。
weirdnessConstraintnumber创意偏离程度,范围 01
audioWeightnumber音频要素权重,范围 01
personaIdstringPersona ID,用于套用特定音乐人格。

2. 获取音乐详情

GET /api/v2/open/aigc/suno/generate/record-info?taskId=<TASK_ID>

参数位置类型必填说明
taskIdquerystring生成、延长、上传翻唱、上传扩展等任务返回的任务 ID。

3. 延长音乐

POST /api/v2/open/aigc/suno/generate/extend

参数类型必填说明
defaultParamFlagbooleantrue 表示使用本次请求传入的新参数;false 表示沿用源音频参数。
audioIdstring要延长的音频 ID。
modelstring模型版本:V4 / V4_5 / V4_5PLUS / V4_5ALL / V5 / V5_5
callBackUrlstring任务状态回调地址。
promptstring条件必填defaultParamFlag=true 时必填,描述延长部分内容。
stylestring条件必填defaultParamFlag=true 时必填,描述音乐风格。
titlestring条件必填defaultParamFlag=true 时必填。
continueAtnumber条件必填defaultParamFlag=true 时必填,从源音频第几秒开始延长。
instrumentalboolean是否生成纯音乐。
negativeTagsstring需要排除的风格或特征。
vocalGenderstring人声性别偏好:m / f
styleWeightnumber风格遵循强度,范围 01
weirdnessConstraintnumber创意偏离程度,范围 01
audioWeightnumber音频要素权重,范围 01
personaIdstringPersona ID。

4. 生成歌词

POST /api/v2/open/aigc/suno/lyrics

参数类型必填说明
promptstring歌词主题、情绪、风格或故事描述。
callBackUrlstring歌词生成完成回调地址;不传时可通过查询接口轮询。

5. 获取歌词详情

GET /api/v2/open/aigc/suno/lyrics/record-info?taskId=<TASK_ID>

参数位置类型必填说明
taskIdquerystring生成歌词接口返回的任务 ID。

6. 生成声音

POST /api/v2/open/aigc/suno/generate/sounds

参数类型必填说明
promptstring声音内容提示词,建议 500 字符以内。
modelstring模型版本:V5 / V5_5
soundLoopboolean是否生成循环音频,默认 false
soundTempointegerBPM,范围 1300;不传表示自动。
soundKeystring调性,如 CD#mAny
grabLyricsboolean是否抓取歌词字幕。
callBackUrlstring任务状态回调地址。

7. 获取时间戳歌词

POST /api/v2/open/aigc/suno/generate/get-timestamped-lyrics

参数类型必填说明
taskIdstring音乐生成任务 ID。
audioIdstring要获取时间戳歌词的音频 ID。

8. 替换音乐分区

POST /api/v2/open/aigc/suno/generate/replace-section

参数类型必填说明
taskIdstring源音乐任务 ID。
audioIdstring要替换片段的音频 ID。
promptstring替换片段的新歌词。
tagsstring音乐风格标签。
titlestring音乐标题。
infillStartSnumber替换起始时间,单位秒。
infillEndSnumber替换结束时间,单位秒。
fullLyricsstring替换后的完整歌词。
negativeTagsstring需要排除的风格或特征。
callBackUrlstring任务状态回调地址。

9. 上传并翻唱音乐

POST /api/v2/open/aigc/suno/generate/upload-cover

参数类型必填说明
uploadUrlstring可公开访问的源音频 URL。
customModeboolean是否启用自定义模式。
instrumentalboolean是否生成纯音乐。
modelstring模型版本:V4 / V4_5 / V4_5PLUS / V4_5ALL / V5 / V5_5
callBackUrlstring任务状态回调地址。
promptstring条件必填customMode=trueinstrumental=false 时必填。
stylestring条件必填customMode=true 时必填。
titlestring条件必填customMode=true 时必填。
negativeTagsstring需要排除的风格或特征。
vocalGenderstring人声性别偏好:m / f
styleWeightnumber风格遵循强度,范围 01
weirdnessConstraintnumber创意偏离程度,范围 01
audioWeightnumber音频要素权重,范围 01
personaIdstringPersona ID。

10. 上传并扩展音乐

POST /api/v2/open/aigc/suno/generate/upload-extend

参数类型必填说明
uploadUrlstring可公开访问的源音频 URL。
defaultParamFlagbooleantrue 表示使用本次请求传入的新参数;false 表示沿用源音频参数。
modelstring模型版本:V4 / V4_5 / V4_5PLUS / V4_5ALL / V5 / V5_5
callBackUrlstring任务状态回调地址。
instrumentalboolean是否生成纯音乐。
promptstring条件必填defaultParamFlag=true 时必填。
stylestring条件必填defaultParamFlag=true 时必填。
titlestring条件必填defaultParamFlag=true 时必填。
continueAtnumber条件必填defaultParamFlag=true 时必填,从源音频第几秒开始扩展。
negativeTagsstring需要排除的风格或特征。
vocalGenderstring人声性别偏好:m / f
styleWeightnumber风格遵循强度,范围 01
weirdnessConstraintnumber创意偏离程度,范围 01
audioWeightnumber音频要素权重,范围 01
personaIdstringPersona ID。

11. 添加伴奏

POST /api/v2/open/aigc/suno/generate/add-instrumental

参数类型必填说明
uploadUrlstring要添加伴奏的源音频 URL。
titlestring生成音乐标题。
negativeTagsstring需要排除的风格或特征。
tagsstring期望包含的音乐风格标签。
callBackUrlstring任务状态回调地址。
modelstring模型版本:V4 / V4_5 / V4_5PLUS,默认 V4_5PLUS
vocalGenderstring人声性别偏好:m / f
styleWeightnumber风格遵循强度,范围 01
weirdnessConstraintnumber创意偏离程度,范围 01
audioWeightnumber音频要素权重,范围 01

12. 添加人声

POST /api/v2/open/aigc/suno/generate/add-vocals

参数类型必填说明
promptstring人声演唱内容或歌词提示。
titlestring音乐标题。
negativeTagsstring需要排除的风格或特征。
stylestring音乐风格。
uploadUrlstring要添加人声的源音频 URL。
callBackUrlstring任务状态回调地址。
modelstring模型版本:V4 / V4_5 / V4_5PLUS,默认 V4_5PLUS
vocalGenderstring人声性别偏好:m / f
styleWeightnumber风格遵循强度,范围 01
weirdnessConstraintnumber创意偏离程度,范围 01
audioWeightnumber音频要素权重,范围 01

13. 生成混音音乐

POST /api/v2/open/aigc/suno/generate/mashup

参数类型必填说明
uploadUrlListstring[]要混音的音频 URL 数组,必须包含 2 个 URL。
customModeboolean是否启用自定义模式。
modelstring模型版本:V4 / V4_5 / V4_5PLUS / V4_5ALL / V5 / V5_5
callBackUrlstring任务状态回调地址。
stylestring条件必填音乐风格。customMode=true 时必填;customMode=false 时应留空或不传。
titlestring条件必填音乐标题。customMode=true 时必填。
promptstring条件必填customMode=trueinstrumental=false 时必填,作为歌词使用;customMode=false 时作为创意提示。
instrumentalboolean是否生成纯音乐。
vocalGenderstring人声性别偏好:m / f,仅 customMode=true 时生效。
styleWeightnumber风格遵循强度,范围 01,仅 customMode=true 时生效。
weirdnessConstraintnumber创意偏离程度,范围 01,仅 customMode=true 时生效。
audioWeightnumber音频要素权重,范围 01,仅 customMode=true 时生效。

14. 生成 Persona

POST /api/v2/open/aigc/suno/generate/generate-persona

参数类型必填说明
taskIdstring已完成音乐任务 ID。
audioIdstring用于创建 Persona 的音频 ID。
namestringPersona 名称。
descriptionstringPersona 的音乐特征、风格和人声特质说明。

15. 生成音乐封面

POST /api/v2/open/aigc/suno/cover/generate

参数类型必填说明
taskIdstring原音乐任务 ID。
callBackUrlstring封面生成完成回调地址。

16. 获取音乐封面详情

GET /api/v2/open/aigc/suno/cover/record-info?taskId=<TASK_ID>

参数位置类型必填说明
taskIdquerystring封面生成任务 ID。

17. 人声和乐器分离

POST /api/v2/open/aigc/suno/vocal-removal/generate

参数类型必填说明
taskIdstring音乐生成任务 ID。
audioIdstring要分离的音频 ID。
callBackUrlstring任务状态回调地址。
typestring分离类型:separate_vocal(人声/伴奏)或 split_stem(多音轨),默认 separate_vocal

18. 获取分离详情

GET /api/v2/open/aigc/suno/vocal-removal/record-info?taskId=<TASK_ID>

参数位置类型必填说明
taskIdquerystring分离任务 ID。

19. 转换 WAV

POST /api/v2/open/aigc/suno/wav/generate

参数类型必填说明
taskIdstring音乐生成任务 ID。
audioIdstring要转换的音频 ID。
callBackUrlstring任务状态回调地址。

20. 获取 WAV 详情

GET /api/v2/open/aigc/suno/wav/record-info?taskId=<TASK_ID>

参数位置类型必填说明
taskIdquerystringWAV 转换任务 ID。

21. 创建音乐视频

POST /api/v2/open/aigc/suno/mp4/generate

参数类型必填说明
taskIdstring音乐生成任务 ID。
audioIdstring要生成视频的音频 ID。
callBackUrlstring任务状态回调地址。
authorstring视频封面展示的作者名,最多 50 字符。
domainNamestring视频底部展示的品牌或站点名,最多 50 字符。

22. 获取音乐视频详情

GET /api/v2/open/aigc/suno/mp4/record-info?taskId=<TASK_ID>

参数位置类型必填说明
taskIdquerystring音乐视频任务 ID。

23. 生成 MIDI

POST /api/v2/open/aigc/suno/midi/generate

参数类型必填说明
taskIdstring已完成人声/乐器分离任务 ID。
callBackUrlstring任务状态回调地址。
audioIdstring要生成 MIDI 的分离音轨 ID;不传时通常处理默认音轨。

24. 获取 MIDI 详情

GET /api/v2/open/aigc/suno/midi/record-info?taskId=<TASK_ID>

参数位置类型必填说明
taskIdquerystringMIDI 任务 ID。

25. 优化音乐风格

POST /api/v2/open/aigc/suno/style/generate

参数类型必填说明
contentstring待优化的风格描述,例如 Pop, Mysterious

响应格式

接口响应保持原始 JSON 格式。创建类接口通常返回 data.taskId,查询类接口通常返回 data.statusdata.responsedata.response.sunoData 等字段。

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "task_xxx"
  }
}