# AI Video Gen

AI 视频生成：文生视频 / 图生视频 / 数字人首帧驱动。通过可插拔 provider（通义万相 Wan / 火山 Seedance / 快手可灵 / OpenAI...

- Repository: https://github.com/ZJU-REAL/Easel (4293 stars)
- Category: Media
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add ZJU-REAL/Easel --skill ai-video-gen -g -a claude-code -y`
Codex: `npx skills add ZJU-REAL/Easel --skill ai-video-gen -g -a codex -y`
Cursor: `npx skills add ZJU-REAL/Easel --skill ai-video-gen -g -a cursor -y`
Gemini CLI: `npx skills add ZJU-REAL/Easel --skill ai-video-gen -g -a gemini-cli -y`

## Description

AI 视频生成：文生视频 / 图生视频 / 数字人首帧驱动。通过可插拔 provider（通义万相 Wan / 火山 Seedance / 快手可灵 / OpenAI 兼容）异步生成视频，用户自备 API key。当用户说 AI 视频生成、文生视频、图生视频、AI 生成视频、AI 短视频、让图片动起来、数字人视频、生成一段视频 时使用。与 video-strategy（选型/策略）、video-editing（剪辑处理）、clipify（切片）区别：本 SKILL 是从 0 用 AI 生成新视频。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# AI 视频生成

> 文生视频 / 图生视频 / 数字人首帧驱动。封装 `skills/shared/scripts/ai_video.py`，多 provider 可插拔、异步提交→轮询→下载。**用户自备 API key**（在 `.env` 配置）。

## 前置：配置 API key

> **配置检查路径铁律**：先 `cd` 到运行时说明给出的 Easel 项目根，确认当前目录有 `.env` 和 `skills/shared/scripts/`，再运行注册表、`check` 或生成命令。不得改用 workspace 的共享脚本副本，也不得以 `env` / `printenv` 没显示变量为由判断未配置。

先选 provider 并在 `.env` 填对应 key，然后 `check` 离线校验：

```bash
python skills/shared/scripts/ai_video.py check --provider dashscope
```

| provider | 服务 | 需在 .env 配 |
|----------|------|-------------|
| `dashscope` | 阿里通义万相 Wan | `DASHSCOPE_API_KEY`（可选 `DASHSCOPE_VIDEO_MODEL`/`DASHSCOPE_BASE_URL`；兼容旧名 `DASHSCOPE_MODEL`） |
| `ark` | 火山引擎 Seedance | `ARK_API_KEY`（可选 `ARK_MODEL`/`ARK_BASE_URL`） |
| `kling` | 快手可灵 | `KLING_ACCESS_KEY` + `KLING_SECRET_KEY`（JWT 鉴权） |
| `openai-compatible` | 通用 /videos 端点 | `VIDEO_API_KEY` + `VIDEO_BASE_URL`（可选 `VIDEO_MODEL`） |
| `xhs-maas` | 小红书内网 MaaS（happyhorse 文/图生视频）| `XHS_MAAS_API_KEY`（可选 `XHS_MAAS_VIDEO_BASE`/`XHS_MAAS_T2V_MODEL`/`XHS_MAAS_I2V_MODEL`）。DashScope 风格异步 + api-key 头，内网直连 |
| `agnes` | Agnes（agnes-video-2.5-flash）| `AGNES_API_KEY`（可选 `AGNES_BASE_URL`/`AGNES_MODEL`/`AGNES_SIZE`）。OpenAI Videos 兼容创建 + 自定义端点轮询；**默认带原生音频**（prompt 描述声音）；外网走代理 |

也可设 `VIDEO_PROVIDER` 免去每次 `--provider`。

执行前先跑 `model_registry.py configured --group video --env-file .env`：只有一个可用就显式选它；多个可用且用户没点名时，列出 provider/模型询问本次使用哪个，不按默认值擅自选择。

## 输入

> **画幅确认硬门**：用户或上游任务未明确横版/竖版（或 16:9/9:16/具体比例）时，任何生成/付费调用前必须追问并等确认；不得从平台、Profile 或脚本默认值静默推断。已明确则不重复问。

- 文生视频：画面/镜头/风格描述（prompt）
- 图生视频：一张输入图（本地路径或 URL）+ 可选运动描述
- 可选：时长 `--duration`、画幅 `--ratio`（16:9 / 9:16 / 1:1）、模型 `--model`、原生音频 `--audio auto|on|off`

## 输出

生成的视频文件；必须用 `-o` 指定到 `outputs/主题名/`。异步任务自动轮询到完成再下载。

## 执行步骤

The rest: https://github.com/ZJU-REAL/Easel/blob/HEAD/skills/builtin/ai-video-gen/SKILL.md
