• 从音频里提取音色,生成可复用的声音,异步任务
  • 与 Persona 不同:本接口直接接收音频 URL,不用 task_id
  • 结果按实际返回展示,不要当 persona_id 用
POST/v1/music/generations/createVoice

认证

string必填

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

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

请求时在请求头中添加:

Authorization: Bearer YOUR_OAIRoute_KEY

请求参数

string可选

音频模型,当前只支持 suno。

string必填

源音轨的公网可访问 URL,系统据此提取音色。

仅接受 MP3 与 WAV。缺失时报 400。

与其他引用方式的区别

本接口是音频类接口里的一个例外:

接口引用方式
大多数 suno 操作task_id + audio_index
创建语音(本页)直接给 audio_url

所以这里不需要 task_id,也不需要 audio_index。传了不生效。

本端点没有版本维度,传 version 会被忽略。

响应

integer

响应状态码。

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

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

string

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

响应里没有固定的 voice_id 字段。请按实际返回展示,不要把它当 persona_id 使用——两者是不同概念,persona_id 用于绑定演唱风格,这里的产出是音色。

取结果

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

完成后的结构以实际返回为准。第一次接入时先打印整个 result 看字段名,再写解析逻辑。

错误

HTTPtype说明
400invalid_request_error参数无效,如 audio_url 缺失或格式不是 MP3/WAV
401authentication_error身份验证失败
402payment_required账户余额不足
429rate_limit_error请求过于频繁

更多状态码与重试建议见错误码与限流,常见报错的排查步骤见常见问题。

使用示例

提交一个任务并拿到 task_id:

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