1. 模型-音乐(Suno)
AiApi114
  • 模型-视频
    • 可灵 图生视频
      POST
    • 可灵 图生视频任务查询
      GET
    • 可灵 文生视频
      POST
    • 可灵 文生视频任务查询
      GET
    • 生成视频
      POST
    • 查询视频任务
      GET
  • 模型-音乐(Suno)
    • 批量查询 Suno 任务
      POST
    • 查询单个 Suno 任务
      GET
    • 提交 Suno 音乐任务
      POST
  • 模型-音频
    • 文本转语音(TTS)
      POST
    • 语音转文本(转写)
      POST
    • 语音翻译为英文文本
      POST
  • 模型-对话
    • 创建对话补全(OpenAI 兼容)
      POST
    • 创建消息(Claude Messages 兼容)
      POST
  • 模型-向量
    • 创建向量嵌入
      POST
  • 模型-图片
    • 编辑图片(图生图)
      POST
    • 生成图片(文生图)
      POST
    • Gemini 图片生成(文生图/图生图)
      POST
  • 模型-重排
    • 文档重排
      POST
  1. 模型-音乐(Suno)

提交 Suno 音乐任务

POST
/suno/submit/{action}

概览#

所有 Suno 音乐任务统一通过 POST /suno/submit/{action} 提交。
提交后返回任务 ID,使用 /suno/fetch 或 /suno/fetch/{id} 查询状态与结果。

支持的动作(action)#

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混合两首音频生成 Mashupsuno-mashup-v5
replace-section替换音乐中指定片段suno-replace-section
convert-wav转换为 WAV 格式suno-wav
generate-midi从分离音频生成 MIDIsuno-midi
create-mp4创建音乐可视化视频suno-mp4
generate-cover生成音乐封面图片suno-cover
vocal-removal人声与伴奏分离suno-vocal-removal

可用模型版本#

suno-music-* 系列:v4、v4.5、v4.5-plus、v4.5-all、v5、v5.5(默认)
suno-extend-* 系列:v4、v4.5、v4.5-plus、v4.5-all、v5、v5.5(默认)
suno-upload-cover-* / suno-upload-extend-*:同 extend
suno-add-instrumental-* / suno-add-vocals-*:v4.5-plus、v5、v5.5(默认)
suno-mashup-*:v4、v4.5、v4.5-plus、v4.5-all、v5(默认)
suno-sounds-v5 / suno-lyrics / suno-replace-section / suno-wav / suno-midi / suno-mp4 / suno-cover / suno-vocal-removal

请求体通用字段#

字段类型说明
modelstring模型名(不传则使用上表默认模型)
callBackUrlstring回调地址(网关自动注入平台回调,用户可省略)
promptstring歌词/描述(各类场景必填条件见下方各场景说明)
stylestring音乐风格/流派
titlestring歌曲标题
customModeboolean自定义模式开关
instrumentalboolean纯音乐标志
audioIdstring音频 ID(从成功任务的 media[].suno_audio_id 获取)
tagsstring音乐风格标签
negativeTagsstring排除的风格/属性
uploadUrlstring上传音频的公开 URL
uploadUrlList[string]Mashup:两首源音频 URL 列表
defaultParamFlagbooleanextend:false=复用源参数,true=自定义
continueAtnumberextend:续写起点(秒)
taskIdstring原始音乐任务 ID(replace-section/convert-wav/cover/mp4/vocal-removal)
infillStartSnumberreplace-section:替换起始秒数
infillEndSnumberreplace-section:替换结束秒数
fullLyricsstringreplace-section:替换后的完整歌词
personaIdstringPersona ID 或 Suno Voice voiceId(可选)
personaModelstringstyle_persona 或 voice_persona(可选)
vocalGenderstring人声性别 m / f(可选)
styleWeightnumber风格遵循度 0.00-1.00(可选)
weirdnessConstraintnumber创意偏离度 0.00-1.00(可选)
audioWeightnumber音频影响权重 0.00-1.00(可选)
soundLoopboolean音效循环播放(可选,仅 sounds)
soundTemponumberBPM 1-300(可选,仅 sounds)
soundKeystring音调(可选,仅 sounds)
grabLyricsboolean获取歌词字幕(可选,仅 sounds)

各场景请求示例#

生成歌曲(generate-music)- customMode=true#

{"model":"suno-music-v5.5","prompt":"A hopeful pop song about finding light","style":"Pop, Warm","title":"Morning Light","customMode":true,"instrumental":false}

生成纯音乐(generate-music)- instrumental=true#

{"model":"suno-music-v5.5","prompt":"Warm cinematic background music","style":"Cinematic","title":"Launch Day","customMode":true,"instrumental":true}

简易模式(generate-music)- customMode=false#

{"model":"suno-music-v5.5","customMode":false,"instrumental":false,"prompt":"A short relaxing piano tune"}

生成音效(generate-sounds)#

{"model":"suno-sounds-v5","prompt":"A clean notification sound, short, bright","soundLoop":false}

生成歌词(generate-lyrics)#

{"model":"suno-lyrics","prompt":"写一首关于夏夜海边、温柔重逢的中文流行歌词"}

延展音乐(extend-music)- 自定义续写#

{"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"}

延展音乐(extend-music)- 沿用源参数#

{"model":"suno-extend-v5.5","audioId":"<suno_audio_id>","defaultParamFlag":false}

上传并重新创作(upload-cover)#

{"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"}

上传并延展(upload-extend)#

{"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"}

添加伴奏(add-instrumental)#

{"model":"suno-add-instrumental-v5.5","uploadUrl":"https://example.com/vocals.mp3","title":"Instrumental Version","tags":"pop, clean instrumental","negativeTags":"noise, distortion"}

添加人声(add-vocals)#

{"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"}

生成 Mashup(generate-mashup)#

{"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}

替换片段(replace-section)#

{"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}

转换 WAV(convert-wav)#

{"model":"suno-wav","taskId":"task_xxx","audioId":"<suno_audio_id>"}

生成 MIDI(generate-midi)- 需先完成人声分离#

{"model":"suno-midi","taskId":"<vocal_removal_task_id>"}

创建音乐视频(create-mp4)#

{"model":"suno-mp4","taskId":"task_xxx","audioId":"<suno_audio_id>"}

生成封面(generate-cover)#

{"model":"suno-cover","taskId":"task_xxx"}

人声分离(vocal-removal)#

{"model":"suno-vocal-removal","taskId":"task_xxx","audioId":"<suno_audio_id>"}

工作流示例:完整音乐创作流程#

1.
生成歌曲 → POST /suno/submit/generate-music → 得到 task_id
2.
轮询结果 → GET /suno/fetch/{task_id} 直到 status=succeeded
3.
获取 audioId → 从响应 data.media[].suno_audio_id 取出音频 ID
4.
延展音乐 → POST /suno/submit/extend-music 用 audioId 续写
5.
转换 WAV → POST /suno/submit/convert-wav 用 taskId+audioId 转无损
6.
创建视频 → POST /suno/submit/create-mp4 用 taskId+audioId 生成视频
7.
人声分离 → POST /suno/submit/vocal-removal 用 taskId+audioId 分离伴奏
8.
生成 MIDI → POST /suno/submit/generate-midi 用分离任务的 taskId 转 MIDI

查询任务状态#

单个查询:GET /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 用于后续编辑操作。

请求参数

Authorization
API Key
在 header 添加参数
Authorization
示例:
Authorization: ********************
or
Path 参数

Header 参数

Body 参数application/json必填

示例

返回响应

🟢200
application/json
提交成功:{code:"success",data:"task_xxx"}
Bodyapplication/json

🟠400
🟠401
🔴500
请求示例请求示例
Shell
JavaScript
Java
Swift
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
}'
响应示例响应示例
200 - 示例 1
{}
上一页
查询单个 Suno 任务
下一页
文本转语音(TTS)
Built with