Install
openclaw skills install @jinxuchen2020/ai-video-auto-generatorAI 短视频全自动流水线:从想法到成片,一键出视频。脚本生成→自动修复→资产生成→视频→音频→字幕,全自动无人值守。| AI video auto pipeline: from idea to final video, one command. Script generation → auto repair → assets → video → audio → subtitles, fully automated.
openclaw skills install @jinxuchen2020/ai-video-auto-generator📖 README:
README.md| CHANGELOG:CHANGELOG.md
将书面需求转换为结构化视频脚本,用于AI视频生成流水线。
目录
🔥 尝鲜(30 秒出预览,无需 API Key):
# 在 skill 根目录执行
python skills/project-generate/scripts/pipeline.py --project ./sample --mode demo
💬 一句话生成视频(推荐,通过 AI Agent):
# 1. 在 WorkBuddy 中加载 ai-video-auto-generator skill
# 2. 直接告诉 AI Agent 你的需求,例如:
# "帮我做一个古代将军在现代城市醒来的短视频,紧张氛围,约30秒"
# 3. Agent 会自动:分析需求 → 生成 script.json → 跑流水线 → 出片
📌 脚本生成已由 AI Agent 接管。 之前的
--mode generate/--prompt命令已废弃,保留入口但不再执行脚本生成。所有脚本生成直接在对话中完成。
📄 从文档生成视频(通过 AI Agent):
# 直接把文件/URL/飞书链接发给 AI Agent
# Agent 会自动读取内容 → 生成 script.json → 跑流水线
📦 从模板创建(手动编辑):
# 在 skill 根目录执行
python scripts/create_project.py --project "$HOME/WorkBuddy/我的视频" --template short_drama
cd "$HOME/WorkBuddy/我的视频" && python skills/project-generate/scripts/pipeline.py --mode auto
详细说明见
README.md。
你提供需求,AI Agent(当前对话)帮你搞定一切。 不需要手动调命令,直接说就好。
| 你的输入 | Agent 自动执行 |
|---|---|
"帮我做一个军事短剧,紧张氛围" | ① 解析需求 → 生成 script.json → 写回项目目录② 创建角色卡、场景卡、镜头列表 ③ 运行 --mode auto 启动流水线 |
"从这篇文章生成视频" + 贴 URL | ① WebFetch 读取文章内容 ② 分析角色/场景/情绪 → 生成 script.json③ 运行 --mode auto |
"从这份文档生成视频" + 上传文件 | ① Read 读取文档内容 ② 提取关键信息 → 生成 script.json③ 运行 --mode auto |
"帮我优化这个脚本" + 贴 JSON | ① 读取当前 script.json② 运行 optimize 命令(OptimizerV2)做 12 维叙事修复③ 输出修复报告 |
"修一下 shot_05 的运镜问题" | ① 定位问题 ② 修改 script.json③ 通知验证结果 |
当 Agent 为你生成 script.json 时,遵循以下标准:
📋 角色卡要求:
- 每个角色必须有 name / title / appearance(clothing/physique/face/features)
- appearance 要细化到发型、脸型、瞳色、肤色、体态、着装
- 每个角色至少 front + face 两个视图,主角加 side + back
- asset_background 固定为 "white"
📋 场景卡要求:
- 每个场景有 name / description / views(广角/中景/特写)
- description 描述环境氛围(光线/色调/空间感/情绪)
📋 镜头要求(最重要):
- 每个镜头有 id / description / duration
- voice_over(旁白)和 dialogue(对白)根据以下规则填写:
voice_over 旁白(TTS 音频 + 字幕):
── 谁在说话: 非角色,解说/叙事者/内心独白
── 适用 shot_type: 远景/广角/空镜/建立/转场/过渡
── 视频是否自带声音: ❌ 不包含,需 TTS 生成
── 写作要求: 用人类叙事语言,不能直接照搬 description
正确: "硝烟弥漫的废墟战场上,周戎站在高处俯视着远方。"
错误: "周戎在画面远处,突然,废墟战场全景,硝烟弥漫,断壁残垣中周戎站在废墟高处俯视战场,广角远景"
── 生成后自检: voice_over 中不能有景别(中景/远景/特写/广角)、拍摄指令(俯拍/仰拍)、角色定位("在画面远处")
── 标点规则: 用空格代替所有标点符号(逗号/句号/感叹号等),但需保证断句合理,方便 TTS 自然停顿
断句规则:
- 每个空格代表一次自然停顿,每段 5~10 个汉字为宜,便于 TTS 一口气读完
- 在完整语义单位后断句:场景描述后 / 动作完成后 / 人物出现后
- 禁止在修饰语和中心语之间断开("硝烟弥漫的"和"废墟战场"之间不能断)
- 主语和谓语不断开("周戎站在高处"不能断为"周戎 站在高处")
- 动词和宾语不断开("俯瞰着整片战场"不能断为"俯瞰着 整片战场")
正确: "硝烟弥漫的废墟战场上 断壁残垣间 周戎站在高处俯瞰着整片战场"
错误: "硝烟弥漫的 废墟战场上 断壁残垣间 周戎 站在 高处 俯瞰着 整片战场"
dialogue 对白(仅字幕,视频已自带声音):
── 谁在说话: 屏幕上的角色在对话/独白/回应
── 适用 shot_type: 中景/双人/过肩/反应/独白/近景
── 视频是否自带声音: ✅ Agnes 视频已包含角色对话声
两者可共存: voice_over 放旁白,dialogue 放对白
两者都无: 纯画面镜头(动作/追逐/环境),无台词
- 每个镜头生成后必须做三选一检查:是否决定好了 voice_over / dialogue / 两者皆无
- 不允许出现: 镜头 ≥5 秒且 voice_over/dialogue 都为空,且 description 未描述动作/追逐内容
- description 包含: 景别 + 运镜 + 人物动作 + 环境 + 情绪
- ⚠️ **description 中涉及角色的地方必须使用角色卡中的全名或实词(如「君无烬(奶牛猫)」或「君无烬」),禁止使用「猫」「狗」「他」「她」「男子」「女子」「老人」等泛称代词。**
- 反例: 「猫吃得太急 不小心打了一个响亮的嗝」(「猫」是泛称,optimizer 无法匹配到具体角色)
- 正例: 「君无烬(奶牛猫)吃得太急 不小心打了一个响亮的嗝」
- 理由: optimizer 的 `_fix_shots` 靠文本匹配补全 characters 字段,泛称会绕过全部四种匹配规则(全名/实词/括号内容/逐字),导致角色缺失不被发现
- duration 3-8 秒,总时长控制在 60-120 秒
- 前 3 个镜头要有钩子(冲突/悬念/意外)
- 高潮镜头放在总时长的 70-85% 处
- 收尾镜头要有结局感
📋 叙事结构:
- 开头抓人 → 展开 → 冲突升级 → 高潮 → 收尾
- 运镜要变化(不要连续 3+ 镜头同运镜)
- 情绪要有起伏(不要从欢快跳到悲伤)
- 对话和动作镜头比例合理(各不超过 70%)
📋 流水线触发:
- script.json 写完后,自动执行 `pipeline.py --mode auto`
- 如果项目已有 task_tracker 且部分完成,auto 会自动从断点继续
# Agent 一键出片(在对话中描述需求即可)
# 上述步骤全部由 AI Agent 自动完成
# 如果你需要手动查状态
tail -f auto.log # 查看流水线进度
AI Agent(你) → script.json → 9 阶段全自动流水线 → final.mp4
阶段 0: 脚本优化(含 12 维叙事结构修复)
阶段 1: 构建资产 prompt 文件
阶段 2: 角色资产生成 + 6 维质量验证(55 分制)
阶段 3: 辅助资产生成 + 质量验证
阶段 4: 场景资产生成 + 人脸检测 + 风格检测
阶段 5: 初始化首帧图
阶段 6: 首帧图生成 + 50 分制验证
阶段 7: 提交视频任务 + 验证 prompt
阶段 8: 轮询完成 + 55 分制视频验证 + 拼接 + 音频 + 字幕
全部阶段支持断点续跑。
| 资产 | 检查项 | 评分 |
|---|---|---|
| 角色图 | 文件+模糊+人物=1+背景+全身+风格 | 55 分 |
| 场景图 | Haar 人脸检测 + Canny 风格匹配 | pass/fail |
| 首帧图 | 文件+比例+模糊+HOG人数+色彩 | 50 分 |
| 视频 | 时长+比例+黑帧+光流运镜+情绪匹配 | 55 分 |
fail → classify(5 categories) → strategy(soften/switch/backoff/regen) → capped retry(max 10)
python skills/project-generate/scripts/pipeline.py --mode setup # 环境检测 + 自动装依赖 + 复制 Key 模板
python skills/project-generate/scripts/pipeline.py --mode auto # 全自动流水线(从中断继续)
python skills/project-generate/scripts/pipeline.py --mode validate # 预检(只验证不生成)
python skills/project-generate/scripts/pipeline.py --mode demo # 快速尝鲜(30 秒,无需 API Key)
python skills/project-generate/scripts/pipeline.py --mode poll --detached # 仅轮询
# 项目级子命令(project_generate.py)
python skills/project-generate/scripts/project_generate.py --project . status # 结构化状态(默认 JSON,--text 人类可读)
python skills/project-generate/scripts/project_generate.py --project . stitch --tracker local # 单独跑拼接(不重新提交/轮询)
AI video auto pipeline: from idea to final video, one command.
Load this skill in WorkBuddy, then tell the AI agent what you want:
"Create a short video about an ancient general waking up in a modern city"
"Generate a video from this article" + paste URL
"Turn this document into a video" + upload file
The agent will:
script.json (characters, scenes, shots)pipeline.py --mode auto — fully automated pipelinefinal.mp4 is ready| Stage | Description |
|---|---|
| 0 | Script optimization (incl. 12-dim narrative auto repair: hook/pacing/camera/emotion/closure) |
| 1 | Build asset prompt files |
| 2 | Character asset generation + 6-dim quality verification (55pt) |
| 3 | Troop asset generation + verification |
| 4 | Scene asset generation + face detection + style check |
| 5 | Initialize first frames |
| 6 | First frame generation + 50pt verification |
| 7 | Submit video tasks + prompt verification |
| 8 | Poll completion + 55pt video verification (camera motion/mood/black frames) + stitch + audio + subtitles |
All stages support resume from checkpoint (Ctrl+C / crash / shutdown).
python skills/project-generate/scripts/pipeline.py --mode setup # Auto-install dependencies + copy API key template
python skills/project-generate/scripts/pipeline.py --mode auto # Full pipeline (resume from checkpoint)
python skills/project-generate/scripts/pipeline.py --mode validate # Pre-flight check (no generation)
python skills/project-generate/scripts/pipeline.py --mode demo # 30s preview, no API key needed
python skills/project-generate/scripts/pipeline.py --mode poll --detached # Poll only
--mode setup)