Montai:AI 驱动的 Vlog 智能剪辑工具
> 一句话版本:Montai 是一个 AI 视频剪辑工具——你把一堆没剪辑的原始录像给它,它自己看完后帮你理出一个故事线,然后你像聊天一样告诉它怎么剪,它就能生成一条成品 Vlog。
来源: https://github.com/jysperm/Montai
作者: jysperm (王子亭)
日期: 2026-05-13 (v0.3.0, 2026-05-12)
评分: ⭐⭐⭐⭐ (4/5)
这是什么?
Montai(取 "montage" 谐音)是一个本地运行的 AI 视频剪辑 CLI 工具,由知名开发者王子亭(jysperm)创建。它专门解决一个痛点:你有一堆无剧本的原始素材(比如旅行拍的片段、日常 Vlog 素材),从头剪一条视频需要大量手动工作——看素材、找亮点、排列、加转场、配乐——Montai 用 AI 替你做了大部分。
核心流程:
1. analyze:AI 自动分析所有原始视频,理解每个片段的内容(场景、人物、亮点、技术质量)
2. story:你通过自然语言聊天,跟 AI 一起构思故事线,一步步打磨时间线
3. export/render:输出为 FCPXML(可导入 Final Cut Pro/DaVinci Resolve)或直接渲染成视频
技术亮点
架构设计非常扎实:
- TypeScript CLI 工具,本地运行,数据全存在本地 SQLite
- 双轨输出:FCPXML 给专业剪辑软件 + Remotion 做直接渲染
- Less-structured LLM outputs:设计理念是"LLM 输出尽量用自由文本而非严格 JSON",只在程序化消费时才用 JSON——这跟很多 AI 产品"强迫 LLM 输出 JSON"的做法形成对比,给了模型更多表达空间
- Feature Flag 系统:一个开关控制"提示词 + 工具"两个维度,新增功能只需定义 flag、默认值和对应的 prompt/tool 段
编辑能力很完整:
- 片段裁切、变速、音量、转场(fade/slide/wipe)
- 裁剪、Ken Burns 动画、旋转
- 文字叠加(6 个位置,带入场动画)
- 背景音乐 + AI 生成音乐(Google Lyria 2)
- 配音驱动编辑:根据录音自动匹配画面
自反馈机制:可以在编辑过程中预览任意帧截图或短片段,检查效果是否满意——这是很多 AI 视频产品欠缺的能力。
设计与理念
从 DESIGN.md 看,作者做了大量经过深思熟虑的工程决策:
- SQLite + Drizzle ORM:每个项目一个数据库,运行时自动同步 schema
- 静态 Remotion 项目:Remotion 项目文件是编译时确定的,运行时通过 CLI flags 注入动态数据——避免了运行时修改源代码的复杂性
- 镜像缓存:Gemini File API 的引用通过路径键缓存,避免重复上传
- Agent 对话持久化:每次
montai story创建一次 agent session,通过--resume恢复
这些设计表明作者对 LLM Agent 应用的架构模式有深入理解。
模型表现
项目附带了 Model-Performance.md 文档了 Gemini 3 Flash 的几个已知 bug:
- MM:SS 时间戳误解析为十进制秒(00:XX 不会出错,01:28 会被解析成 128 而不是 88)
- 新 story 的 name 参数虽是 Optional 但首次调用时必须传入,Flash 经常省略
这种"带着实测发现的 bugs 一起开源"的做法,说明作者是真的在重度使用中迭代。
实战工作流程示例:日本旅行 Vlog
假设你有 20 个零散素材片段(酒店开箱、街头美食、新干线窗外、富士山全景),存放在 ./footage/。
1. 创建项目
# montai.yaml
assets:
videos:
- ./footage
music:
- ./musics
language: zh
output:
resolution: 1080p
fps: 50
models:
analysis: gemini-3-flash-preview
editing: gemini-3.1-pro-preview
effects:
languages: [zh, en]
2. 分析素材
montai analyze
Montai 做三件事:
1. 转码素材为 Gemini 可处理的格式
2. 上传到 Gemini File API(路径键缓存,避免重复上传)
3. 逐段分析每个视频,生成场景摘要
比如对一段 3 分钟的酒店开箱视频,分析结果类似:
- 0:00-0:30 → 进门,全景展示房间
- 0:30-1:15 → 浴室特写,光线充足
- 1:15-2:00 → 窗外富士山视角,有风噪
- 2:00-3:00 → 躺在床上感叹,表情自然
3. 交互式剪辑
montai story --new
进入对话式编辑会话。AI 会说:
> AI:「据我分析你去了东京、富士山、京都,想讲什么故事?」
>
> 你:「我想做一个 3 分钟左右的旅行 Vlog,从东京开始,到富士山结束,节奏要轻松」
>
> AI:「好的,我建议这样安排:
> - 开场:涩谷十字路口延时 + 字幕『东京』
> - 第一部分:浅草寺、筑地市场(街头美食特写)
> - 中段:新干线去富士山(车窗风景)
> - 高潮:富士山全景 + 湖边散步
> - 结尾:日落在酒店阳台,字幕渐出」
>
> 你:「把筑地市场那段缩短一点,加个 1.5x 快放」
>
> AI:「明白了,筑地从 15 秒缩到 8 秒,设 1.5x 变速。还要调整别的吗?」
>
> 你:「找个轻快的 BGM,再在阳台那段加个『终』字淡出」
途中随时可以用 /preview 打开 Remotion Studio 实时预览,或用 /previewFrame 42 看第 42 帧截图确认效果。
4. 导出或渲染
montai export # 生成 FCPXML,导入 Final Cut Pro 精修
montai render my-vlog # 直接渲染成品 MP4
5. 归档(可选)
montai archive # 只提取 timeline 用到的片段,释放空间
与市面上其他方案比
| 对比维度 | Montai | 商业 AI 剪辑工具(Descript, Vizard 等) |
|---|---|---|
| 运行方式 | 本地 CLI | 云端/SaaS |
| 数据隐私 | ✅ 全部本地 | ❌ 上传云端 |
| 控制粒度 | 极细(帧级精确) | 依赖 AI 判断 |
| 导出能力 | FCPXML → 专业剪辑软件 | 通常只能导出成品 |
| 上手门槛 | 需要 CLI 和 yaml 配置 | 浏览器打开就可用 |
| 模型依赖 | Gemini + Lyria 2 | 各家自研或封闭 |
Montai 的定位很有意思——它不是要取代 Final Cut Pro,而是做"粗剪伴侣":AI 帮你完成最耗时的初步筛选和故事构建,然后导出 FCPXML 到专业工具做精修。
评价
Montai 是目前我看到的构思最完整、工程实现最扎实的开源 AI 视频剪辑工具。它不是那种"用 AI 一键生成"的噱头产品,而是一个真正理解剪辑工作流的工具——AI 做 AI 擅长的事(理解内容、提炼叙事),专业工具做专业工具擅长的事(精细调色、多轨混音),Montai 做中间的桥梁。
值得关注的发展方向:
- 社区反馈成熟度(目前 21 stars,极早期项目)
- 非 Gemini 模型的支持(OpenAI、Claude 等)
- 更丰富的效果和转场
与我们的关联
王子亭(jysperm)是中文技术圈有名的 Ruby/JavaScript 开发者,长期活跃在开源社区。这个项目体现了他对 AI + 创作工具交叉领域的深入思考,架构和设计文档的质量都很高,值得学习其 Agent 应用的工程模式。
报告完 | https://github.com/jysperm/Montai