Skip to main content
GET
/
v1
/
videos
/
{video_id}
cURL
curl https://api.deerapi.com/v1/videos/<VIDEO_ID> \
  -H "Authorization: Bearer <DEERAPI_KEY>"
{
  "id": "video_veo3_01jv7g6f1q0x7c2g0t8m4f8p4a",
  "object": "video",
  "created_at": 1773283200,
  "status": "completed",
  "completed_at": 1773283538,
  "error": null,
  "expires_at": 1773287138,
  "model": "veo3.1-pro",
  "progress": 100,
  "remixed_from_video_id": null,
  "seconds": "8",
  "size": "16x9"
}

这条接口查谁

当前页只用于查询 veo3 逆向异步 创建出来的任务。 如果你走的是 veo3-chat 格式,不要来这里查。veo3-chat 默认把结果放在流式日志或最终 assistant 消息里,而不是当前页约定的 video_id 轮询链路。

推荐的轮询方式

  1. 创建任务后保存返回的 video_id
  2. 每隔 10 到 20 秒调用一次当前页。
  3. 当任务进入终态后,再处理结果或下载逻辑。
对大多数接入方来说,最重要的字段是:
  • status:当前任务状态,例如 queuedin_progresscompletedfailed
  • progress:大致完成度,用于前端进度展示。
  • error:失败时查看原因。
  • expires_at:如果返回了资源过期时间,说明你需要尽快保存结果。

这和 Google 官方 Veo 查询有什么不同

Google 官方 Veo 轮询的是 operation,通常需要通过 operations.get 检查 done。当前页则统一成 GET /v1/videos/\{video_id\},适合把不同供应商的视频模型放到同一套查询代码里处理。 换句话说:
  • Google 官方查的是 operation.name
  • DeerAPI 当前页查的是 video_id
  • Google 官方返回的是 operation.response.generated_videos 一类结构;当前页返回的是 DeerAPI 统一视频任务对象。

常见限制

  • video_id 必须来自 veo3 逆向异步。如果传错格式,最常见的结果就是 not found。
  • 任务未完成时,不要假设一定已经有可下载结果。
  • 如果你的业务非常依赖稳定的显式轮询,请优先沿用当前异步链路,不要把 chat 格式和异步格式混在同一套查询逻辑里。

Authorizations

Authorization
string
header
required

Use your DeerAPI key as a Bearer token.

Path Parameters

video_id
string
required

创建 veo3 异步任务时返回的 video_id

Response

查询成功

id
string
required

视频任务 ID。

object
string
required

对象类型,通常是 video

created_at
integer
required

任务创建时间,Unix 时间戳,单位为秒。

status
enum<string>
required
Available options:
queued,
in_progress,
completed,
failed
model
string
required
progress
integer
required
Required range: 0 <= x <= 100
seconds
string
required
size
string
required
completed_at
integer | null
error
object
expires_at
integer | null
remixed_from_video_id
string | null