POST /suno/submit/{action} 提交。/suno/fetch 或 /suno/fetch/{id} 查询状态与结果。| action | 功能 | 默认模型 |
|---|---|---|
generate-music | 生成歌曲/纯音乐 | suno-music-v5.5 |
generate-lyrics | 生成歌词(仅文本) | suno-lyrics |
generate-sounds | 生成音效 | suno-sounds-v5 |
extend-music | 延展已有音乐 | suno-extend-v5.5 |
upload-cover | 上传音频重新创作 | suno-upload-cover-v5.5 |
upload-extend | 上传音频并延展 | suno-upload-extend-v5.5 |
add-instrumental | 为音频添加伴奏 | suno-add-instrumental-v5.5 |
add-vocals | 为伴奏添加人声 | suno-add-vocals-v5.5 |
generate-mashup | 混合两首音频生成 Mashup | suno-mashup-v5 |
replace-section | 替换音乐中指定片段 | suno-replace-section |
convert-wav | 转换为 WAV 格式 | suno-wav |
generate-midi | 从分离音频生成 MIDI | suno-midi |
create-mp4 | 创建音乐可视化视频 | suno-mp4 |
generate-cover | 生成音乐封面图片 | suno-cover |
vocal-removal | 人声与伴奏分离 | suno-vocal-removal |
| 字段 | 类型 | 说明 |
|---|---|---|
model | string | 模型名(不传则使用上表默认模型) |
callBackUrl | string | 回调地址(网关自动注入平台回调,用户可省略) |
prompt | string | 歌词/描述(各类场景必填条件见下方各场景说明) |
style | string | 音乐风格/流派 |
title | string | 歌曲标题 |
customMode | boolean | 自定义模式开关 |
instrumental | boolean | 纯音乐标志 |
audioId | string | 音频 ID(从成功任务的 media[].suno_audio_id 获取) |
tags | string | 音乐风格标签 |
negativeTags | string | 排除的风格/属性 |
uploadUrl | string | 上传音频的公开 URL |
uploadUrlList | [string] | Mashup:两首源音频 URL 列表 |
defaultParamFlag | boolean | extend:false=复用源参数,true=自定义 |
continueAt | number | extend:续写起点(秒) |
taskId | string | 原始音乐任务 ID(replace-section/convert-wav/cover/mp4/vocal-removal) |
infillStartS | number | replace-section:替换起始秒数 |
infillEndS | number | replace-section:替换结束秒数 |
fullLyrics | string | replace-section:替换后的完整歌词 |
personaId | string | Persona ID 或 Suno Voice voiceId(可选) |
personaModel | string | style_persona 或 voice_persona(可选) |
vocalGender | string | 人声性别 m / f(可选) |
styleWeight | number | 风格遵循度 0.00-1.00(可选) |
weirdnessConstraint | number | 创意偏离度 0.00-1.00(可选) |
audioWeight | number | 音频影响权重 0.00-1.00(可选) |
soundLoop | boolean | 音效循环播放(可选,仅 sounds) |
soundTempo | number | BPM 1-300(可选,仅 sounds) |
soundKey | string | 音调(可选,仅 sounds) |
grabLyrics | boolean | 获取歌词字幕(可选,仅 sounds) |
{"model":"suno-music-v5.5","prompt":"A hopeful pop song about finding light","style":"Pop, Warm","title":"Morning Light","customMode":true,"instrumental":false}{"model":"suno-music-v5.5","prompt":"Warm cinematic background music","style":"Cinematic","title":"Launch Day","customMode":true,"instrumental":true}{"model":"suno-music-v5.5","customMode":false,"instrumental":false,"prompt":"A short relaxing piano tune"}{"model":"suno-sounds-v5","prompt":"A clean notification sound, short, bright","soundLoop":false}{"model":"suno-lyrics","prompt":"写一首关于夏夜海边、温柔重逢的中文流行歌词"}{"model":"suno-extend-v5.5","audioId":"<suno_audio_id>","defaultParamFlag":true,"continueAt":60,"prompt":"Continue with a brighter chorus","style":"Pop Rock","title":"Brighter Chorus"}{"model":"suno-extend-v5.5","audioId":"<suno_audio_id>","defaultParamFlag":false}{"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"}{"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"}{"model":"suno-add-instrumental-v5.5","uploadUrl":"https://example.com/vocals.mp3","title":"Instrumental Version","tags":"pop, clean instrumental","negativeTags":"noise, distortion"}{"model":"suno-add-vocals-v5.5","uploadUrl":"https://example.com/instrumental.mp3","prompt":"Add a gentle female vocal","title":"Vocal Version","style":"Soft Pop","negativeTags":"noise, distortion"}{"model":"suno-mashup-v5","uploadUrlList":["https://example.com/source-a.mp3","https://example.com/source-b.mp3"],"customMode":true,"prompt":"Blend the melodies into an upbeat electronic track","style":"Electronic Pop","title":"Two Lights","instrumental":false}{"model":"suno-replace-section","taskId":"task_xxx","audioId":"<suno_audio_id>","prompt":"Replace this section with a brighter hook","tags":"pop, bright hook","title":"Updated Hook","fullLyrics":"[Verse] ... [Chorus] ...","infillStartS":45,"infillEndS":75}{"model":"suno-wav","taskId":"task_xxx","audioId":"<suno_audio_id>"}{"model":"suno-midi","taskId":"<vocal_removal_task_id>"}{"model":"suno-mp4","taskId":"task_xxx","audioId":"<suno_audio_id>"}{"model":"suno-cover","taskId":"task_xxx"}{"model":"suno-vocal-removal","taskId":"task_xxx","audioId":"<suno_audio_id>"}POST /suno/submit/generate-music → 得到 task_idGET /suno/fetch/{task_id} 直到 status=succeededdata.media[].suno_audio_id 取出音频 IDPOST /suno/submit/extend-music 用 audioId 续写POST /suno/submit/convert-wav 用 taskId+audioId 转无损POST /suno/submit/create-mp4 用 taskId+audioId 生成视频POST /suno/submit/vocal-removal 用 taskId+audioId 分离伴奏POST /suno/submit/generate-midi 用分离任务的 taskId 转 MIDIGET /suno/fetch/{task_id}POST /suno/fetch body: {"ids":["task_id1","task_id2"]}pending/SUBMITTED(等待中)、running/QUEUED/IN_PROGRESS(处理中)、succeeded/SUCCESS(成功)、failed/FAILURE(失败)、cancelled(已取消)。data.media[] 中,suno_audio_id 用于后续编辑操作。curl --location 'https://aiapi114.com/suno/submit/' \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"audioId": "string",
"audioWeight": 0,
"callBackUrl": "string",
"continueAt": 0,
"customMode": true,
"defaultParamFlag": true,
"extra": {
"property1": "string",
"property2": "string"
},
"fullLyrics": "string",
"grabLyrics": true,
"infillEndS": 0,
"infillStartS": 0,
"instrumental": true,
"model": "string",
"negativeTags": "string",
"personaId": "string",
"personaModel": "string",
"prompt": "string",
"soundKey": "string",
"soundLoop": true,
"soundTempo": 0,
"style": "string",
"styleWeight": 0,
"tags": "string",
"taskId": "string",
"title": "string",
"uploadUrl": "string",
"uploadUrlList": [
"string"
],
"vocalGender": "string",
"weirdnessConstraint": 0
}'{}