Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/ZJU-REAL/Easelnpx agentmods add skills/zju-real/easel/ai-video-genWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zju-real/easel/ai-video-gen)<a href="https://agentmods.dev/skills/zju-real/easel/ai-video-gen"><img src="https://agentmods.dev/badge/skills/zju-real/easel/ai-video-gen/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zju-real/easel/ai-video-gen"><img src="https://agentmods.dev/badge/skills/zju-real/easel/ai-video-gen.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 21 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00145 | $0.01654 |
| Opus 5 | $0.00072 | $0.00827 |
| Sonnet 5 | $0.00029 | $0.00331 |
| Haiku 4.5 | $0.00015 | $0.00165 |
Grade A, and why
ai-video-gen scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AI 视频生成
文生视频 / 图生视频 / 数字人首帧驱动。封装
shared/scripts/ai_video.py,多 provider 可插拔、异步提交→轮询→下载。用户自备 API key(在.env配置)。
前置:配置 API key
配置检查路径铁律:先
cd到AGENTS.md末尾给出的 Easel 项目根,确认当前目录有.env和skills/shared/scripts/,再运行注册表、check或生成命令。不得改用 workspace 的./shared/scripts/...,也不得以env/printenv没显示变量为由判断未配置。
先选 provider 并在 .env 填对应 key,然后 check 离线校验:
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/主题名/。异步任务自动轮询到完成再下载。
执行步骤
- 确认配置与能力:先运行
check,再运行capabilities --provider <p> --model <m>。短剧不得根据品牌名猜测模型是否支持原生音频;新模型用VIDEO_CAPABILITIES_JSON登记能力和请求字段,无需修改调用流程。probe-dialogue(短剧用):真发 1 次生成 + ASR,测该模型能否逐字忠实说出指定台词,判dialogue_faithful并缓存——短剧据此决定用原生对白,还是"无台词生成 + 后期配音"。用法probe-dialogue --provider <p> --model <m>。
- 写好 prompt:AI 视频对 prompt 敏感,按 AI 视频提示词规范 写镜头、运镜、风格与时长。竖版短视频用
--ratio 9:16。 - 文生视频:
python skills/shared/scripts/ai_video.py text2video --provider dashscope \ --prompt "海边日落,慢镜头推进,暖色调,电影感" --ratio 9:16 --duration 5 \ --audio auto \ -o outputs/主题名/clip.mp4 - 图生视频 / 让图动起来 / 数字人首帧:
python skills/shared/scripts/ai_video.py image2video --provider kling \ --image outputs/主题名/cover.png --prompt "人物微笑挥手,头发轻微飘动" \ -o outputs/主题名/clip.mp4 - 后续加工:生成的片段可交给
video_ops.py(拼接/加字幕/加 BGM/横竖转)、auto-subtitle(字幕)、tts-voiceover(配音)串成成片,或直接进auto-short-video端到端流程。
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 76 lines · 145 tokens per session scan A a0922e470994
ai-video-gen is a skill published in the GitHub repository ZJU-REAL/Easel (794 stars, last pushed yesterday), licensed Apache-2.0. It adds 145 tokens to every session and 1,654 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
ppt-generation
Generate PPTX presentations from slide plan + content.
chart-visualization
Generate charts: select type, extract data, render image.
jacky-motion2-0-srt
A workflow for turning a Chinese spoken script and matching SRT subtitle file into a single 16:9 HTML information animation. SRT is a subtitle file that stores text with start and end times; the animation follows those times and adds recorded-screen placeholders when needed.
video-podcast-maker
Use when the user gives a topic and wants an automated topic-driven narrated explainer, podcast, or knowledge-summary video (Bilibili / YouTube / Xiaohongshu / Douyin / WeChat Channels), or asks to learn visual design patterns from a reference video/image. Trigger when the user mentions creating a knowledge video…
video-podcast-maker-lite
Minimal personal narrated-video pipeline — a topic becomes a talking-head-free explainer MP4 (1080p or 4K) via script → Azure TTS (SSML) → Remotion. Use when the user wants a quick narrated video from a topic without the full video-podcast-maker machinery (no extra skills, no thumbnails/shorts/publish matrix). Do NOT…
video-podcast-maker-nano
Smallest personal narrated-explainer-video pipeline (spoken narration over visuals, not an audio podcast), fully tool-agnostic and autonomous by default — topic → research ∥ asset collection → script → TTS → video → 4K render ∥ publish info + cover. The skill defines the pipeline logic and self-verified checkpoints…