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

# Wan2.2 A14B

> 创建并查询 Wan2.2 A14B 文生视频和图生视频任务。

Wan2.2 A14B 使用同一个创建端点和两个 AnyFast 公开模型 ID。请选择与输入匹配的工作流，再查询返回的任务 ID。

<Tabs sync={false}>
  <Tab title="文生视频">
    ## 创建任务

    `POST /v1/video/generations`

    <div className="kling-api-example-panel">
      ```bash cURL theme={null}
      curl --request POST \
        --url https://www.anyfast.ai/v1/video/generations \
        --header 'Authorization: Bearer YOUR_API_KEY' \
        --header 'Content-Type: application/json' \
        --data '{
          "model": "wan2.2-t2v-a14b",
          "prompt": "黄昏时分，一盏纸灯笼漂浮在宁静的河畔小镇上空，镜头从下方跟随。",
          "duration": 5,
          "width": 1280,
          "height": 720,
          "seed": 42
        }'
      ```
    </div>

    ## 请求头

    <ParamField header="Authorization" type="string" required>Bearer 鉴权，格式为 `Bearer YOUR_API_KEY`。</ParamField>
    <ParamField header="Content-Type" type="string" default="application/json" required>请求体格式。</ParamField>

    ## 请求体

    <ParamField body="model" type="string" required>必须为 `wan2.2-t2v-a14b`。</ParamField>
    <ParamField body="prompt" type="string" required>描述主体、动作、场景、视觉风格和镜头运动的文本。</ParamField>
    <ParamField body="duration" type="number" default={5}>视频时长为 3–5 秒。</ParamField>
    <ParamField body="width" type="integer">输出宽度，单位为像素。</ParamField>
    <ParamField body="height" type="integer">输出高度，单位为像素。</ParamField>
    <ParamField body="seed" type="integer">可选随机种子，范围为 `[0, 2147483647]`，用于提高生成结果的可复现性。</ParamField>
    <ParamField body="metadata" type="object">传递给上游服务的可选扩展字段。</ParamField>

    ## 创建响应

    <div className="kling-api-example-panel">
      ```json 200 theme={null}
      {
        "id": "asyntask_wan22t2vexample123",
        "task_id": "asyntask_wan22t2vexample123",
        "object": "video",
        "model": "wan2.2-t2v-a14b",
        "status": "",
        "progress": 0,
        "created_at": 1785426400
      }
      ```
    </div>

    <ResponseField name="id" type="string">用于查询结果的任务 ID。</ResponseField>
    <ResponseField name="task_id" type="string">任务 ID，与 `id` 相同。</ResponseField>
    <ResponseField name="object" type="string">返回对象类型，固定为 `video`。</ResponseField>
    <ResponseField name="model" type="string">任务使用的 AnyFast 模型 ID。</ResponseField>
    <ResponseField name="status" type="string">初始状态字符串。请使用查询端点获取权威任务状态。</ResponseField>
    <ResponseField name="progress" type="integer">初始任务进度百分比。</ResponseField>
    <ResponseField name="created_at" type="integer">创建时间，Unix 秒级时间戳。</ResponseField>
  </Tab>

  <Tab title="图生视频">
    ## 创建任务

    `POST /v1/video/generations`

    <div className="kling-api-example-panel">
      ```bash cURL theme={null}
      curl --request POST \
        --url https://www.anyfast.ai/v1/video/generations \
        --header 'Authorization: Bearer YOUR_API_KEY' \
        --header 'Content-Type: application/json' \
        --data '{
          "model": "wan2.2-i2v-a14b",
          "prompt": "猫咪向前跑过草地，镜头在侧面同步跟拍。",
          "image": "https://cdn.translate.alibaba.com/r/wanx-demo-1.png",
          "duration": 5,
          "width": 1280,
          "height": 720,
          "seed": 42
        }'
      ```
    </div>

    ## 请求头

    <ParamField header="Authorization" type="string" required>Bearer 鉴权，格式为 `Bearer YOUR_API_KEY`。</ParamField>
    <ParamField header="Content-Type" type="string" default="application/json" required>请求体格式。</ParamField>

    ## 请求体

    <ParamField body="model" type="string" required>必须为 `wan2.2-i2v-a14b`。</ParamField>
    <ParamField body="prompt" type="string" required>描述动作和镜头行为的文本。</ParamField>
    <ParamField body="image" type="string" required>公开的首帧图片 URL。上游支持 JPEG、JPG、无透明通道的 PNG、BMP 和 WebP；Wan2.2 系列限制为不超过 10 MB，宽高均为 240–8,000 像素。</ParamField>
    <ParamField body="duration" type="number" default={5}>视频时长为 3–5 秒。</ParamField>
    <ParamField body="width" type="integer">输出宽度，单位为像素。</ParamField>
    <ParamField body="height" type="integer">输出高度，单位为像素。</ParamField>
    <ParamField body="seed" type="integer">可选随机种子，范围为 `[0, 2147483647]`，用于提高生成结果的可复现性。</ParamField>
    <ParamField body="metadata" type="object">传递给上游服务的可选扩展字段。</ParamField>

    ## 创建响应

    <div className="kling-api-example-panel">
      ```json 200 theme={null}
      {
        "id": "asyntask_wan22i2vexample123",
        "task_id": "asyntask_wan22i2vexample123",
        "object": "video",
        "model": "wan2.2-i2v-a14b",
        "status": "",
        "progress": 0,
        "created_at": 1785426400
      }
      ```
    </div>

    <ResponseField name="id" type="string">用于查询结果的任务 ID。</ResponseField>
    <ResponseField name="task_id" type="string">任务 ID，与 `id` 相同。</ResponseField>
    <ResponseField name="object" type="string">返回对象类型，固定为 `video`。</ResponseField>
    <ResponseField name="model" type="string">任务使用的 AnyFast 模型 ID。</ResponseField>
    <ResponseField name="status" type="string">初始状态字符串。请使用查询端点获取权威任务状态。</ResponseField>
    <ResponseField name="progress" type="integer">初始任务进度百分比。</ResponseField>
    <ResponseField name="created_at" type="integer">创建时间，Unix 秒级时间戳。</ResponseField>
  </Tab>

  <Tab title="查询任务">
    ## 按 ID 查询任务

    `GET /v1/video/generations/{task_id}`

    <div className="kling-api-example-panel">
      ```bash cURL theme={null}
      curl --request GET \
        --url https://www.anyfast.ai/v1/video/generations/asyntask_wan22t2vexample123 \
        --header 'Authorization: Bearer YOUR_API_KEY'
      ```
    </div>

    ## 请求头

    <ParamField header="Authorization" type="string" required>Bearer 鉴权，格式为 `Bearer YOUR_API_KEY`。</ParamField>

    ## 路径参数

    <ParamField path="task_id" type="string" required>Wan2.2 创建请求返回的任务 ID。</ParamField>

    ## 任务结果

    <div className="kling-api-example-panel">
      ```json 200 theme={null}
      {
        "code": "success",
        "message": "",
        "data": {
          "task_id": "asyntask_wan22t2vexample123",
          "action": "textGenerate",
          "status": "SUCCESS",
          "fail_reason": "https://example.com/generated-video.mp4",
          "result_url": "https://example.com/generated-video.mp4",
          "submit_time": 1785426400,
          "start_time": 1785426414,
          "finish_time": 1785426560,
          "progress": "100%",
          "request_id": "request_wan22example123",
          "data": {
            "output": {
              "task_id": "upstream_task_wan22example123",
              "task_status": "SUCCEEDED",
              "video_url": "https://example.com/generated-video.mp4",
              "orig_prompt": "黄昏时分，一盏纸灯笼漂浮在宁静的河畔小镇上空。",
              "submit_time": "2026-07-30 23:46:53.873",
              "scheduled_time": "2026-07-30 23:46:53.900",
              "end_time": "2026-07-30 23:49:18.837"
            },
            "request_id": "upstream_request_wan22example123",
            "usage": {
              "SR": 720,
              "duration": 5,
              "input_video_duration": 0,
              "output_video_duration": 5,
              "ratio": "16:9",
              "video_count": 1
            }
          }
        }
      }
      ```
    </div>

    <ResponseField name="code" type="string">查询调用结果。`success` 表示查询完成，生成结果仍以 `data.status` 为准。</ResponseField>
    <ResponseField name="message" type="string">响应消息；查询成功时通常为空字符串。</ResponseField>
    <ResponseField name="data" type="object">AnyFast 任务状态和结果。</ResponseField>
    <ResponseField name="data.task_id" type="string">AnyFast 任务 ID。</ResponseField>
    <ResponseField name="data.action" type="string">生成工作流，例如文生视频的 `textGenerate` 或图生视频的 `generate`。</ResponseField>
    <ResponseField name="data.status" type="string">`NOT_START`、`QUEUED` 或 `IN_PROGRESS` 时继续轮询；`SUCCESS` 时读取 `result_url`；`FAILURE` 时读取 `fail_reason`。</ResponseField>
    <ResponseField name="data.fail_reason" type="string">兼容字段。成功时可能重复 `result_url`，因此必须使用 `status` 判断结果。</ResponseField>
    <ResponseField name="data.result_url" type="string | null">任务成功后的临时视频 URL。</ResponseField>
    <ResponseField name="data.submit_time" type="integer">任务提交 Unix 秒级时间戳。</ResponseField>
    <ResponseField name="data.start_time" type="integer">任务开始 Unix 秒级时间戳；开始处理前为 `0`。</ResponseField>
    <ResponseField name="data.finish_time" type="integer">任务完成 Unix 秒级时间戳；到达终态前为 `0`。</ResponseField>
    <ResponseField name="data.progress" type="string">任务进度，范围为 `0%`–`100%`。</ResponseField>
    <ResponseField name="data.request_id" type="string">AnyFast 请求追踪 ID。</ResponseField>
    <ResponseField name="data.data" type="object">上游原始响应数据。</ResponseField>
    <ResponseField name="data.data.output" type="object">上游原始任务输出。</ResponseField>
    <ResponseField name="data.data.output.task_id" type="string">上游任务 ID。</ResponseField>
    <ResponseField name="data.data.output.task_status" type="string">上游状态，例如 `PENDING`、`RUNNING`、`SUCCEEDED`、`FAILED`、`CANCELED` 或 `UNKNOWN`。</ResponseField>
    <ResponseField name="data.data.output.video_url" type="string | null">上游输出中的生成视频 URL。</ResponseField>
    <ResponseField name="data.data.output.orig_prompt" type="string">上游服务收到的提示词。</ResponseField>
    <ResponseField name="data.data.output.submit_time" type="string">上游任务提交时间。</ResponseField>
    <ResponseField name="data.data.output.scheduled_time" type="string">上游任务调度时间。</ResponseField>
    <ResponseField name="data.data.output.end_time" type="string">上游任务完成时间。</ResponseField>
    <ResponseField name="data.data.request_id" type="string">上游请求追踪 ID。</ResponseField>
    <ResponseField name="data.data.usage" type="object | null">上游用量详情，通常在任务成功后返回。</ResponseField>
    <ResponseField name="data.data.usage.SR" type="integer">输出分辨率数值。</ResponseField>
    <ResponseField name="data.data.usage.duration" type="number">计费时长，单位为秒。</ResponseField>
    <ResponseField name="data.data.usage.input_video_duration" type="number">用量中报告的输入视频时长。</ResponseField>
    <ResponseField name="data.data.usage.output_video_duration" type="number">生成视频时长，单位为秒。</ResponseField>
    <ResponseField name="data.data.usage.ratio" type="string">上游返回的生成视频宽高比。</ResponseField>
    <ResponseField name="data.data.usage.video_count" type="integer">生成视频数量。</ResponseField>
  </Tab>
</Tabs>

## 错误响应

* `400 Bad Request`：输入无效或参数不受支持。
* `401 Unauthorized`：API 密钥缺失或无效。
* `404 Not Found`：查询的任务不存在。
* `429 Rate limit exceeded`：请求频率超过适用限制。

<script src="/public/feedback.js" />
