API v1

任务状态与结果

任务状态的含义、轮询和回调两种取结果方式、下载结果和取消任务。

查看 Markdown
本页内容

创建任务后,用任务 ID 查询进度和结果,或者等回调通知。

任务状态

任务处于 processing 时,phase 说明当前阶段:准备素材、等待处理、准备生成、生成中、确认结果中、整理结果、等待结算。全部取值见「状态与原因」。

三个状态字段

字段说明
status任务执行状态,终态是 succeeded、failed 和 cancelled。
delivery_status结果文件的交付进度,available 时可以下载。
settlement_status费用结算进度,settled 后费用确定。

轮询

每隔几秒查询一次,直到 status 变成终态:

curl --request GET "${CHENVOYA_BASE_URL}/v1/video/tasks/${TASK_ID}" \
  --header "Authorization: Bearer ${CHENVOYA_API_KEY}"

回调

在控制台登记并验证回调地址后,创建任务时传 callback_url,任务结束会收到 task.completed。通知不含下载地址,收到后再查询一次任务。详见「接收回调」。

下载结果

成功的任务在 output.assets 里列出结果文件,role 为 result。url 是 HTTPS 下载地址,每次查询任务都会重新签发,最长 24 小时有效,且不晚于 expires_at(默认结果准备好后 7 天);过期或暂不可用时 url 为空,download_status 说明原因。请在有效期内下载到自己的存储。

curl --output video.mp4 "$VIDEO_URL"

列出任务

GET /v1/video/tasks 列出团队的全部任务,不限于创建任务的那一把 API 密钥,按创建时间从新到旧排列。列表只含标识、模型、状态和时间;用量、费用、结果和错误请按任务 ID 查询。

curl --request GET "${CHENVOYA_BASE_URL}/v1/video/tasks" \
  --header "Authorization: Bearer ${CHENVOYA_API_KEY}"

取消任务

POST /v1/video/tasks/{task_id}/cancel 需要 Idempotency-Key,请求体为空。

  • 生成开始前取消立即生效:返回 effective,任务变为 cancelled,预留全额释放。
  • 生成开始后返回 not_effective,原因码 generation_already_started,任务继续生成并照常结算。
  • 已经结束、又没有取消操作的任务返回 409 task_not_cancellable。
IDEMPOTENCY_KEY=${IDEMPOTENCY_KEY:-$(uuidgen)}
printf '%s\n' "保存 IDEMPOTENCY_KEY,重试时原样复用:${IDEMPOTENCY_KEY}" >&2
curl --request POST "${CHENVOYA_BASE_URL}/v1/video/tasks/${TASK_ID}/cancel" \
  --header "Authorization: Bearer ${CHENVOYA_API_KEY}" \
  --header "Idempotency-Key: ${IDEMPOTENCY_KEY}"

失败原因

失败的任务在 error.code 里给出原因,例如素材下载失败的 input_fetch_failed、生成失败的 generation_failed。全部取值见「状态与原因」。失败或取消的任务结算后费用为零。

下一步