跳至主要内容

查询任务结果

通过任务 ID 查询处理状态、生成结果、Token 用量和最终扣费。

最后更新: 2026-08-14
本页内容
GET/api/v1/video/task/detail/{taskId}

按任务编号查询当前 API Key 所属用户的异步生成任务。

任务状态

视频生成任务的 status 字段共有且仅有以下 7 种状态。QUEUED、PROCESSING 为自动执行中的非终态;SUCCEEDED、FAILED、EXPIRED 为终态;SUBMIT_UNKNOWN、BILLING_PENDING 为需要管理员对账处理的异常状态。

状态是否终态说明
QUEUED否任务已创建并冻结额度,等待消息投递和处理通道受理。
PROCESSING否处理通道已受理,正在生成或等待下一次轮询。
SUCCEEDED是任务成功并已完成结算,可读取 output、usage 和 billing。
FAILED是任务失败并已释放冻结金额,可读取 error。
EXPIRED是任务超过 executionExpiresAfter 后终止,可读取 error。
SUBMIT_UNKNOWN否(需对账)提交请求可能已到达处理通道但结果不确定;管理员核对后转为 PROCESSING 或 FAILED。
BILLING_PENDING否(需对账)处理通道任务已成功,但资金结算尚未完成;管理员完成对账后转为 SUCCEEDED。
状态流转
QUEUED → PROCESSING → SUCCEEDED
   │          ├────→ FAILED
   │          ├────→ EXPIRED
   │          └────→ BILLING_PENDING → SUCCEEDED
   └───────────────→ SUBMIT_UNKNOWN → PROCESSING / FAILED

响应字段

字段类型出现状态说明
taskIdstring全部EaseRouter 统一任务编号。
statusstring全部数据库保存并原样返回的大写任务状态。
modelstring全部平台模型编码。
outputobjectSUCCEEDED成功结果对象,其他状态不返回。
output.typestringSUCCEEDED当前固定为 VIDEO。
output.resultUrlstringSUCCEEDED 且结果未到期处理通道返回的结果地址;原保留期限到期后省略。
output.lastFrameUrlstringSUCCEEDED 且请求返回尾帧、结果未到期生成视频的最后一帧图片地址;未请求、处理通道未返回或原保留期限到期时省略。
output.expiresAtdatetimeSUCCEEDED 且有值resultUrl 的失效时间;空值会被省略。
usageobject存在原用量记录时原任务记录的 Token 用量;缺失不等于零。
usage.inputTokensinteger原字段已记录时输入 Token;未记录时省略。
usage.outputTokensinteger原字段已记录时输出 Token;未记录时省略。
usage.totalTokensinteger原字段已记录时总 Token;不要从缺失的输入或输出字段推算。
billingobject存在原费用记录时原任务已知费用;是否已完成结算需结合任务及账务状态核对。
billing.currencystringbilling 存在时CNY 表示人民币,POINTS 表示积分;不要将积分当作人民币金额。
billing.chargeAmountstringbilling 存在时原记录费用的十进制字符串,单位由 billing.currency 决定;不要使用二进制浮点累计。
billing.pricePerMillionTokensstring原字段已记录时原创建价格快照中的每百万 Token 单价;V2 响应可省略,不能使用当前价格补造。
errorobject存在原错误记录时原错误对象;未记录时省略,不能仅凭任务状态认定必然存在。
error.codestring异常或失败状态与具体处理通道无关的稳定公开错误码;空值会被省略。
error.messagestring异常或失败状态任务保存的失败说明;空值会被省略。
createdAtdatetime全部任务创建时间。
completedAtdatetime原字段已记录时原任务结束时间;未记录时省略。
requestIdstring全部原任务创建时保存的请求编号。

任务错误码

查询接口本身成功时,顶层 code 仍为 SUCCESS;异步任务错误位于 result.error.code。业务程序应根据 error.code 判断错误类型,error.message 仅用于向用户展示。

错误码对应状态说明
TASK_PROCESSING_FAILEDFAILED任务处理失败,或失败原因无法归入其他稳定错误类型。
PROCESSING_CHANNEL_UNAVAILABLEFAILED处理通道暂时不可用、连接失败、超时或限流。
TASK_STATUS_CONFIRMINGSUBMIT_UNKNOWN任务提交结果正在确认,请稍后重新查询。
TASK_SETTLEMENT_PENDINGBILLING_PENDING任务结算正在确认,请稍后重新查询。
EXECUTION_TIMEOUTEXPIRED任务超过 executionExpiresAfter 指定的执行期限。

排队中任务响应

json
{
  "code": "SUCCESS",
  "msg": "操作成功",
  "result": {
    "taskId": "task_550e8400e29b41d4a71644665544000012345",
    "status": "QUEUED",
    "model": "doubao-seedance-2-0-260128",
    "createdAt": "2026-07-10 09:42:00",
    "requestId": "req_Kf82Lm90"
  }
}

处理中任务响应

json
{
  "code": "SUCCESS",
  "msg": "操作成功",
  "result": {
    "taskId": "task_550e8400e29b41d4a71644665544000012345",
    "status": "PROCESSING",
    "model": "doubao-seedance-2-0-260128",
    "createdAt": "2026-07-10 09:42:00",
    "requestId": "req_Kf82Lm90"
  }
}

成功任务响应

json
{
  "code": "SUCCESS",
  "msg": "操作成功",
  "result": {
    "taskId": "task_550e8400e29b41d4a71644665544000012345",
    "status": "SUCCEEDED",
    "model": "doubao-seedance-2-0-260128",
    "output": {
      "type": "VIDEO",
      "resultUrl": "https://example.com/result.mp4",
      "lastFrameUrl": "https://example.com/last-frame.png",
      "expiresAt": "2026-07-11 09:47:18"
    },
    "usage": {
      "inputTokens": 0,
      "outputTokens": 108900,
      "totalTokens": 108900
    },
    "billing": {
      "currency": "CNY",
      "chargeAmount": "10.01880000",
      "pricePerMillionTokens": "92.00000000"
    },
    "createdAt": "2026-07-10 09:42:00",
    "completedAt": "2026-07-10 09:47:18",
    "requestId": "req_Kf82Lm90"
  }
}

失败任务响应

json
{
  "code": "SUCCESS",
  "msg": "操作成功",
  "result": {
    "taskId": "task_550e8400e29b41d4a71644665544000012345",
    "status": "FAILED",
    "model": "doubao-seedance-2-0-260128",
    "error": {
      "code": "TASK_PROCESSING_FAILED",
      "message": "处理通道未能完成视频生成任务"
    },
    "createdAt": "2026-07-10 10:00:00",
    "completedAt": "2026-07-10 10:01:26",
    "requestId": "req_Pm31Rx72"
  }
}

已过期任务响应

json
{
  "code": "SUCCESS",
  "msg": "操作成功",
  "result": {
    "taskId": "task_550e8400e29b41d4a71644665544000012345",
    "status": "EXPIRED",
    "model": "doubao-seedance-2-0-260128",
    "error": {
      "code": "EXECUTION_TIMEOUT",
      "message": "任务超过执行截止时间"
    },
    "createdAt": "2026-07-10 10:10:00",
    "completedAt": "2026-07-12 10:10:00",
    "requestId": "req_Vn48Ct16"
  }
}

轮询建议

  • 使用递增间隔轮询,避免高频请求。
  • QUEUED 和 PROCESSING 状态继续查询,终态后立即停止轮询。
  • 按业务设置最长等待时间,但不要因此删除任务 ID。
  • 记录 requestId,便于发生异常时定位请求链路。
接入文档
开发者文档