• 用一段音频样本扩展成完整歌曲,异步任务
  • 源音轨必须来自上传接口
  • 用 start_s 与 end_s 框出采样区间
POST/v1/music/generations/sample

认证

string必填

所有接口均使用 Bearer Token 进行认证。

获取 API Key:访问控制台 创建。

请求时在请求头中添加:

Authorization: Bearer YOUR_OAIRoute_KEY

引用源音轨

string必填

产出源音轨的那次任务的 ID。必须是 uploadTask 上传任务,否则提交期返回 400。

integer可选

引用源任务 data.result.music[] 中的第几首,默认 1,从 1 开始。一次生成通常 2 首。

采样区间

number必填

采样起点,单位秒。缺失即 400。

number必填

采样终点,单位秒。须满足 0 ≤ start_s < end_s,源时长已知时不能越界。

生成参数

boolean可选

true 为纯器乐、无人声,默认 false。

string可选

音频模型,默认 suno。

string可选

可选 v6(默认)、v6-wild、v6-mini。与 custom_model_id 互斥。

string可选

自建模型任务返回的完整 UUID,与 version 互斥。

boolean可选

true 为自定义模式(prompt 当歌词);false 为灵感模式(用 gpt_description)。不传则后端按内容推断。

string条件必填

custom=true 且 instrumental=false 时必须给歌词。

灵感模式下不生效,但提交的值仍须满足长度要求。

string条件必填

灵感提示词。custom=false 时必填,缺失则提交期 400 且不扣费。

string可选

标题,仅 custom=true 生效。

string可选

风格标签,仅 custom=true 生效。

string可选

要排除的风格标签,仅 custom=true 生效。

boolean可选

true 表示对输入歌词二次创作,仅 custom=true 生效。

number可选

取值 0.00 到 1.00,越界直接 400,仅 custom=true 生效。

number可选

创意权重,0.00 到 1.00。兼容旧名 weirdness_constraint。

number可选

0.00 到 1.00,仅 custom=true 生效。

string可选

Male 或 Female,两种模式都生效。

string可选

风格变化程度:off、normal、high、extra、max。

boolean可选

Max 模式,默认 false。要求自定义模式,按普通售价 2 倍计费。

string可选

输出格式 mp3、m4a、wav。本接口无目标时长字段。

响应

integer

响应状态码。

data[] 的元素字段 · 2 项
string

任务状态,提交成功为 submitted。

string

任务唯一标识,用于轮询结果。

取结果

轮询 GET /v1/music/tasks/{task_id},间隔 3 到 5 秒,直到状态为 completed 或 failed。

string

取值 pending、processing、completed、failed。

integer

0 到 100 的整数,不保证按固定节点变化。

result.music[] 的元素字段
string

完成后从中取生成的音频地址。

error 的元素字段
string

失败原因。预扣额度自动退回。

采样技巧

采样区间决定了模型能听到多少「素材」:

采样长度效果
3 秒以内只能抓到一小段动机,成品与原素材关联很弱
5 到 15 秒最常用,能抓住旋律与音色特征
30 秒以上更接近改编,成品会明显带有原曲影子

采样区间是从上传的源音频里取,不是从生成结果里取。所以 task_id 必须是 uploadTask 的产物。

错误码

错误响应的格式、状态码与重试建议见错误码与限流,常见报错的排查步骤见常见问题。

使用示例

提交一个任务并拿到 task_id:

提交成功只表示任务已受理。真正的产物要拿返回的 task_id 去任务查询接口轮询,status 变成 completed 之后才有结果。