搜索

搜索 HiAPI 模型、工具和资源。

返回博客
教程3 分钟阅读

万相 Wan 2.7 视频 API 怎么用?文生、图生视频中文教程

curl 和 Python 示例、media 数组怎么传、首尾帧和驱动音频,以及大写分辨率这类容易踩的坑。

HiAPI 编辑部Wan 2.7API 教程视频生成

TL;DR

  • 万相 Wan 2.7 是阿里的视频模型,在 HiAPI 上有文生视频 wan2.7-video/text-to-video 和图生视频 wan2.7-video/image-to-video,单条 2–15 秒。打开模型页 就能在线生成,新用户注册送 200 积分。
  • 按秒计费,文生和图生同价:720P 每秒 $0.10,1080P 每秒 $0.167。5 秒 720P 是 $0.50。
  • 两个容易踩的坑:分辨率要写大写 720P / 1080P,默认是 1080P;文生视频的画幅参数叫 ratio,不是 aspect_ratio。

先看效果

文生视频,模型页示例,中文提示词:

一位穿着白色毛衣的年轻女子坐在咖啡馆窗边,窗外是雨天的街道,她轻轻端起咖啡杯,目光望向窗外,暖黄色灯光映照在她的脸上,雨滴顺着玻璃缓缓流下,电影级浅景深,35mm胶片质感,温暖色调,慢镜头特写

用这个提示词生成 →(1080P、16:9)

wan2.7-video/text-to-video 模型页示例,1080P,约 8 秒,按现价约 $1.336。

图生视频,用一张黏土风农场图当首帧:

首帧:黏土动画风格的农场,奶牛、绵羊、小狗、小猪和红色谷仓

黏土动画风格,欢乐农场场景缓缓活起来。奶牛妈妈慢慢咀嚼嘴里的青草,小牛好奇地歪头张望。身后的母鸡们低头啄食地上的谷粒,小狗摇着尾巴朝镜头方向小跑几步。泥坑里的小猪满足地打了个滚,溅起小小的泥花。远处红色谷仓的风车缓缓转动,绿色山丘上白云悠悠飘过。地面上的小花随微风轻轻摇摆,整个画面充满温暖的午后阳光,定格动画质感,童趣十足。

用这个提示词生成 →(上传你的首帧图)

wan2.7-video/image-to-video 模型页示例,1080P,约 8 秒,按现价约 $1.336。

图生视频的提示词按「谁在做什么」逐个写:奶牛嚼草、母鸡啄食、小狗小跑、小猪打滚。画面里每个角色给一个小动作,整张图就活了。

两条上手路线

在线试用(不写代码)

  1. 打开 Wan 2.7 文生视频 模型页,注册或登录。
  2. 粘贴提示词,选时长、分辨率、画幅。
  3. 点生成,出片后直接下载。

API 调用

  1. 在控制台创建 API Key。
  2. POST https://api.hiapi.ai/v1/tasks 提交任务,返回 taskId。
  3. GET /v1/tasks/{taskId} 查状态,status 为 success 时从 output[0].url 下载视频。

curl:第一条视频

5 秒 720P,$0.50:

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan2.7-video/text-to-video",
    "input": {
      "prompt": "一只橘猫趴在洒满阳光的窗台上打哈欠,尾巴轻轻摆动,暖色调,浅景深",
      "resolution": "720P",
      "ratio": "16:9",
      "duration": 5
    }
  }'

返回:

{"code": 200, "data": {"taskId": "tk-hiapi-..."}, "message": "success"}

查结果:

curl https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
  -H "Authorization: Bearer $HIAPI_KEY"

Python:提交、轮询、下载

# pip install requests;先 export HIAPI_KEY=你的 Key
import os, time, uuid, requests

KEY = os.environ["HIAPI_KEY"]
H = {"Authorization": f"Bearer {KEY}"}

def generate(model, timeout_s=900, **params):
    body = {"model": model, "input": params}
    # 重试提交同一个任务时带同一个 Idempotency-Key,避免重复扣费
    headers = {**H, "Idempotency-Key": str(uuid.uuid4())}
    r = requests.post("https://api.hiapi.ai/v1/tasks", json=body, headers=headers, timeout=30)
    r.raise_for_status()
    res = r.json()
    if res.get("code") != 200:
        raise RuntimeError(res)
    task_id = res["data"]["taskId"]
    deadline = time.time() + timeout_s
    while time.time() < deadline:
        d = requests.get(f"https://api.hiapi.ai/v1/tasks/{task_id}", headers=H, timeout=30).json()["data"]
        if d["status"] == "success":
            return d["output"][0]["url"]
        if d["status"] == "fail":
            raise RuntimeError(d)
        time.sleep(10)
    raise TimeoutError(task_id)

url = generate(
    "wan2.7-video/text-to-video",
    prompt="一只橘猫趴在洒满阳光的窗台上打哈欠,尾巴轻轻摆动,暖色调,浅景深",
    resolution="720P", ratio="9:16", duration=5,
)
with open("clip.mp4", "wb") as f:
    f.write(requests.get(url).content)

图生视频:用 media 传素材

图生视频不用 image_url,而是 media 数组,每一项写明类型和地址,1–3 项:

{
  "model": "wan2.7-video/image-to-video",
  "input": {
    "prompt": "镜头缓慢推进,花瓣被风吹起,人物转头微笑",
    "media": [
      {"type": "first_frame", "url": "https://your-cdn.example.com/start.jpg"},
      {"type": "last_frame", "url": "https://your-cdn.example.com/end.jpg"}
    ],
    "resolution": "720P",
    "duration": 5
  }
}

type 有四种:

type作用
first_frame首帧图
last_frame尾帧图,配合首帧做过渡
driving_audio驱动音频,让画面跟着声音动
first_clip首段视频,接着它往下生成

参数一览

参数取值说明
prompt字符串,必填最长 5000 字符,中英文都可以
negative_prompt字符串不想出现的内容,最长 500 字符
resolution720P / 1080P,默认 1080P大写,直接决定价格
ratio16:9 9:16 1:1 4:3 3:4,默认 16:9仅文生视频
duration2–15 的整数,默认 5单位秒
audio_urlwav/mp3,2–30 秒,最大 15 MB仅文生视频,可选
prompt_extend默认 true自动优化提示词;想完全按原文生成就设为 false
seed0–2147483647固定种子方便复现
watermark默认 false是否加 AI 生成水印

算一下费用

时长720P($0.10/秒)1080P($0.167/秒)
2 秒$0.20$0.334
5 秒$0.50$0.835
10 秒$1.00$1.67
15 秒$1.50$2.505

$10 在 720P 下能生成 100 秒。resolution 默认 1080P,调提示词时写 720P,能省 40%。

上线前注意

  • 用回调代替轮询:请求顶层(和 input 同级)加 "callback": {"url": "https://你的域名/hiapi/callback"},按 taskId 去重。
  • 及时转存:output[0].url 是临时链接,拿到后马上存到自己的存储。
  • 重试带幂等键:请求头加 Idempotency-Key,同一个键重试只创建一次任务。
  • 失败自动退款:只按成功生成的视频计费。

常见问题

分辨率能写小写 720p 吗?

不能。小写会直接返回 400:resolution: value must be one of '720P', '1080P'。

为什么传 aspect_ratio 报错?

Wan 2.7 文生视频的画幅参数叫 ratio。传 aspect_ratio 会返回 400:additional properties 'aspect_ratio' not allowed。

图生视频画幅怎么设?

图生视频没有画幅参数,跟随首帧。

能生成 15 秒的视频吗?

能,duration 范围是 2–15 秒。

Wan 2.7 和 Wan 3.0 怎么选?

HiAPI 上的 Wan 3.0 是参考生视频,用参考图锁定人物和商品;只要文生或图生,用 Wan 2.7。

更多写法看 Wan 2.7 文生视频提示词案例(英文)。想先试一条,去模型页生成。

现在就用 HiAPI 生成

选一个模型,输入你的提示词,直接查看生成结果。

HiAPI Blog

相关文章

HiAPI

现在就用 HiAPI 生成

开始生成