mcpField
A
aliyun-wan-video

aliyun-wan-video

github.com/cinience创意与媒体39690 次安装11 周前更新
代码仓库

关于 aliyun-wan-video

通过 DashScope Python SDK 标准化 Wan 模型的视频生成请求与输出,适用于需要文本或图像条件生成及异步任务处理的视频 Agent 流程。

主要功能

  1. 01支持文生视频和图生视频模型
  2. 02统一请求与响应字段
  3. 03通过轮询处理异步任务
  4. 04记录任务 ID 和生成的视频 URL

适用场景

  1. 01根据提示词和设置生成视频
  2. 02创建图像条件视频
  3. 03跟踪异步生成任务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cinience/alicloud-skills --skill aliyun-wan-video

安装后在 Claude Code 中输入/aliyun-wan-video确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
api_reference.md
sources.md
scripts/
generate_dancing_video.py
generate_video.py

详细介绍

Category: 提供方

Model Studio Wan Video

验证

mkdir -p output/aliyun-wan-video
python -m py_compile skills/ai/video/aliyun-wan-video/scripts/generate_video.py && echo "py_compile_ok" > output/aliyun-wan-video/validate.txt

通过标准:命令退出码为 0,且生成 output/aliyun-wan-video/validate.txt。

输出与证据

  • 将任务 ID、轮询响应和最终视频 URL 保存到 output/aliyun-wan-video/。
  • 保留一份端到端运行日志,以便排查问题。

通过标准化 video.generate 的输入/输出,并使用 DashScope SDK(Python)和准确的模型名称,为视频 Agent 流水线提供一致的视频生成行为。

关键模型名称

使用以下准确的模型字符串之一:

  • wan2.6-t2v
  • wan2.6-t2v-us
  • wan2.2-t2v-plus
  • wan2.2-t2v-flash
  • wan2.6-i2v-flash
  • wan2.6-i2v
  • wan2.6-i2v-us
  • wanx2.1-t2v-turbo

先决条件

  • 安装 SDK(建议在 venv 中安装,以避免 PEP 668 限制):
python3 -m venv .venv
. .venv/bin/activate
python -m pip install dashscope
  • 在环境中设置 DASHSCOPE_API_KEY,或将 dashscope_api_key 添加到 ~/.alibabacloud/credentials(环境变量优先)。

标准化接口(video.generate)

请求
  • prompt(字符串,必填)
  • negative_prompt(字符串,可选)
  • duration(数字,必填),单位为秒
  • fps(数字,必填)
  • size(字符串,必填),例如 1280*720
  • seed(int,可选)
  • reference_image(字符串 | bytes,对于 t2v 可选,对于 i2v 系列模型必填)
  • motion_strength(数字,可选)
响应
  • video_url(字符串)
  • duration(数字)
  • fps(数字)
  • seed(int)

快速入门(Python + DashScope SDK)

视频生成通常是异步的。请等待任务 ID,并持续轮询直至任务完成。 注意:Wan i2v 模型需要输入图像;wan2.6-t2v 等纯 t2v 模型可以省略 reference_image。

import os
from dashscope import VideoSynthesis

# Prefer env var for auth: export DASHSCOPE_API_KEY=...
# Or use ~/.alibabacloud/credentials with dashscope_api_key under [default].

def generate_video(req: dict) -> dict:
    payload = {
        "model": req.get("model", "wan2.6-i2v-flash"),
        "prompt": req["prompt"],
        "negative_prompt": req.get("negative_prompt"),
        "duration": req.get("duration", 4),
        "fps": req.get("fps", 24),
        "size": req.get("size", "1280*720"),
        "seed": req.get("seed"),
        "motion_strength": req.get("motion_strength"),
        "api_key": os.getenv("DASHSCOPE_API_KEY"),
    }

    if req.get("reference_image"):
        # DashScope expects img_url for i2v models; local files are auto-uploaded.
        payload["img_url"] = req["reference_image"]

    response = VideoSynthesis.call(**payload)

    # Some SDK versions require polling for the final result.
    # If a task_id is returned, poll until status is SUCCEEDED.
    result = response.output.get("results", [None])[0]

    return {
        "video_url": None if not result else result.get("url"),
        "duration": response.output.get("duration"),
        "fps": response.output.get("fps"),
        "seed": response.output.get("seed"),
    }

异步处理(轮询)

import os
from dashscope import VideoSynthesis

task = VideoSynthesis.async_call(
    model=req.get("model", "wan2.6-i2v-flash"),
    prompt=req["prompt"],
    img_url=req["reference_image"],
    duration=req.get("duration", 4),
    fps=req.get("fps", 24),
    size=req.get("size", "1280*720"),
    api_key=os.getenv("DASHSCOPE_API_KEY"),
)

final = VideoSynthesis.wait(task)
video_url = final.output.get("video_url")

操作指南

  • 视频生成可能需要几分钟;应显示进度,并允许取消/重试。
  • 按 (prompt, negative_prompt, duration, fps, size, seed, reference_image hash, motion_strength) 缓存。
  • 将视频资源存储在对象存储中,并在元数据中仅保存 URL。
  • reference_image 可以是 URL 或本地路径;SDK 会自动上传本地文件。
  • 如果出现 Field required: input.img_url,则说明缺少参考图像或未正确映射。
  • 根据官方文档,wan2.6-t2v 和 wan2.6-t2v-us 支持多镜头叙事,并可选择输入音频。

尺寸说明

  • 使用 WxH 格式(例如 1280*720)。
  • 优先使用常见尺寸;不支持的尺寸可能会返回 400。

输出位置

  • 默认输出:output/aliyun-wan-video/videos/
  • 使用 OUTPUT_DIR 覆盖基础目录。

反模式

  • 不要臆造模型名称或别名;只能使用官方 Wan i2v 模型 ID。
  • 不要在没有进度更新的情况下阻塞 UI。
  • 不要在遇到 4xx 错误时盲目重试;应明确处理验证失败。

工作流

  1. 确认用户意图、区域、标识符,以及操作是只读还是会修改数据。
  2. 先运行一条最小化只读查询,以验证连接和权限。
  3. 使用明确的参数和受限的范围执行目标操作。
  4. 验证结果并保存输出/证据文件。

参考资料

  • DashScope SDK 映射和异步处理说明请参阅 references/api_reference.md。

  • 来源列表:references/sources.md

评论

支持 Markdown