code/data/works,视频使用 OpenAI Video 对象。
图片任务查询接口
- 图片异步模型
- 其他走统一任务中心的异步能力
- 响应体
code:成功查询时为数字200。 data.task_id:提交接口返回的公开任务 ID。data.status:submitted、processing、succeeded或failed。data.works[]:有序图片作品数组。data.works[].asset_url:平台稳定化后的图片地址。data.fail_reason:仅任务失败时返回的公开失败原因。
works始终是数组,一张图片也返回一个元素的数组;协议允许一次任务返回多个作品。images是提交请求中的参考图数组,works是任务查询中的输出作品数组。asset_url始终表示平台可直接使用的稳定结果地址,不暴露上游临时 URL。- 查询到失败任务仍属于查询成功,HTTP 状态码和响应体
code都是200;通过data.status=failed判断任务终态。 - 鉴权失败、请求参数错误、任务不存在或服务异常使用对应 HTTP 状态码。
- 文档站只描述图片正式对外字段;旧版图片响应中暂时保留的
result_url、progress或内部任务字段不属于图片主协议。视频的result_url则是完成结果的正式主字段,不能与图片规则混用。
视频任务查询接口
id:提交响应返回的公开视频任务 ID,查询路径中的{task_id}使用该值。object:固定为video。model:本次任务使用的逻辑模型名称。status:只允许queued、in_progress、completed或failed。progress:整数进度,通常为0到100。result_url:任务完成后的结果视频地址。metadata.url:实现提供的补充结果地址,与result_url相同;接入方应优先读取顶层result_url。error:失败任务的结构化错误信息。fail_reason:失败任务的公开失败原因。
gemini-omni-flash的default / standard两组都统一走GET /v1/videos/{task_id}查询结果。- 当前所有视频逻辑模型统一使用同一个查询接口,不需要按模型实现差异区分轮询地址。
- 视频任务处于
queued或in_progress时继续轮询;不要使用图片任务的processing状态判断视频进度。 - 视频任务查询成功时,统一从顶层
result_url读取结果地址;metadata.url是同一地址的补充字段。 - 失败任务使用顶层
error和fail_reason说明原因;失败状态仍是合法的任务查询结果。
典型流程
- 调用生成接口
- 获取任务 ID
- 根据模型类型选择对应查询接口
- 图片任务成功后遍历
data.works[];视频任务成功后读取顶层result_url
常见状态
图片任务
submittedprocessingsucceededfailed
视频任务
queuedin_progresscompletedfailed
轮询建议
- 首次查询建议在提交后数秒开始。
- 轮询间隔建议控制在 2 到 5 秒。
- 任务结束后停止轮询,避免无效请求。