音乐三家、后期七件、增强四件:一直免费的那部分
看 OpenMontage 的 Supported Providers 折叠块,视线很容易被最上面那张 15 行的视频生成表吸走。但真正决定「你不掏钱能做到哪一步」的,是后面几张更短的表:音乐 3 行、后期 7 行、增强 4 行、分析 4 行。这几张表的性质和视频表不一样,值得单独数一遍。
先分清两种表:provider 表和 tool 表
README 这一节里混着两类清单。一类是供应商:视频 15 行、图像 11 行、TTS 5 行、音乐 3 行,每一行是一个可能要密钥的外部服务。另一类是工具:后期 7 件、增强 4 件、分析 4 件、数字人与唇形同步 4 件,每一行写的是「做什么」,不是「谁提供」。
这个区别不是语文问题,它直接影响你怎么读数字。README 的架构图里,tools/video/ 标的是 “13 video gen tools + compose, stitch, trim”,tools/graphics/ 标的是 “9 image/graphics generation tools + diagrams, code snippets, math”,tools/audio/ 标的是 “4 TTS providers”。而对应的三张表分别是 15 行、11 行、5 行。13 对 15、9 对 11、4 对 5,三组都对不上。视频和图像这两组还能用口径解释:架构图数的是 tool,表里数的是 provider,本来就不是一回事——图像那条尤其明显,架构图写的是「9 个图像/图形生成工具,外加 diagrams、code snippets、math」,本身就把图表、代码片段、数学算了进去,而表里那 11 行数的是谁提供图像。TTS 那一组连这个解释都用不上:架构图那行原文就是 “4 TTS providers”,与表同属 provider 口径,可表里明明白白列了 5 行。这是两处 README 文本之间可核实的差异,我们如实指出,不推断哪个是准的,也不拿它去评价这个项目。
所以后面凡是引用数字,我都会说清是「表里数出来的行数」还是「架构图标注的数」。
音乐三家:这一栏没有本地退路
音乐与音效表只有 3 行,全部是 Cloud API:
| Provider | Type | README 的 Notes |
|---|---|---|
| Suno AI | Cloud API | 完整歌曲生成,含人声、歌词,任意曲风,最长 8 分钟 |
| ElevenLabs Music | Cloud API | AI 音乐生成 |
| ElevenLabs SFX | Cloud API | 音效生成 |
三行里有两行来自同一家供应商,一行做音乐、一行做音效。整张表没有任何一行标 Local 或 Stock——这是它和别的表最大的结构差异。视频表 15 行里有 4 行 Local GPU、3 行 Stock;图像表 11 行里有 1 行 Local GPU、3 行 Stock、1 行 Local(ManimCE);TTS 表 5 行里有 1 行 Local(Piper,README 描述为 completely free, offline)。到了音乐这一栏,本地那一列是空的。
Suno 那行的「最长 8 分钟」是这几张表里少见的具体数值,README 直接写在 Notes 里。另外两行的 Notes 就只有「AI 音乐生成」「音效生成」一句话,没有更细的口径。README 别处那些形容词——比如 TTS 表里 ElevenLabs 那行的 “Premium voice quality”——都是 README 自己的措辞,不是我们的评价。我们没有调用过其中任何一个 API,没法替它背书,也不会据此给你选型建议。
后期七件:唯一被标了 always free 的那张表
后期制作表是 README 明确标注 always available, always free 的一张,7 项:
| Tool | 做什么 |
|---|---|
| FFmpeg | 视频合成、编码、字幕烧入、音频复用 |
| Video Stitch | 多片段拼装、交叉淡化、画中画、空间布局 |
| Video Trimmer | 精确剪切与提取 |
| Audio Mixer | 多轨混音、闪避(ducking)、淡入淡出 |
| Audio Enhance | 降噪、响度归一化 |
| Color Grade | 基于 LUT 的调色 |
| Subtitle Gen | 从时间戳生成 SRT/VTT |
把这 7 行连起来读,覆盖的是一条相当完整的后期链:剪(Trimmer)→ 拼(Stitch)→ 混音(Mixer + Enhance)→ 调色(Color Grade)→ 上字幕(Subtitle Gen)→ 合成编码(FFmpeg)。按 README 给这张表的整体标注,这一整条链都在 always available, always free 的范围里,没有一行落进需要密钥的 Cloud API 那一栏。
这里有一处可以核实的措辞重叠值得留意。FFmpeg 在这一节里出现了两次,两次的职责范围写得不一样:后期表里 FFmpeg 那行写的是「视频合成、编码、字幕烧入、音频复用」四件事,而 Composition & Rendering 那张运行时表里,FFmpeg 那行写的是「核心视频装配、编码、字幕烧入、音频复用、调色」,多了调色一项——而调色在后期表里是单列的 Color Grade,标的是基于 LUT。两处描述的边界不一致,我们只陈述差异,以仓库当前状态为准。
增强四件、分析四件:点名的是具体开源项目
增强表 4 项,分析表 4 项。它们和后期表最大的不同是:Notes 里点的是具体的模型或开源项目名。
增强:Upscale 用 Real-ESRGAN 做图像/视频超分,Background Remove 用 rembg / U2Net 做背景移除,Face Enhance 做人脸质量增强,Face Restore 用 CodeFormer / GFPGAN 做人脸修复。
分析:Transcriber 用 WhisperX 做语音转文字并带词级时间戳,Scene Detect 做自动场景边界检测,Frame Sampler 做智能抽帧,Video Understand 用 CLIP / BLIP-2 做视觉语言分析。
有一件事必须说清楚,别自己脑补:README 只在后期那张表上标了 always available, always free,增强和分析这两张表没有这个标注。 表里点了 Real-ESRGAN、rembg、CodeFormer 这些名字,也不等于它们已经躺在你的机器上——那是模型和依赖的问题,README 在这两张表里没交代,我们也不替它交代。
分析这 4 件的价值在于它们和仓库其它部分是串得起来的。WhisperX 这条线在 skills/core/ 下有两个同主题的文件:whisperx.md 和 subtitle-sync.md(文件正文我们没有读过,这里只按文件名说明它覆盖了这个主题)。CLIP 这条线对应仓库里的 lib/clip_embedder.py 和 lib/corpus.py 两个文件(内部实现未读,不展开)。Frame Sampler 这条线对应的是渲染后自检里「在 4 个位置抽帧」这个动作——也就是说,抽帧不只是给你剪片子用的,它本身是系统自查成片的手段之一。
不给任何密钥时,剩下的是哪几行
把上面几张表按 Type 列过一遍,「不需要外部密钥」的部分其实是可以数清楚的:
- 后期 7 件:README 标 always available, always free
- 旁白:TTS 表 5 行里的 Piper,Type 是 Local,README 描述为 completely free, offline
- 素材:视频表里的 Pexels、Pixabay、Wikimedia Commons 三行 Stock;图像表里的 Pexels、Pixabay、Unsplash 三行 Stock
- 本地生成:视频表 4 行 Local GPU、图像表的 Local Diffusion 与 ManimCE
ManimCE 这行有点意思:它被放进「图像生成」表里,Notes 写的却是数学动画(Mathematical animations),对应 skills/creative/manim-usage.md 这个 skill 文件。按表头分类它是图像,按它实际做的事它更像动画工具。
还有一条和「零密钥」直接相关、但写在运行时表里的原文:Remotion 那一行末尾写着,当没有配置任何视频生成 provider 时,agent 生成静态图,由 Remotion 把它们变成完全动起来的视频。这句话解释了为什么这个项目敢说没有密钥也能出片——缺口不是靠某个免费 provider 补的,是靠把「生成视频」换成「生成静态图 + 程序化动起来」这条路径绕过去的。至于绕过去之后成片是什么样,我们没有渲染过,不做任何评价。
那么,这份清单该怎么用
不是用来做选型排名的,是用来定位你自己处境的。
如果你要的成片主要是剪、拼、混音、上字幕、调色,那么按上面数出来的结构,这条链落在后期 7 件里,加上 Piper 出旁白、Stock 出素材,密钥这一栏可以先放着不管。
如果你要的是画面里本来不存在的镜头,或者一首带人声、带歌词的歌,那就必然落到 Cloud API 那几栏——尤其是音乐,那张表 3 行全是云服务,没有本地退路可选。
这个判断只用到了各表 Type 列的分类,是结构信息,不是效果判断。哪个 provider 出的东西更好、值不值这个钱,README 里那些 “High quality”、“Cost-effective”、“State-of-the-art quality”、“Premium” 全是 README 自己的措辞,我们一个 API 都没调过,不复述成结论。README 在这一节顶部还指了一份 docs/PROVIDERS.md,说里面有完整配置指南、定价和免费额度——那份文档我们没有读过,只在这里提一下名字。
最后一句提醒:想知道你这台机器上到底哪些工具是「可用」的,README 给的办法不是读表,是查 registry。tools/tool_registry.py 里的 registry 对象提供了 discover()、support_envelope()、provider_menu() 三个方法,README 把它们描述为查真实的能力边界;AGENT_GUIDE.md 的 Mandatory Preflight 一节里对这两条命令还各留了一句注释,其中 raw envelope 那条明确警告慢、输出量大,只用于调试。文档里的表是仓库当时写下的清单,registry 报出来的才是你本机的实况,两者不一定一致。
为什么这两者会分家,README 的 Contributing 一节给了线索:加一个新工具的四步里,第 2、3 步是硬契约——继承 tools/base_tool.py 里的 BaseTool 并实现工具契约,然后由 registry 自动发现,不需要手动注册。也就是说,README 里那几张表是文档里写下来的清单,registry 那边是按契约扫出来的,两者的产生方式本就不同。同一层目录里还有 tools/cost_tracker.py 与 tools/google_credentials.py 两个文件(内部实现未读,只提文件名)。这三个 registry 方法具体怎么跑、返回什么,我们没有执行过,以你本地的输出为准。
本文依据 OpenMontage 官方仓库(github.com/calesthio/OpenMontage)的 README、
AGENT_GUIDE.md、config.yaml、pipeline_defs/ 与 lib/ 下的治理模块整理,核对日 2026-08-09。
本文内容为仓库源码与文档口径,我们没有安装或运行过该系统,也没有调用过其中任何一个 provider API,
文中出现的成本数字均为项目方在 README 中自行标注的金额,非我们的实测结果。
该项目以 AGPL-3.0 发布,部分流水线在 manifest 中自标 stability: beta,请以仓库最新内容为准。
安全相关做法请结合自身环境评估,本文不构成安全方案建议。