生成音乐
根据灵感描述或自定义歌词生成完整歌曲。
custom 只决定文本字段是否生效,不是「写错模式就静默忽略、不报错」:
custom=false(默认,灵感):prompt作灵感描述;title、style、negative_tags、auto_lyrics、persona_id不生效。custom=true(自定义):prompt作歌词;上述文本字段生效。style_weight、weirdness_constraint、audio_weight、vocal_gender两种模式都会校验并生效。越界直接 400,不会静默丢掉。
本模型用 style 表示风格标签,不是其他模型的 tags。创意度字段是 weirdness_constraint,不是 weirdness。
version(v6/v6-wild/v6-mini)与custom_model_id至少提供一个,不能同时发送。只用自定义模型时不要传version。persona_id与custom_model_id互斥。custom=false时prompt必填(≤3000);custom=true且instrumental=false时prompt必填(歌词 ≤5000);自定义纯音乐可省略歌词。max_mode=true要求custom=true,按普通售价 2 倍计费。variety: "max"不会触发 Max 计费。duration仅custom=true,范围 10–360 秒。实际成品时长以任务结果为准。- 提交接口:
POST /v1/music/generations,model: "suno-music"。 - 任务查询:
GET /v1/music/generations/{task_id}。完成后从result.music[]取audio_url。
Authorization
BearerAuth
使用 MAPI Bearer Token 认证。格式:Authorization: Bearer sk-xxxxxx。
In: header
Request Body
application/json
固定填写 suno-music。
公共版本:v6 / v6-wild / v6-mini。与 custom_model_id 至少提供一个;使用自定义模型时省略本字段。
"v6" | "v6-wild" | "v6-mini"创建自定义模型任务返回的完整 UUID。与 version、persona_id 互斥。与公共版本同价,创建模型本身另收 suno-create-model。
false 为灵感模式,prompt 作为灵感描述;true 为自定义模式,prompt 作为歌词。默认 false。
falsetrue 表示生成纯音乐、无人声;默认 false。
false灵感提示词或歌词。custom=false 时必填(灵感描述,不超过 3000 字符);custom=true 且 instrumental=false 时必填(歌词,不超过 5000 字符);自定义纯音乐可省略。
歌曲标题,不超过 80 个字符。仅 custom=true 时生效。
歌曲风格标签,不超过 1000 个字符。仅 custom=true 时生效;本模型使用 style,不是 tags。
不希望出现的风格标签。仅 custom=true 时生效。
是否对输入歌词进行二次创作。仅 custom=true 时生效。
Persona 风格 ID。仅 custom=true 时生效,与 custom_model_id 互斥。
人声性别。支持 Male、Female 以及 m、f、male、female,两种生成模式均生效。
"Male" | "Female" | "m" | "f" | "male" | "female"风格权重,范围 0.00–1.00。两种模式下都会校验并生效;数值 0 有效。
0 <= value <= 1创意度,范围 0.00–1.00。主生成使用本字段(不是 weirdness)。两种模式下都会校验并生效;数值 0 有效。
0 <= value <= 1音频权重,范围 0.00–1.00。两种模式下都会校验并生效;数值 0 有效。
0 <= value <= 1风格变化程度。可省略,没有固定默认值。选择 max 不会自动开启 Max 计费。
"off" | "normal" | "high" | "extra" | "max"是否启用 Max 模式。启用时要求 custom=true,按普通售价 2 倍计费。不支持时不要发送本字段。
false输出音频格式。省略时由服务自动选择。
"mp3" | "m4a" | "wav"目标生成时长,10–360 秒整数,仅 custom=true 时可用。实际成品时长以任务结果为准。
10 <= value <= 360Response Body
application/json
application/json
curl -X POST "https://loading/v1/music/generations" \ -H "Content-Type: application/json" \ -d '{ "model": "suno-music", "version": "v6", "custom": false, "prompt": "深夜城市 lo-fi 钢琴配雨声" }'{
"code": 200,
"message": "success",
"data": [
{
"status": "submitted",
"task_id": "task_aehCmxJ5YUNOIQGgkhvxaco4T9P2h3Dw"
}
]
}{
"code": "invalid_request",
"message": "suno-music requires either version (v6/v6-wild/v6-mini) or custom_model_id",
"data": null
}最后更新于