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

# Wan 2.7 视频生成 API

> 通过老张API调用 Wan 2.7 文生视频、图生视频、参考图生视频和视频编辑：创建与查询异步任务、下载结果，并了解按秒计费的美元价格和 24 小时结果有效期。

用老张API调用 Wan 2.7 生成或编辑视频：创建阿里云 DashScope 兼容的异步任务，轮询状态后下载 MP4。令牌必须使用 `Wan` 分组，费用按视频秒数计算。

| 项目 | 内容 |
| - | - |
| Wan 2.7 模型 | `wan2.7-t2v`（文生视频）、`wan2.7-i2v`（图生视频）、`wan2.7-r2v`（参考图生视频）、`wan2.7-videoedit`（视频编辑） |
| Wan 2.6 模型 | `wan2.6-t2v`、`wan2.6-i2v`、`wan2.6-r2v`、`wan2.6-r2v-flash`（价格配置中同样提供） |
| 创建任务 | `POST /wan/api/v1/services/aigc/video-generation/video-synthesis` |
| 查询任务 | `GET /v1/tasks/{task_id}`；完成后从 `result_url` 下载 MP4 |
| 令牌分组 | `Wan`，配置见[创建令牌](#创建令牌) |
| 计费 | 按视频秒数计费，约为阿里云官方价的 105%；美元单价见[计费与价格](#计费与价格) |
| 有效期 | `task_id` 和视频链接均为 24 小时（阿里云官方说明），需在 24 小时内下载 |
| 请求约定 | Base URL、认证、异步请求头、轮询间隔和超时见[请求约定](#请求约定) |

<Warning>
  Wan 视频生成不使用 `/v1/videos` 接口。图生视频、参考图生视频和视频编辑依赖 DashScope 原生的 `input.media[]` 结构，请固定使用上表中的创建任务端点。
</Warning>

## 创建令牌

在[令牌管理](https://api.laozhang.ai/token)创建用于 Wan 视频生成的令牌时，按下面配置：

| 配置项 | 选择 |
| - | - |
| 控制台入口 | [令牌管理](https://api.laozhang.ai/token) → 新增令牌 |
| 分组 | `Wan` |
| 计费模式 | 按量优先（推荐）或按量计费 |
| 建议 | 为 Wan 视频单独创建令牌，便于按模型、任务和调用日志核对消费 |

请求时在 `Authorization: Bearer` 请求头中传入该令牌。Wan 模型只开放在 `Wan` 分组，必须使用这个分组的令牌；`default`、`SeeDance2` 等其他分组的令牌无法调用，会返回无可用渠道等错误。

## 计费与价格

Wan 视频按秒计费。2026 年 9 月 24 日公开价格配置中，`Wan` 分组的倍率为 0.15：老张API每秒美元价 = 阿里云官方每秒人民币价 × 0.15。按 1:7 固定汇率折算，0.15 × 7 = 1.05，即约为阿里云官方价的 105%。

这个倍率是人民币计价与美元余额之间的换算系数，不是折扣；调用日志里的扣费金额已经换算过，不要再乘一次 0.15。

文生、图生和参考生视频（`wan2.7-t2v`、`wan2.7-i2v`、`wan2.7-r2v`）同价，只分 720P 和 1080P 两档；视频编辑（`wan2.7-videoedit`）也按下表的每秒单价计费：

| 分辨率 | 阿里云官方价 | 老张API每秒 |
| - | -: | -: |
| 720P | ¥0.6/秒 | \$0.09 |
| 1080P | ¥1.0/秒 | \$0.15 |

按老张API每秒单价估算，单个视频的费用：

| 分辨率 | 5 秒 | 10 秒 | 15 秒 |
| - | -: | -: | -: |
| 720P | \$0.45 | \$0.90 | \$1.35 |
| 1080P | \$0.75 | \$1.50 | \$2.25 |

阿里云官方价取自[阿里云百炼模型价格](https://help.aliyun.com/zh/model-studio/model-pricing)中华北2（北京）地域的价格。计费维度是分辨率档位 × 视频时长（秒）：

* `wan2.7-r2v` 默认输出 1080P，不显式传 `resolution` 就按 1080P 计费；参考素材含视频时，`duration` 只能取 2–10 秒。
* `wan2.7-videoedit` 默认输出与源视频等长的视频，按实际输出秒数计费；按阿里云说明，`duration` 传 2–10 秒时会从开头截取源视频。例如编辑一段 5 秒的视频并输出 720P，约 \$0.45。
* Wan 2.6 系列的单价以[控制台模型价格](https://api.laozhang.ai/account/pricing)为准。

失败的任务不计费；但重复提交同一个任务会重复计费，业务层请维护业务 ID 与 `task_id` 的对应关系，不要无条件自动重试。

每个任务的实际扣费以[调用日志](https://api.laozhang.ai/log)为准；如果失败的任务在日志中仍有扣费，请带上 `task_id` 联系支持团队（[hi@laozhang.ai](mailto:hi@laozhang.ai)）。

输出时长和分辨率直接决定费用。建议在请求中显式设置 `duration` 和 `resolution`，创建任务前按上表估算成本。[模型与价格总表](/models)列出了 Wan 模型及其分组。

## 调用流程

<Steps>
  <Step title="创建任务">
    调用 `POST /wan/api/v1/services/aigc/video-generation/video-synthesis`，并带上 `X-DashScope-Async: enable` 请求头。JSON 请求体包含：

    * `model`：Wan 模型 ID
    * `input.prompt`：提示词
    * `input.media[]`：图生视频、参考图生视频和视频编辑的素材

    保存响应中的 `output.task_id`。
  </Step>

  <Step title="轮询状态">
    每 5–10 秒调用一次 `GET /v1/tasks/{task_id}`，只根据顶层 `status` 判断任务状态，不要把内部上游字段当作业务状态。客户端总超时建议设为 20 分钟。
  </Step>

  <Step title="下载结果">
    `status` 为 `completed` 时，读取顶层 `result_url` 并在 24 小时内下载。

    `result_url` 是上游对象存储的签名链接，下载时不要携带老张API的 `Authorization` 请求头。
  </Step>
</Steps>

## API 参考

### 请求约定

| 配置项 | 值 |
| - | - |
| Base URL | `https://api.laozhang.ai` |
| 认证方式 | `Authorization: Bearer $LAOZHANG_API_KEY` |
| 创建请求格式 | `application/json` |
| 创建任务必需请求头 | `X-DashScope-Async: enable` |
| 轮询间隔 | 建议 5–10 秒 |
| 客户端总超时 | 建议 20 分钟 |

完整端点如下。第一条创建视频任务，第二条查询任务状态；视频文件从任务完成后返回的 `result_url` 下载，`task_id` 与 `result_url` 的有效期见页首关键信息表。

```text theme={null}
POST https://api.laozhang.ai/wan/api/v1/services/aigc/video-generation/video-synthesis
GET  https://api.laozhang.ai/v1/tasks/{task_id}
```

### 任务状态

| 顶层 `status` | 是否终态 | 客户端处理 |
| - | - | - |
| `submitted` | 否 | 任务已提交，继续轮询 |
| `in_progress` | 否 | 任务生成中，继续轮询 |
| `completed` | 是 | 读取 `result_url`，24 小时内下载 MP4 |
| `failed` | 是 | 读取 `error.message` 或 `fail_reason`，停止轮询 |
| 其他值 | 是 | 停止轮询并保存完整响应；需要结果时重新创建任务 |

创建响应中的 `output.task_status` 是 DashScope 的原始状态，新建任务一般为 `PENDING`，只用来确认任务已提交。

之后以 `GET /v1/tasks/{task_id}` 返回的顶层 `status` 为准。查询得到上表以外的任何值（例如任务已被取消，或超过 24 小时后才查询），都按上表最后一行处理，不要继续轮询。

Wan / DashScope 的 `progress` 是粗粒度上报，常见情况是长时间停在 `30%`，最后直接跳到 `100%`。

只要 `status` 仍是 `in_progress`，继续等待即可，直到达到客户端总超时。

## 模型与输入模式

| 模型 ID | 能力 | `input.media[]` 要求 |
| - | - | - |
| `wan2.7-t2v` | 文生视频 | 不传 `media` |
| `wan2.7-i2v` | 图生视频，可配驱动音频 | 1 个 `first_frame`；可选 `last_frame`、`driving_audio` |
| `wan2.7-r2v` | 参考图生视频，也可传参考视频 | `reference_image` 与 `reference_video` 合计 1–5 个 |
| `wan2.7-videoedit` | 视频编辑 | 1 个 `video`（2–10 秒）；可选最多 4 张 `reference_image` |
| `wan2.6-t2v`、`wan2.6-i2v`、`wan2.6-r2v`、`wan2.6-r2v-flash` | Wan 2.6 系列 | 与同能力的 Wan 2.7 模型相同 |

`wan2.7-image-pro` 是图片模型，不属于本页的视频生成端点，不要提交到 `/wan/api/v1/services/aigc/video-generation/video-synthesis`。

## 请求体

| 字段 | 类型 | 必填 | 说明 |
| - | - | - | - |
| `model` | string | 是 | 模型 ID，例如 `wan2.7-t2v` |
| `input` | object | 是 | 输入对象，包含提示词和媒体素材 |
| `input.prompt` | string | 按模型而定 | 自然语言提示词；t2v、r2v 必填，i2v 和视频编辑可选 |
| `input.media` | array | 按模型而定 | 素材数组；t2v 不传，i2v、r2v、videoedit 必填 |
| `parameters` | object | 否 | 生成参数，例如分辨率、时长、水印，字段见下文 |

### `input.media[]`

| `type` | 用途 |
| - | - |
| `first_frame` | 首帧图片，用于图生视频；`wan2.7-r2v` 也可传 1 张 |
| `last_frame` | 尾帧图片，按模型能力使用 |
| `reference_image` | 参考图片，用于 r2v 或视频编辑 |
| `reference_video` | 参考视频，用于 `wan2.7-r2v`，提供主体角色和音色参考；与 `reference_image` 合计不超过 5 个 |
| `driving_audio` | 驱动音频，常用于 `wan2.7-i2v` |
| `video` | 输入视频，常用于 `wan2.7-videoedit` |

<Warning>
  媒体素材 URL 必须是公网可访问的 HTTPS 直链。需要登录、带 Cookie、内网地址或临时不可访问的链接会导致任务失败。
</Warning>

### `parameters`

| 字段 | 类型 | 说明 |
| - | - | - |
| `resolution` | string | 分辨率，使用大写 `P`。`wan2.7-t2v` 可选 `720P`、`1080P`，示例使用 `720P` |
| `duration` | integer | 视频时长（秒），传整数，不要传字符串。`wan2.7-t2v` 取 2–15 之间的整数 |
| `prompt_extend` | boolean | 是否启用上游提示词扩写 |
| `watermark` | boolean | 是否添加 AI 生成水印 |
| `seed` | integer | 可选，随机种子 |

其他模型的分辨率、时长与素材限制见阿里云文档：

* [万相 2.7 图生视频 API 参考](https://help.aliyun.com/zh/model-studio/image-to-video-general-api-reference)
* [参考生视频 API 参考](https://help.aliyun.com/zh/model-studio/wan-video-to-video-api-reference)
* [视频编辑 API 参考](https://help.aliyun.com/zh/model-studio/wan-video-editing-api-reference)

Wan 2.6 系列以阿里云对应模型的文档为准。

## 准备环境

下面的 cURL 示例用 `jq` 从响应中提取字段（macOS 可用 `brew install jq` 安装）。先设置密钥和 Base URL：

```bash theme={null}
export LAOZHANG_API_KEY="替换为你的老张API密钥"
export BASE_URL="https://api.laozhang.ai"
```

## 文生视频

```bash theme={null}
curl -s -X POST "$BASE_URL/wan/api/v1/services/aigc/video-generation/video-synthesis" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-DashScope-Async: enable" \
  --data-raw '{
    "model": "wan2.7-t2v",
    "input": {
      "prompt": "黄昏海边的灯塔，镜头缓慢推进，海浪轻拍礁石，海鸟叫声，电影级光影，稳定运镜"
    },
    "parameters": {
      "resolution": "720P",
      "duration": 5,
      "prompt_extend": true,
      "watermark": true
    }
  }' | tee wan-create.json
```

创建成功时返回 DashScope 兼容的任务对象：

```json theme={null}
{
  "output": {
    "task_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "task_status": "PENDING"
  },
  "request_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```

从响应中取出 `task_id`，后面的查询都用它：

```bash theme={null}
TASK_ID=$(jq -r '.output.task_id // empty' wan-create.json)
echo "$TASK_ID"
```

如果 `TASK_ID` 为空，查看 `wan-create.json` 中的错误信息。

下面三种任务的请求同样把响应保存到 `wan-create.json`，创建后用同一条 `jq` 命令取出 `TASK_ID`。

## 图生视频

```bash theme={null}
curl -s -X POST "$BASE_URL/wan/api/v1/services/aigc/video-generation/video-synthesis" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-DashScope-Async: enable" \
  --data-raw '{
    "model": "wan2.7-i2v",
    "input": {
      "prompt": "一个由喷漆所画成的少年从墙上活过来，演唱英文 rap，夜晚铁路桥下，电影级光影",
      "media": [
        {
          "type": "first_frame",
          "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png"
        },
        {
          "type": "driving_audio",
          "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/ozwpvi/rap.mp3"
        }
      ]
    },
    "parameters": {
      "resolution": "720P",
      "duration": 10,
      "prompt_extend": true,
      "watermark": true
    }
  }' | tee wan-create.json
```

`driving_audio` 属于模型能力差异项：`wan2.7-i2v` 支持图片加音频驱动；其他图生视频模型如果不支持音频，只传 `first_frame`。

## 参考图生视频

```bash theme={null}
curl -s -X POST "$BASE_URL/wan/api/v1/services/aigc/video-generation/video-synthesis" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-DashScope-Async: enable" \
  --data-raw '{
    "model": "wan2.7-r2v",
    "input": {
      "prompt": "一位身穿这件礼服的女孩在洒满夕阳的花园里缓步行走，微风轻拂裙摆，电影级光影，稳定运镜",
      "media": [
        {
          "type": "reference_image",
          "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260402/fwjpqf/wan2.7-videoedit-change-clothes.png"
        }
      ]
    },
    "parameters": {
      "resolution": "720P",
      "duration": 5,
      "prompt_extend": true,
      "watermark": true
    }
  }' | tee wan-create.json
```

## 视频编辑

```bash theme={null}
curl -s -X POST "$BASE_URL/wan/api/v1/services/aigc/video-generation/video-synthesis" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-DashScope-Async: enable" \
  --data-raw '{
    "model": "wan2.7-videoedit",
    "input": {
      "prompt": "将视频中女孩的衣服替换为图片中的衣服",
      "media": [
        {
          "type": "video",
          "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260403/nlspwm/T2VA_22.mp4"
        },
        {
          "type": "reference_image",
          "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260402/fwjpqf/wan2.7-videoedit-change-clothes.png"
        }
      ]
    },
    "parameters": {
      "resolution": "720P",
      "prompt_extend": true,
      "watermark": true
    }
  }' | tee wan-create.json
```

## 查询和下载

### 查询任务

```bash theme={null}
curl -s "$BASE_URL/v1/tasks/$TASK_ID" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -o wan-task.json
jq -r '.status' wan-task.json
```

每 5–10 秒执行一次，直到 `status` 变为 `completed` 或进入其他终态。完成响应包含 `status=completed` 和 `result_url`，业务侧只依赖顶层字段：

```json theme={null}
{
  "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "task_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "object": "task",
  "platform": "wan",
  "action": "text_to_video",
  "task_type": "text_to_video",
  "status": "completed",
  "progress": "100%",
  "result_url": "https://dashscope-xxx.oss-accelerate.aliyuncs.com/...",
  "result": {
    "data": {
      "model": "wan2.7-t2v",
      "parameters": {
        "resolution": "720P",
        "duration": 5,
        "prompt_extend": true,
        "watermark": true
      }
    }
  }
}
```

### 下载视频

```bash theme={null}
RESULT_URL=$(jq -r '.result_url // empty' wan-task.json)
curl -L -o wan-output.mp4 "$RESULT_URL"
```

<Warning>
  下载 `result_url` 时不要携带老张API的 `Authorization` 请求头。该地址是上游签名直链，额外的鉴权头可能导致 OSS 返回 403。链接 24 小时内有效，请在有效期内下载并转存到自己的存储。
</Warning>

## Python 最小客户端

示例只使用 Python 标准库，无需安装依赖；运行前先设置 `LAOZHANG_API_KEY` 环境变量。它每 10 秒查询一次，总超时 20 分钟，完成后把视频保存为 `wan-output.mp4`。

```python theme={null}
import json
import os
import time
import urllib.request
from urllib.error import HTTPError

BASE_URL = "https://api.laozhang.ai"
API_KEY = os.environ["LAOZHANG_API_KEY"]
POLL_INTERVAL = 10  # 秒
TIMEOUT = 20 * 60  # 总超时 20 分钟


def request(method, path, body=None, extra_headers=None):
    headers = {"Authorization": f"Bearer {API_KEY}"}
    if extra_headers:
        headers.update(extra_headers)
    data = None
    if body is not None:
        headers["Content-Type"] = "application/json"
        data = json.dumps(body, ensure_ascii=False).encode("utf-8")
    req = urllib.request.Request(BASE_URL + path, data=data, method=method, headers=headers)
    try:
        with urllib.request.urlopen(req, timeout=60) as resp:
            return json.loads(resp.read().decode("utf-8"))
    except HTTPError as exc:
        error_body = exc.read().decode("utf-8", errors="replace")
        raise RuntimeError(f"HTTP {exc.code}: {error_body}") from exc


created = request(
    "POST",
    "/wan/api/v1/services/aigc/video-generation/video-synthesis",
    {
        "model": "wan2.7-t2v",
        "input": {"prompt": "黄昏海边的灯塔，电影级光影，镜头缓慢推进"},
        "parameters": {"resolution": "720P", "duration": 5, "prompt_extend": True},
    },
    {"X-DashScope-Async": "enable"},
)
task_id = created["output"]["task_id"]
print("task_id:", task_id)

deadline = time.monotonic() + TIMEOUT
while True:
    task = request("GET", f"/v1/tasks/{task_id}")
    status = task.get("status")
    print("status:", status, task.get("progress"))

    if status == "completed":
        # result_url 是签名下载地址：不要附加 Authorization 头，并在 24 小时内下载。
        urllib.request.urlretrieve(task["result_url"], "wan-output.mp4")
        print("已保存 wan-output.mp4")
        break
    if status not in ("submitted", "in_progress"):
        # failed，或其他终态（例如上游任务已取消、状态未知）
        raise RuntimeError(f"任务结束，状态为 {status}：{json.dumps(task, ensure_ascii=False)}")
    if time.monotonic() >= deadline:
        raise TimeoutError(f"任务 {task_id} 超过 20 分钟仍未完成；24 小时内可用同一个 task_id 继续查询")
    time.sleep(POLL_INTERVAL)
```

## 常见错误

| 现象 | 常见原因 | 处理方式 |
| - | - | - |
| `未提供令牌` | 请求没有带 `Authorization` | 添加 `Authorization: Bearer $LAOZHANG_API_KEY` |
| `Current group Wan has no available channels for model ...` | 模型 ID 错误，或 `Wan` 分组当前没有该模型的渠道 | 检查模型 ID；确认无误仍报错时，联系支持团队（[hi@laozhang.ai](mailto:hi@laozhang.ai)） |
| `[InvalidParameter] Field required: input.media` | i2v、r2v 或视频编辑任务缺少 `input.media[]`，或误用了 `/v1/videos` | 使用本页的 DashScope 兼容端点，并按模型传入对应素材 |
| `任务不存在` | `task_id` 错误、已超过 24 小时有效期，或任务不是在本站创建的 | 核对创建响应中的 `task_id`；超过 24 小时的任务需要重新创建 |
| 下载返回 403 或 `SignatureDoesNotMatch` | 下载 `result_url` 时带了额外的鉴权头，或链接已超过 24 小时 | 去掉 `Authorization` 请求头，并在 24 小时内下载 |

生产接入建议设置 20 分钟任务超时，保存创建响应、`request_id`、`task_id` 和最终任务详情，便于排查上游错误和核对扣费；任务完成后立即下载结果并转存。

## 常见问题

### 创建任务必须带异步请求头吗？

必须带。创建任务的 `POST` 请求要加 `X-DashScope-Async: enable`，因为 Wan 的 HTTP 接口只支持异步调用；缺少时阿里云会返回 `current user api does not support synchronous calls`。

查询任务的 `GET /v1/tasks/{task_id}` 和下载 `result_url` 都不需要这个请求头。

### 不传分辨率和时长时按什么规格计费？

默认按 1080P 计费。按阿里云 API 参考，Wan 2.7 的四个模型（`wan2.7-t2v`、`wan2.7-i2v`、`wan2.7-r2v`、`wan2.7-videoedit`）默认输出都是 1080P：

* 文生、图生和参考生视频默认时长 5 秒；
* 视频编辑默认沿用源视频时长。

也就是说，一个什么参数都不传的文生视频任务会按 1080P、5 秒计费，约 \$0.75。

本页示例显式传了 `720P`。需要控制成本时，请在每个请求里写明 `resolution` 和 `duration`，再按[计费与价格](#计费与价格)中的单价估算。

### 怎么生成竖屏或方形视频？

文生视频和参考生视频用 `parameters.ratio` 指定宽高比，图生视频和视频编辑跟随素材比例：

* 文生视频、参考生视频：可选以下宽高比。
  * `16:9`（默认）
  * `9:16`（例如 720P 输出为 720×1280）
  * `1:1`
  * `4:3`
  * `3:4`
* 图生视频：不需要传 `ratio`，输出比例跟随首帧图片。
* 视频编辑：不传 `ratio` 时沿用源视频的比例。

费用只按分辨率档位和输出秒数计算，同一档位下横屏、竖屏和方形价格相同。各模型的取值范围见[阿里云文生视频 API 参考](https://help.aliyun.com/zh/model-studio/text-to-video-api-reference)。

### 视频有声音吗？能按指定音频说话吗？

有声音，也可以按指定音频对口型。按阿里云说明，Wan 2.7 默认输出有声视频，模型会根据画面自动生成背景音乐、音效或人声。

需要口型与指定音频同步时，用 `wan2.7-i2v` 并在 `input.media[]` 中加入 `driving_audio`，写法见[图生视频](#图生视频)。音频支持 wav、mp3，时长 2–30 秒，超过 `duration` 的部分会被截掉。

参考生视频可以沿用参考视频中的音色，视频编辑可以选择保留源视频原声，对应参数见[万相 2.7 参考生视频 API 参考](https://help.aliyun.com/zh/model-studio/wan-video-to-video-api-reference)和[万相 2.7 视频编辑 API 参考](https://help.aliyun.com/zh/model-studio/wan-video-editing-api-reference)。

### 怎么去掉视频右下角的「AI 生成」水印？

在 `parameters` 中传 `"watermark": false`，或者不传 `watermark`（阿里云默认不加水印）。本页示例传的是 `true`，所以生成的视频会带水印；复制示例到生产环境时记得改掉。

### 超时或失败后可以直接重新提交吗？

先看任务状态再决定。客户端等待超时并不代表任务失败：24 小时内继续用同一个 `task_id` 查询即可，重新提交会创建一个新任务并再次计费。只有 `status` 变为 `failed` 或其他终态时，才需要修正请求后重新创建。

失败的任务不计费，实际扣费以[调用日志](https://api.laozhang.ai/log)为准，规则见[计费与价格](#计费与价格)，状态判断见[任务状态](#任务状态)。

### `progress` 一直停在 30% 是卡住了吗？

不是。停在 `30%` 是上游进度上报粒度粗导致的正常现象，只要顶层 `status` 仍是 `in_progress` 就继续轮询，说明见[任务状态](#任务状态)。

## 相关文档

* [Seedance 2.0 视频生成 API](/api-capabilities/seedance2-video-generation)
* [Sora 2 视频 API 已下线：迁移说明](/api-capabilities/sora2/official-forward)
* [模型可用性与权限](/faq/model-availability)
* [模型与价格总表](/models)
* [调用日志](/faq/call-logs)
* [数据与日志边界](/faq/data-security)
* [阿里云百炼文生视频 API 参考](https://help.aliyun.com/zh/model-studio/text-to-video-api-reference)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.