
OpenMontage:一条视频产线,编排器就是你的编码 Agent
今天拆的是 OpenMontage:把 12 条视频管线装进 Claude Code 或 Codex,一句需求跑到 final.mp4。文章给全它在链条上的位置、一个 API key 都不配能走到哪一步、AGPLv3 与审批门这两处会卡住的地方,以及今天该不该动手的判断。
今天这一个叫 OpenMontage,仓库挂在 GitHub 的 calesthio 账号下。它给自己的定位写在仓库页顶上的 About 栏里:「World's first open-source, agentic video production system」——第一个开源的 Agent 视频生产系统,12 条生产管线、100+ 工具、700+ 技能与生产知识文件,把你的编码助手变成一整套视频生产流程1。截至今早,这个仓库显示 59.3k star、7.5k fork、449 次提交、97 个 open issue,许可一栏是 AGPL-3.01。它和上一期的 video-shotcraft 落在链条的不同位置:那边的资产是镜头和动效,这边的资产是流程。
谁在编排:你的编码 Agent
OpenMontage 的 README 把架构讲得很直白:这里没有代码编排器,你的编码助手就是编排器。原话是「The AI agent IS the intelligence」,以及「Python = tools + persistence」——Python 只提供工具和状态持久化,编排逻辑、创作决定、评审标准、检查点策略一律写进可读的指令文件,留在代码之外2。
这条路线带来一条硬约束。AGENT_GUIDE 把它放在「Rule Zero」下面:任何视频生产请求都必须走
pipeline_defs/ 里的一条管线;临场写 Python 脚本直接调工具、跳过 preflight、绕过检查点,都在明令禁止之列;给出的理由是「The intelligence is in the skills, not in improvised code」2。画面本身交给三条渲染路径:Remotion(React 合成)、HyperFrames(HTML/CSS/GSAP,要求 Node ≥ 22,通过
npx 调用,不需要 checkout 仓库)、FFmpeg1。用哪一条在 proposal 阶段就定下来,锁进 edit_decisions,仓库把这件事叫 render_runtime,静默换运行时按它的说法属于 governance violation1。
pipeline_defs 放管线清单,skills 与 .agents/skills 放技能文件,remotion-composer 放 React 合成引擎,backlot 放那块看板,schemas 放校验契约。右侧 About 栏的 12 条管线、100+ 工具、700+ 文件,就是这一期的规模口径。1十二条管线,和一份还在追赶的账
README 的管线表里列了 11 条:Animated Explainer、Animation、Avatar Spokesperson、Cinematic、Clip Factory、Documentary Montage、Hybrid、Localization & Dub、Podcast Repurpose、Screen Demo、Talking Head。About 栏与仓库简介写的是 12 条;正文别处还有一条表里没有的 character-animation,报 issue #591 的人也跑过这条管线13。仓库自己的社交预览卡上印的数字更旧,写的是「11 pipelines · 47 tools · 124 agent skills」1。
数字对不上这件事本身有信息量:这是一个几个月里从几十条工具长到上百条工具的项目,它自己的文档和配图还在追着代码跑。
无论走哪一条管线,阶段是同一套:research → proposal → script → scene_plan → assets → edit → compose。每个阶段配一份 director skill(Markdown),教 Agent 这一步怎么做、用什么工具、按什么标准自检,然后在创作决策点上停下来等你确认1。
知识被分成三层:
tools/ 与 pipeline_defs/ 是「有什么」,即可执行能力与编排;skills/ 是「怎么用」,即这套系统的规范与质检线;.agents/skills/ 是「怎么回事」,即外部技术的知识包。每个工具会声明自己依赖哪几个第三层技能1。工具那一层的规模:20+ 视频生成 provider、15+ 图像 provider、10+ 语音 provider,另有放大、去背景、人脸修复、WhisperX 词级转写、场景切分、CLIP/BLIP-2 画面理解、口型同步这些后期与理解工具;后期这一类(FFmpeg、多片拼接、裁剪、混音、调色、字幕)不依赖任何 key1。
选哪个 provider 由一套七维评分决定:任务匹配 30%、输出质量 20%、可控性 15%、可靠性 15%、成本效率 10%、延迟 5%、连续性 5%;中选者和落选者一起记进决策日志1。
从一句需求到 final.mp4
前置四样:Python 3.10+、FFmpeg、Node.js 18+、一个能读文件跑代码的编码助手。装法是 clone 下来跑
make setup;README 另外给了 macOS/Linux 与 Windows 两套等价的逐条命令,Windows 上 npm install 报 ERR_INVALID_ARG_TYPE 时改用 npx --yes npm install1。装完把项目在编码助手里打开,说一句需求。README 给的两个例子是「Make a 60-second animated explainer about how neural networks learn」,以及走实拍路线的「Make a 75-second documentary montage about city life in the rain. Use real footage only, no narration, elegiac tone, with music.」——想走第三条免费路线,要显式说出「use real footage only」,否则它默认走向生成1。成片落在
projects/<项目>/renders/final.mp4,中间产物都是普通文件。兼容性上,README 列了五个编码助手:Claude Code、Cursor、Copilot、Codex、Windsurf,各有自己的配置文件,都指向同一份
AGENT_GUIDE.md 与 PROJECT_CONTEXT.md1。官网那边的口径不一样:首页写的是「Runs on OpenMontage Studio · Claude Code · ChatGPT Codex · OpenCode」,入口则是桌面端的 Studio(私人 alpha,正在排 beta 的 waitlist)加上 Claude Code 的 openmontage 插件,装插件这件事被描述成「引擎以一套 MCP 工具集交付」4。仓库 issue 里另有一条 #636,9 月 6 日提交,标题是待办状态的「feat: mcp tools support」5。
一个 API key 都不配,能走到哪一步
README 单独列了一张零 key 的表:Piper TTS 本地离线旁白、Archive.org 加 NASA 加 Wikimedia Commons 的开放影像、Pexels/Unsplash/Pixabay(开发者 key 免费申请)、Remotion、HyperFrames、FFmpeg,以及内置的词级字幕1。
对应的三条免费路线写在同一个地方:图像路线(Piper 念稿、图像当画面、Remotion 把静图动起来)、本地角色动画路线(SVG 绑定加 GSAP 时间线,交给 HyperFrames 渲染动画角色)、实拍路线(从 Archive.org、NASA、Wikimedia Commons 建一个 CLIP 可检索的素材语料库,再剪成片)1。
花钱的档位,README 自己也标了:配一个图像或视频 provider,一条 30 秒片子的 prompt 大约 $0.15–$1.50;整条流程大约 $1–$31。官方示片里给得出实际数字的几个:「THE LAST BANANA」60 秒,6 段 Kling v3 生成片段(经 fal.ai)、Google Chirp3-HD 旁白、免版税钢琴曲、词级字幕、Remotion 合成,合计 $1.33;「Reimagine Your Universe」50 秒约 $4;七个模型合集的音乐短片约 $51。
预算在 OpenMontage 里是一件被做成机制的事:每次执行前估算、预留额度、事后对账;默认单个动作超过 $0.50 暂停等确认;总预算上限默认 $10,可以配成 observe(只记录)、warn(超了写日志)、cap(硬停)三种模式1。官网把它画成流程里的第五个阶段,叫 THE GATE:分镜、脚本和费用估算一起摆出来等你点确认,示例估算是「209 CR ≈ $2.09」。Studio 本身标的是对所有人免费,按量计费的那部分是走它云端的生成4。
会卡住的地方
许可是 AGPLv3,而「成片归谁」是另一个问题
仓库的许可一栏和 LICENSE 文件都是 AGPL-3.016。AGPL 的序言把自己的特殊之处写得很清楚:它专门处理网络服务器这种情形,要求运行网络服务的运营者向该服务器的用户提供他那里运行的修改版本的源代码6。
同一份许可第 2 条另有一句关于输出的规定:运行一个受本许可覆盖的作品所产生的输出,只有在该输出本身按其内容构成受覆盖作品时,才受本许可覆盖6。
官网讲立场的那一节写的是另一回事:引擎开源、项目格式公开、Studio 对所有人免费;成片在你自己的机器上渲染,没有水印,所有档位(含免费档)都可以商用4。
软件许可和成片权利,是你要分别问的两个问题。自己内部用,和把它做成对外提供的服务,落到的是不同的条款;两份原文的链接都在上面,具体到你的用法该怎么算,这件事该由你和你那边的法务来判断。
审批门是硬停点
AGENT_GUIDE 规定审批逐门进行,一句早先的「继续」覆盖不了后面的门;要让整条流程的预授权算数,唯一被承认的方式是把它记成一条 category 为
approval_policy 的 decision_log 条目3。issue #591(8 月 31 日,至今 open,没有标签也没有指派人)说,这个取值不在 decision_log 的 schema 枚举里,写进去会被校验拒绝,检查点也就写不成3。报告者是在 character-animation 这条管线上撞上的:用户看过样片,说了「把 20 秒整条做出来」,他随后发现这句授权无处可记。他自己给了三个选项——照着指南做然后丢掉这次检查点写入;把这条决定挂到一个能通过校验的无关类别下;或者不管预授权,每一道门都停下来。他用的是第四个办法,把授权记进
proposal_packet.metadata,代价是这条决定不会出现在看板的 Decisions 轨道上3。适用范围要说清楚:这是一个人在一条管线上的一次遭遇,眼下它在仓库里还是一条没有标签、没有指派人的 open issue。它说明的是,想让整条产线无人值守地跑完,眼下得在两种都不理想的走法里挑一个。

docs/images/backlot/。上面一排是研究、提案、剧本、分镜、素材、剪辑、合成、发布各阶段,剧本和分镜上盖着 APPROVED;右侧 DECISIONS 轨道记着 compose 选了 remotion、备选是 HyperFrames,以及图像生成选 flux_image 的理由;下方分镜卡上每张都标着单张成本。这一排 APPROVED,就是无人值守那条路上要跨的坎。1运行时和版本要求
前置条件写的是 Node.js 18+,同一份 README 的合成引擎表里,HyperFrames 写的是 Node.js ≥ 221。
issue #590(8 月 31 日,同样 open)记了另一个:
hyperframes_compose 每次操作前都要拿 npm view hyperframes version 探一次包,超时 5 秒;registry 一慢,它就判定运行时不可用并拒绝渲染,哪怕那个 CLI 已经在 npx 缓存里、前后几秒刚用同一个 CLI 渲完 600 帧。报告者的诊断是,这个探针实际回答的是「我现在能不能装」,代码却拿它决定「我现在能不能渲染」;探针结果按进程缓存,一次慢会把这一轮后面的调用一起带下水。他的环境是 hyperframes CLI 0.8.20、Node v22.23.2,npx hyperframes doctor 全绿7。仓库自己清楚这一类问题的分量。AGENT_GUIDE 要求 preflight 阶段把
runtime_warnings 原样念给用户听,理由是这类静默失败会破坏治理契约;preflight 的结论只有三种:passed、degraded、blocked,判为 blocked 时不允许开始生产2。issue 列表里还有几条值得扫一眼的:#626 提醒有人在散布假的 OpenMontage-app 安装包,而这个仓库只发布源码、不发任何二进制;#637 说
diagram_gen 在没有 mermaid-cli 时会报 AVAILABLE,并把 mermaid 源码当成文本卡渲出来;#654 说 BarChart 对非整数数据的数值标签会写错5。和上一期那套放在一起
| 方案 | 你给它什么 | 它给你什么 | 它在这一层 | 许可与公开体量 |
|---|---|---|---|---|
| OpenMontage | 一句需求,加上你的素材(截图、录屏可选) | 走完工序的成片,带审批门、决策日志和预算上限 | 流程与方法层,管的是哪个阶段谁做什么 | AGPL-3.0;59.3k star、7.5k fork |
| hypit | 一支参考视频,或一句描述 | 一套以词为锚点的工作流,换宿主、换语言、换比例都能重跑 | 视频工作流的描述语言 | 自订的 Hypit 开源许可8 |
| video-shotcraft(第 1 期) | 一句需求和你产品的截图 | 一支还能继续编辑的 Remotion 宣传片工程 | 站在 Remotion 之上的镜头与动效资产库 | Apache-2.0;8.7k star、785 fork9 |
| HyperFrames | 用 HTML、CSS 和 GSAP 写的合成 | 确定性渲染出的 MP4 | 渲染底座 | 开源,官网写的是为 AI Agent 打造的 HTML-to-video 框架10 |
四者是叠加关系。OpenMontage 在最上面选流程、定 provider、管预算和审批,合成交给 HyperFrames 或 Remotion,后期交给 FFmpeg;hypit 那门语言管的是工作流的可重跑性;video-shotcraft 补的是每个镜头长什么样。
今天装还是不装
今天就能装的:你手上有一个编码助手,要出的是解说、产品演示、屏幕录制或者纪录片式混剪这类片子,而且你愿意先读一遍 AGENT_GUIDE。先走零 key 那条路——clone、
make setup,让它做一支 45 秒的解说片,看它的自检(ffprobe、抽帧、音频电平)和 Backlot 看板值不值得留在你的流程里。这一步不产生生成费用。自己内部用、不对外提供服务的话,AGPL 那一段可以先记着。先收藏的:你要的是无人值守的批量出片。审批门和 issue #591 那件事没有下文之前,这条产线需要有人在门口按确认。你要把成片做成对外提供的服务,AGPLv3 该在你动手前过一遍,这件事落在你那边的法务桌上。你在等桌面端的话,官网的 Studio 现在还挂着私人 alpha 和 waitlist,而仓库里那条命令行路径今天就能走。
跳过的:你要的只是「一句 prompt 出一条片段」。那用生成模型自己的产品更省事——12 条管线和 700+ 技能文件对你都是负担。OpenMontage 的长处,是把已有的素材、免费素材库和生成的片段编进一条有流程、有记录、有预算上限的产线;画面本身的上限,仍然由你接的那个模型决定。
References
- 1calesthio/OpenMontage — GitHub
github.com
- 2AGENT_GUIDE.md — OpenMontage
github.com
- 3
- 4OpenMontage 官网
openmontage.video
- 5Issues · calesthio/OpenMontage
github.com
- 6LICENSE — OpenMontage
github.com
- 7
- 8hypit-ai/hypit — GitHub
github.com
- 9Vincentwei1021/video-shotcraft — GitHub
github.com
- 10HyperFrames
hyperframes.dev
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.
