Skip to main content
POST

模型版本

  • 当前模型:V6(默认)、V6_WILD、V6_MINI
  • 已废弃模型:V5_5、V5、V4_5PLUS、V4_5ALL、V4_5、V4
  • 废弃值仅为向后兼容保留,新接入请使用 V6 系列模型。

使用指南

  • 本接口固定为自定义模式,简单模式不可用。
  • 此接口从 2 个上传的音频文件创建混音音乐(上游只取前 2 个)
  • 将多个轨道的元素组合成一个连贯的新作品

参数详情

  • 必填:uploadUrlList、model、callBackUrl
  • uploadUrlList 必须包含 2 个音频文件 URL
  • model(string,必填):V6、V6_WILD、V6_MINI。已废弃:V4、V4_5、V4_5PLUS、V4_5ALL、V5、V5_5。
  • prompt 按歌词语义使用。可选。若同时传入 lyrics,优先使用 lyrics,prompt 不再作为歌词。
  • 字符限制:
    • V4、V4_5、V4_5PLUS、V4_5ALL、V5 和 V5_5(已废弃):prompt 3000–5000字符、style 200–1000字符,按旧模型规则执行。
    • V6、V6_WILD 和 V6_MINI:lyrics/prompt 5000字符,style 1000字符,title 80字符

可选参数

以下字段为可选控制项:
  • lyrics(string):歌词内容。可选。V6 系列最多 5000 字符。优先于 prompt 作为歌词。
  • prompt(string):歌词内容。可选。未传入 lyrics 时作为歌词使用。V6 系列最多 5000 字符。
  • style(string):音乐风格。可选。V6 系列最多 1000 字符。
  • title(string):曲目标题。可选。最多 80 字符。
  • vocalGender(string):偏好人声性别。允许值:m(男)、f(女)
  • styleWeight(number):风格贴合权重,范围 0–1(建议保留两位小数)
  • weirdnessConstraint(number):创造性/新颖度约束,范围 0–1(建议保留两位小数)
  • audioWeight(number):音频一致性相对权重,范围 0–1(建议保留两位小数)
  • variety(number):生成结果的多样性。范围 0–4 的整数,默认 1。0 关闭,1 普通(默认),2 高,3 额外,4 最大。
  • duration(number):音频时长(秒)。范围 10–360。对 V5_5、V6、V6_WILD、V6_MINI 有效。
  • personaId(string):Persona ID 或 Suno Voice 生成的 voiceId。如果使用 Voice 生成的 ID,personaModel 必须设置为 voice_persona。
  • personaModel(string):Persona 类型。生成 Persona 接口返回的 ID 使用 style_persona,Suno Voice 生成的 ID 使用 voice_persona。默认 style_persona。

开发者注意事项

  • 生成的文件将保留14天
  • 回调过程分三个阶段:text(文本生成)、first(第一首完成)、complete(全部完成)
  • uploadUrlList 中的两个音频文件必须是有效且可访问的URL
  • 音频文件应为支持的格式(MP3、WAV等)

授权

Authorization
string
header
必填

🔑 API 认证说明

所有接口都需要通过 Bearer Token 方式进行认证。

获取 API Key

  1. 访问 API Key 管理页面 获取您的 API Key

使用方式

在请求头中添加:

⚠️ 注意:

  • 请妥善保管您的 API Key,不要泄露给他人
  • 如果怀疑 API Key 泄露,请立即在管理页面重置

请求体

application/json
uploadUrlList
string<uri>[]
必填

用于混音的音频文件 URL 数组。必填。传入 2 个音频 URL(上游只取前 2 个)。每个 URL 必须公网可访问。

Required array length: 2 elements
示例:
model
enum<string>
默认值:V6
必填

AI 模型版本。默认值:V6。

  • V6:当前标准模型,推荐默认使用。
  • V6_WILD:当前实验性、创造性更强的模型。
  • V6_MINI:当前轻量模型。
  • 已废弃:V5_5、V5、V4_5PLUS、V4_5ALL、V4_5、V4。这些值仅为向后兼容保留,新接入请使用 V6 系列模型。
可用选项:
V6,
V6_WILD,
V6_MINI,
V5_5,
V5,
V4_5PLUS,
V4_5ALL,
V4_5,
V4
示例:

"V6"

callBackUrl
string<uri>
必填

接收音乐生成任务完成更新的URL。所有音乐生成请求都需要。

  • 系统将在生成完成时向此URL发送POST任务状态和结果
  • 回调过程有三个阶段:text(文本生成)、first(第一首完成)、complete(全部完成)
  • 注意:某些情况可能会跳过 text 和 first 阶段,直接返回 complete
  • 您的回调端点应接受包含任务结果和音频URL的JSON负载的POST请求
  • 详细的回调格式和实现指南,请参见 音乐生成回调
  • 或者,使用获取音乐详情接口来轮询任务状态
示例:

"https://example.com/callback"

prompt
string

歌词内容。可选。未传入 lyrics 时作为歌词使用;若同时传入 lyrics,优先使用 lyrics,本字段不再作为歌词。

  • V4(已废弃):最多 3000 字符
  • V4_5、V4_5PLUS、V4_5ALL、V5、V5_5(已废弃):最多 5000 字符
  • V6、V6_WILD、V6_MINI:最多 5000 字符
示例:

"[Verse] 夜晚城市 灯火辉煌"

lyrics
string

歌词内容。可选。V6、V6_MINI、V6_WILD 最多 5000 字符。优先于 prompt 作为歌词;未传入时使用 prompt 作为歌词。

示例:

"[Verse] 夜晚城市 灯火辉煌"

style
string

音乐风格,例如爵士、古典、电子等。可选。V6、V6_WILD、V6_MINI 最多 1000 字符。

  • V4(已废弃):最多 200 字符
  • V4_5、V4_5PLUS、V4_5ALL、V5、V5_5(已废弃):最多 1000 字符
示例:

"爵士"

title
string

音乐标题。可选。最多 80 字符。

Maximum string length: 80
示例:

"宁静钢琴"

vocalGender
enum<string>

演唱声音的人声性别偏好。可选。m 表示男声,f 表示女声。根据实践,此参数只能增加概率,但不能保证遵循男/女声指令。

可用选项:
m,
f
示例:

"m"

styleWeight
number

风格贴合权重。可选。范围 0–1,建议保留两位小数。

必填范围: 0 <= x <= 1必须是以下数值的倍数 0.01
示例:

0.65

weirdnessConstraint
number

创造性/新颖度约束。可选。范围 0–1,建议保留两位小数。

必填范围: 0 <= x <= 1必须是以下数值的倍数 0.01
示例:

0.65

audioWeight
number

音频一致性与其他控制项的相对权重。可选。范围 0–1,建议保留两位小数。

必填范围: 0 <= x <= 1必须是以下数值的倍数 0.01
示例:

0.65

variety
number
默认值:1

控制生成结果的多样性和风格差异程度。可选。范围 0–4 的整数,默认值为 1。

  • 0:off(exact style),完全关闭,严格用同一风格
  • 1:normal(balanced variety),默认值,在稳定性和多样性之间保持平衡
  • 2:high(distinct styles),生成风格差异明显的结果
  • 3:extra(bold exploration),提供更高程度的变化,鼓励大胆探索不同风格
  • 4:max(unreasonably varied),最大程度增加多样性,生成结果可能具有非常明显的风格差异
必填范围: 0 <= x <= 4必须是以下数值的倍数 1
示例:

1

personaId
string

应用到生成音乐的 Persona ID 或 Voice ID。可选。若使用 Voice 生成的 ID,需将 personaModel 设为 voice_persona。

示例:

"persona_123"

personaModel
enum<string>
默认值:style_persona

Persona 模型类型。可选。style_persona(默认)用于生成 Persona 接口返回的 ID;voice_persona 用于 Suno Voice 生成的 voiceId。默认 style_persona。

可用选项:
style_persona,
voice_persona
示例:

"style_persona"

duration
integer

时长(秒)。可选。范围 10–360。仅当 model 为 V5_5(已废弃)、V6、V6_WILD 或 V6_MINI 时有效。

必填范围: 10 <= x <= 360
示例:

20

回调

POST
{request.body#/callBackUrl}audioGenerated

请求体

application/json
code
integer

状态码

示例:

200

msg
string

返回消息

示例:

"All generated successfully"

data
object

响应

200 - application/json

回调接收成功

code
enum<integer>

响应状态码

  • 200: 成功 - 请求已成功处理
  • 400: 验证错误 - 歌词包含受版权保护的内容。
  • 408: 超出限制 - 超时。
  • 413: 冲突 - 上传的音频与现有艺术作品匹配。
  • 500: 服务器错误 - 处理请求时发生意外错误
  • 501: 音频生成失败。
  • 531: 服务器错误 - 抱歉,由于问题导致生成失败。您的积分已退还。请重试。
可用选项:
200,
400,
408,
413,
500,
501,
531
msg
string

当 code != 200 时的错误信息

示例:

"success"

响应

请求成功

code
enum<integer>

响应状态码

  • 200: 成功 - 请求已成功处理
  • 401: 未授权 - 身份验证凭据缺失或无效
  • 402: 积分不足 - 账户没有足够的积分执行此操作
  • 404: 未找到 - 请求的资源或端点不存在
  • 409: 冲突 - WAV 记录已存在
  • 422: 验证错误 - 请求参数未通过验证检查
  • 429: 超出限制 - 已超过对此资源的请求限制
  • 451: 未授权 - 获取图像失败。请验证您或您的服务提供商设置的任何访问限制。
  • 455: 服务不可用 - 系统当前正在进行维护
  • 500: 服务器错误 - 处理请求时发生意外错误
可用选项:
200,
401,
402,
404,
409,
422,
429,
451,
455,
500
msg
string

当 code != 200 时的错误信息

示例:

"success"

data
object