Easel is an open-source content workspace and AI agent for managing social media from trend discovery through planning, content creation, publishing, and performance analysis. It is intended for social media creators and maintains separate account profiles, content projects, platform adaptations, and publishing records. The catalogue skills support these content and publishing workflows.
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.01648 |
| Opus 5.5 | $0.00058 | $0.00659 |
| Sonnet 5.5 | $0.00029 | $0.00330 |
| 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 14d 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 视频生成
文生视频 / 图生视频 / 数字人首帧驱动。封装
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 离线校验:
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.
- 14d ago Changed 479867c010cc
- 1mo 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 (4,115 stars, last pushed 2d ago), licensed Apache-2.0. It adds 145 tokens to every session and 1,648 once invoked, about $0.0006 per session on Opus 5.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
bmad-spec
Condense any input — an idea, brief, PRD, transcript, or mixed notes — into a short spec: one kernel file plus supporting files that downstream skills build from. Also updates and validates existing specs. Use when the user says "create a spec", "distill this into a spec", "validate this spec", or "update the spec".
bmad-advanced-elicitation
Push the LLM to reconsider, refine, and improve its recent output. Use when user asks for deeper critique or mentions a known deeper critique method, e.g. socratic, first principles, pre-mortem, red team.
jacky-motion2-0
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.
bmad-build
Turns implementation work into working code, reviewed and verified. Use when the user delegates a feature, story, bug fix, or meaningful change; a bare story or issue link counts. Skip obvious, low-risk mechanical maintenance such as small ignore-file, typo-only, formatting-only, or configuration-hygiene edits.…
bmad-retrospective
Review a finished epic folder in the ticket tree against the evidence it left behind — the epic file, each ticket plan, diffs, commits — and produce a retrospective with sourced findings, action items, and an acceptance decision. Use when the user says "run a retrospective" or "lets retro the epic [epic]". Supports…
bmad-review
Runs one or more installed review lenses — adversarial critique, edge cases, verification gaps, structure, prose — and reports triaged findings. Use when, and only when, the user asks you to review a diff, a pull request, or an artifact — code or documents, one or many — and actually says "review"; an explicit…