跳到主要内容
TASK HANDLING

正确处理任务状态与错误

稳定的视频接入需要区分处理中状态、最终状态、幂等冲突和临时服务错误。不要根据进度 100 判断成功。

最后更新

任务状态

状态是否终态处理方式
queued否继续轮询
in_progress否继续轮询
completed是停止轮询并使用 metadata.url
failed是停止轮询并记录错误

幂等创建

  • 同一用户、相同 Key 和相同请求体重复提交时,返回或恢复同一任务。
  • 相同 Key 搭配不同请求体返回 409。
  • 创建超时、连接中断或返回 5xx 时,不要立即更换 Key 重新提交。
  • 保留原 Key 并查询任务或联系平台支持确认,避免重复任务和重复扣费。
  • 收到明确的 400、401、403 或 429 后,修正问题可继续使用同一 Key 重试。

HTTP 错误响应

HTTP含义建议
400请求字段、模型或参数不合法按 message 修正请求
401API Key 缺失、无效、停用或过期更换有效 API Key
402余额或额度不足充值或调整额度后重新提交
403模型、账号、分组或访问来源受限检查权限、模型限制和 IP 限制
404任务不存在确认任务 ID
409幂等冲突核对原请求体和幂等键
429提交过快、并发已满或请求限流读取 Retry-After 后等待重试
5xx服务端暂时异常按幂等要求处理并重试
错误响应json
{
  "code": "invalid_request",
  "message": "prompt is required",
  "data": null
}

日志安全

日志只记录 HTTP 状态、响应体、请求时间、公开任务 ID 和请求 ID。不要记录完整 API Key、Authorization 请求头或包含凭据的媒体 URL。

Node.js 轮询示例
用服务端代码处理终态和错误。
安全建议
了解 Key 隔离、额度限制和素材审核。