MAPI
音频(Audio)Suno

生成音乐

根据灵感描述或自定义歌词生成完整歌曲。

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。
POST
/v1/music/generations

Authorization

BearerAuth

AuthorizationBearer <token>

使用 MAPI Bearer Token 认证。格式:Authorization: Bearer sk-xxxxxx。

In: header

Request Body

application/json

model*string

固定填写 suno-music。

version?string

公共版本:v6 / v6-wild / v6-mini。与 custom_model_id 至少提供一个;使用自定义模型时省略本字段。

Value in"v6" | "v6-wild" | "v6-mini"
custom_model_id?string

创建自定义模型任务返回的完整 UUID。与 version、persona_id 互斥。与公共版本同价,创建模型本身另收 suno-create-model。

custom?boolean

false 为灵感模式,prompt 作为灵感描述;true 为自定义模式,prompt 作为歌词。默认 false。

Defaultfalse
instrumental?boolean

true 表示生成纯音乐、无人声;默认 false。

Defaultfalse
prompt?string

灵感提示词或歌词。custom=false 时必填(灵感描述,不超过 3000 字符);custom=true 且 instrumental=false 时必填(歌词,不超过 5000 字符);自定义纯音乐可省略。

title?string

歌曲标题,不超过 80 个字符。仅 custom=true 时生效。

style?string

歌曲风格标签,不超过 1000 个字符。仅 custom=true 时生效;本模型使用 style,不是 tags。

negative_tags?string

不希望出现的风格标签。仅 custom=true 时生效。

auto_lyrics?boolean

是否对输入歌词进行二次创作。仅 custom=true 时生效。

persona_id?string

Persona 风格 ID。仅 custom=true 时生效,与 custom_model_id 互斥。

vocal_gender?string

人声性别。支持 Male、Female 以及 m、f、male、female,两种生成模式均生效。

Value in"Male" | "Female" | "m" | "f" | "male" | "female"
style_weight?number

风格权重,范围 0.00–1.00。两种模式下都会校验并生效;数值 0 有效。

Range0 <= value <= 1
weirdness_constraint?number

创意度,范围 0.00–1.00。主生成使用本字段(不是 weirdness)。两种模式下都会校验并生效;数值 0 有效。

Range0 <= value <= 1
audio_weight?number

音频权重,范围 0.00–1.00。两种模式下都会校验并生效;数值 0 有效。

Range0 <= value <= 1
variety?string

风格变化程度。可省略,没有固定默认值。选择 max 不会自动开启 Max 计费。

Value in"off" | "normal" | "high" | "extra" | "max"
max_mode?boolean

是否启用 Max 模式。启用时要求 custom=true,按普通售价 2 倍计费。不支持时不要发送本字段。

Defaultfalse
audio_format?string

输出音频格式。省略时由服务自动选择。

Value in"mp3" | "m4a" | "wav"
duration?integer

目标生成时长,10–360 秒整数,仅 custom=true 时可用。实际成品时长以任务结果为准。

Range10 <= value <= 360

Response 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
}

最后更新于