跳转到主要内容
许多媒体端点是异步的。创建请求开始工作并返回公共 TokenLab 任务标识;您的应用程序轮询直到该任务达到终止状态。请勿围绕上游任务 URL、路由 ID 或提供商回调行为构建客户工作流。

公共任务契约

创建响应可以包括: /v1/tasks/{id} 是公共异步媒体作业的规范固定状态端点。可能存在特定于媒体的状态路由以保持兼容性,但新的集成应优先使用 poll_url/v1/tasks/{id}

推荐流程

  1. 验证用户请求并发送带有显式 model 的创建调用。
  2. 在将控制权返回给 UI 之前,持久化 id / task_idpoll_url、端点、模型、用户 ID 和您自己的作业 ID。
  3. 对于长时间运行的媒体任务,每 5-10s 轮询一次。
  4. 仅在任务为 completedfailed 时停止。
  5. completed 时,读取特定于媒体的结果字段并存储最终 URL 或元数据。
  6. failed 时,存储公共错误,并仅作为新的用户可见作业提供重试。

轮询示例

预期的公共状态为 pendingprocessingcompletedfailed。取消的任务表示为 failed,并带有 cancelled: truecancellation_status: "cancelled",以便旧的状态处理继续有效。

客户端重试规则

网络超时是重复作业的最常见来源。使用以下规则: 不要仅因为浏览器刷新或状态轮询失败而发送第二个创建请求。

计费与结算

异步作业在创建请求被接受时可以保留估计金额。最终结算发生在终止状态之后。当可用时,任务状态响应可以暴露 billing_transaction_idX-Billing-Transaction-ID 头。 对于对账,请在您的日志中连接这些标识符:
  • 来自创建请求的 request_id
  • 来自任务的 task_id / id
  • 当存在时的 billing_transaction_id
  • 您自己的用户 ID、项目 ID 或作业 ID。

取消

DELETE /v1/tasks/{id} 的支持范围有意保持较窄。当前在所选任务支持取消时,可用于排队中的 Seedance 视频任务,例如 seedance-1.5-proseedance-2.0seedance-2.0-fast 不支持的任务返回 400 unsupported_task_cancel。已经运行或处于终止状态的任务返回 409 task_not_cancellable。构建取消 UI 时应为“请求取消”,而不是保证停止按钮。

故障排除

支持包

联系支持时,请包括 request_idtask_idbilling_transaction_id(如有)、端点、模型、时间戳和经过清理的请求形状。除非支持要求提供经过编辑的示例,否则请勿包含 API 密钥、私人媒体、签名 URL 或完整提示。

API 参考