# 查询视频任务（OpenAI Video 兼容）
> OpenAI 官方路径，返回扁平的视频对象
> 旧版兼容路径 `/v1/video/generations/{task_id}` 多一层 `{ code, message, data }` 信封
> 供遵循 OpenAI Video API 路径约定的客户端使用
`GET /v1/videos/{task_id}`
## 认证
- `Authorization` (string / 必填) — 所有接口均使用 Bearer Token 进行认证。 Seedance 系列的接口需要在 [ark 站](https://ark.oairoute.com/) 单独获取 Key，与 api 站的 Key 不通用。 请求时在请求头中添加： ```http Authorization: Bearer YOUR_ARK_KEY ```
## 与 `/v1/video/generations/{task_id}` 的关系
两条路径查询的是同一个任务，差别在响应外壳：`/v1/videos/{task_id}` 直接返回扁平对象（本页），`/v1/video/generations/{task_id}` 把同一个对象包在 `data` 里，并沿用 `QUEUED`、`IN_PROGRESS`、`SUCCESS`、`FAILURE` 这组状态值。字段含义两边一致，选一条固定下来即可，不要在同一条链路里混用。
完整字段说明见[查询视频任务（OpenAI 兼容）](openai-task.html)。
## 路径参数
- `task_id` (string / 必填) — 提交任务时返回的任务 ID。
## 响应
| 字段 | 说明 |
|---|---|
| `id` | 任务 ID |
| `object` | 固定为 `video` |
| `model` | 实际使用的模型 |
| `status` | `queued`、`in_progress`、`completed`、`failed` |
| `progress` | 进度百分比，整数 0 到 100 |
| `created_at` | 创建时间，Unix 秒 |
| `completed_at` | 结束时间，Unix 秒，`completed` 后出现 |
| `video_url` | 成片直链，`completed` 后出现 |
| `last_frame_url` | 末帧图片地址，上游产出末帧时才有；两者都是带签名的临时地址 |
| `data` | 上游返回的原始任务快照，结构与原生查询接口一致 |
| `error` | 失败时的错误码与描述 |
## 错误码
| HTTP | 含义 |
|---|---|
| 401 | Token 缺失或无效，type 为 authentication_error |
更多状态码与重试建议见[错误码与限流](../../support/errors.html)，常见报错的排查步骤见[常见问题](../../support/faq.html)。
## 使用示例
**排队中{Queued}::cURL**
```
curl --request GET \
  --url https://ark.oairoute.com/v1/videos/task_abc123def456 \
  --header 'Authorization: Bearer YOUR_ARK_KEY'
```
**排队中{Queued}::Python**
```
import requests
url = "https://ark.oairoute.com/v1/videos/task_abc123def456"
headers = {"Authorization": "Bearer YOUR_ARK_KEY"}
res = requests.get(url, headers=headers)
print(res.json())
```
**排队中{Queued}::JavaScript**
```
const res = await fetch("https://ark.oairoute.com/v1/videos/task_abc123def456", {
  headers: { Authorization: "Bearer YOUR_ARK_KEY" },
});
console.log(await res.json());
```
**200 排队中{Queued}**
```
{
  "id": "task_abc123def456",
  "object": "video",
  "model": "seedance-2.5",
  "status": "queued",
  "progress": 0,
  "created_at": 1763088289
}
```
**生成中{In progress}::cURL**
```
curl --request GET \
  --url https://ark.oairoute.com/v1/videos/task_abc123def456 \
  --header 'Authorization: Bearer YOUR_ARK_KEY'
```
**生成中{In progress}::Python**
```
import requests
url = "https://ark.oairoute.com/v1/videos/task_abc123def456"
headers = {"Authorization": "Bearer YOUR_ARK_KEY"}
res = requests.get(url, headers=headers)
print(res.json())
```
**生成中{In progress}::JavaScript**
```
const res = await fetch("https://ark.oairoute.com/v1/videos/task_abc123def456", {
  headers: { Authorization: "Bearer YOUR_ARK_KEY" },
});
console.log(await res.json());
```
**200 生成中{In progress}**
```
{
  "id": "task_abc123def456",
  "object": "video",
  "model": "seedance-2.5",
  "status": "in_progress",
  "progress": 50,
  "created_at": 1763088289
}
```
**已完成{Completed}::cURL**
```
curl --request GET \
  --url https://ark.oairoute.com/v1/videos/task_abc123def456 \
  --header 'Authorization: Bearer YOUR_ARK_KEY'
```
**已完成{Completed}::Python**
```
import requests
url = "https://ark.oairoute.com/v1/videos/task_abc123def456"
headers = {"Authorization": "Bearer YOUR_ARK_KEY"}
res = requests.get(url, headers=headers)
print(res.json())
```
**已完成{Completed}::JavaScript**
```
const res = await fetch("https://ark.oairoute.com/v1/videos/task_abc123def456", {
  headers: { Authorization: "Bearer YOUR_ARK_KEY" },
});
console.log(await res.json());
```
**200 已完成{Completed}**
```
{
  "id": "task_abc123def456",
  "object": "video",
  "model": "seedance-2.5",
  "status": "completed",
  "progress": 100,
  "created_at": 1763088289,
  "completed_at": 1763088400,
  "video_url": "https://cdn.example.com/videos/output-abc123.mp4",
  "last_frame_url": "https://cdn.example.com/videos/output-abc123_last-frame.png",
  "data": {
    "id": "cgt-20261104203557-7z0tq",
    "model": "doubao-seedance-2-5-260628",
    "status": "succeeded",
    "content": {
      "video_url": "https://cdn.example.com/videos/output-abc123.mp4",
      "last_frame_url": "https://cdn.example.com/videos/output-abc123_last-frame.png"
    },
    "seed": 42,
    "resolution": "1080p",
    "duration": 5,
    "ratio": "16:9",
    "usage": {
      "total_tokens": 108900,
      "completion_tokens": 108900
    }
  }
}
```
