init → complete,同一个 taskId。
这是免费的 Voice Persona 路径。Clone Voice(/voices)是同一套流程的收费一步封装。对比见 Persona 总览。
在 /generate 里必须传 persona.is_voice: true,并保持同一 Suno 账号。
工作流程
任务状态流
第一步:Init — 上传语音并获取验证短语
上传用户的语音音频。系统将提取人声并返回一段用户需要朗读的验证短语。这是一个异步任务。使用返回的
taskId 轮询获取任务状态。等待状态变为 awaiting(不是 success)。请求
轮询结果(status: awaiting)
当任务达到awaiting 状态时,data 包含:
参见 Init API 参考 →
第二步:Complete — 上传验证录音并创建角色
用户朗读phrase_text 并录制后,使用相同的 taskId 上传验证录音,完成语音验证并创建角色。
使用 init 返回的相同
taskId。调用 complete 后,继续轮询同一个 taskId 直到状态变为 success。请求
参见 Complete API 参考 →
完整示例
错误码
重要说明
- 单一 taskId 生命周期:init 和 complete 使用相同的
taskId— 在整个流程中轮询同一个任务。 awaiting状态:init 完成后,任务状态为awaiting(不是success)。data字段包含供用户朗读的phrase_text。- 30 秒时间限制:任务达到
awaiting后,您必须在 30 秒内调用complete。超时将导致VP_USER_TIMEOUT。 - 简化参数:
complete只需要taskId+ 验证录音 URL + 角色信息。所有中间数据由系统自动填充。 - 同一账户保证:两个阶段自动使用相同的 Suno 账户。
- 语言选择:
language决定验证短语的语言。为获得最佳效果,请选择与原始语音音频匹配的语言。 - 处理时间:Init 大约需要 20-60 秒(包含人声提取);Complete 大约需要 10-30 秒(包含语音验证)。
- 并发安全:系统对每个账户的 Voice Persona 操作进行串行化 — 不同用户的并发请求不会相互干扰。