跳转到主要内容
音乐生成是异步的。 POST /v1/music/generations 创建一个公共的 TokenLab 任务并返回 id / task_idstatus,通常还有 poll_url。您的应用程序应存储该任务标识,显示进度,并轮询直到达到终态。

选择工作流程

在发布硬编码模型列表之前查询当前模型目录:
当前公共示例使用 suno_music 进行音乐生成,并在 mv 中传入 chirp-v4 等官方 Suno 模型版本。对于仅歌词的流程,发送 action: "LYRICS" 与模型说明文档中包含歌词生成的模型,并省略 mv。将模型 ID 视为公共 TokenLab ID,而不是保证供应商特定字段是公共契约字段。

创建音乐任务

保持提示、标题和标签对用户可见且安全存储。不要在任何提示字段中放置 API 密钥、私有 URL 或私有调试信息。

轮询完成状态

首先使用 poll_url。如果您的客户端需要固定路由,请使用返回的 idtask_id 调用 GET /v1/tasks/{id}

响应结构

创建接口返回的是可轮询的任务记录,不是最终音频:
轮询到完成后,响应可以包含最终媒体字段:
最终媒体字段只会在 statuscompleted 后出现。失败任务会返回 status: "failed",并携带 error 预期的公共状态为 pendingprocessingcompletedfailed。完成的音乐任务可以包括 audio_urlvideo_urltitlelyrics 和标准化元数据。将最终 URL 存储在您自己的数据库中,以便用户可以在不重新生成的情况下重新打开结果。

用户界面和状态处理

  • 在任务创建后立即显示待处理状态。
  • 对于长任务每 5-10s 轮询一次,然后在 completedfailed 时停止。
  • 在任务 completed 且存在 audio_url 之前,不要显示最终播放器。
  • 对于仅歌词的任务,将文本输出与音频任务分开渲染,以便用户理解他们所购买的内容。
  • 刷新时,从存储的 task_id 恢复,而不是创建新任务。

计费和对账

音乐任务可以在创建时保留估计金额,并在知道终态后结算。存储 request_idtask_id、模型、端点和 billing_transaction_id,当它出现时。使用管理 API 使用记录进行对账,而不是供应商任务 ID。

常见错误

API 参考