> ## Documentation Index
> Fetch the complete documentation index at: https://docs.haitoken.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 万相查询视频任务

> 查询阿里万相兼容视频任务的状态与生成结果

使用创建任务时返回的 `output.task_id` 查询状态。响应保持阿里万相协议字段，成功后可从 `output.video_url` 获取视频地址。

<Warning>
  任务和 `video_url` 均只保留 24 小时。任务成功后请及时下载并转存视频。
</Warning>

## 轮询示例

```python Python theme={null}
import time
import requests

task_id = "cgt-20260730120000-a1b2c3"
url = f"https://api.haitoken.ai/v1/alibaba/video/generations/{task_id}"
headers = {"Authorization": "Bearer YOUR_API_KEY"}

while True:
    result = requests.get(url, headers=headers).json()
    output = result.get("output", {})
    status = output.get("task_status")
    if status == "SUCCEEDED":
        print(output["video_url"])
        break
    if status in ("FAILED", "CANCELED", "UNKNOWN"):
        print(output.get("code"), output.get("message"))
        break
    time.sleep(5)
```


## OpenAPI

````yaml zh/api-reference/video/wan/openapi.json GET /v1/alibaba/video/generations/{taskId}
openapi: 3.0.1
info:
  title: 默认模块
  description: ''
  version: 1.0.0
servers: []
security: []
tags: []
paths:
  /v1/alibaba/video/generations/{taskId}:
    get:
      tags: []
      summary: 查询任务（兼容阿里万相协议响应）
      description: |-
        <p>
        优先使用兼容万相报文完整还原协议字段
      parameters:
        - name: taskId
          in: path
          description: ''
          required: true
          schema:
            type: string
        - name: Authorization
          in: header
          description: API Key token (Bearer sk-xxx)
          required: true
          example: 'Bearer '
          schema:
            type: string
        - name: Content-Type
          in: header
          description: ''
          example: application/json
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlibabaQueryTaskResponse'
          headers: {}
      deprecated: false
      security: []
components:
  schemas:
    AlibabaQueryTaskResponse:
      type: object
      properties:
        request_id:
          type: string
          description: 请求唯一标识，可用于请求明细溯源和问题排查
        output:
          $ref: '#/components/schemas/TaskOutput1'
          description: 任务输出信息
        usage:
          $ref: '#/components/schemas/Usage'
          description: 输出信息统计（仅任务成功时返回）
    TaskOutput1:
      type: object
      properties:
        task_id:
          type: string
          description: 任务ID，查询有效期24小时
        task_status:
          type: string
          description: 任务状态：PENDING / RUNNING / SUCCEEDED / FAILED / CANCELED / UNKNOWN
        submit_time:
          type: string
          description: 任务提交时间（UTC+8，格式：YYYY-MM-DD HH:mm:ss.SSS）
        scheduled_time:
          type: string
          description: 任务执行时间（UTC+8，格式：YYYY-MM-DD HH:mm:ss.SSS）
        end_time:
          type: string
          description: 任务完成时间（UTC+8，格式：YYYY-MM-DD HH:mm:ss.SSS）
        video_url:
          type: string
          description: 视频URL（仅 task_status 为 SUCCEEDED 时返回），有效期24小时，格式为 MP4（H.264 编码）
        orig_prompt:
          type: string
          description: 原始输入的 prompt
        code:
          type: string
          description: 错误码（仅任务失败时返回）
        message:
          type: string
          description: 错误详细信息（仅任务失败时返回）
    Usage:
      type: object
      properties:
        input_video_duration:
          type: integer
          description: 输入视频时长（秒）
        output_video_duration:
          type: integer
          description: 输出视频时长（秒）
        video_count:
          type: integer
          description: 输出视频数量，固定为 1
        SR:
          type: integer
          description: 输出视频的分辨率档位（如 720、1080）
        ratio:
          type: string
          description: 输出视频的宽高比（如 16:9、9:16、1:1）
        duration:
          type: integer
          description: 总的视频时长（秒），用于计费

````