检索优先的纪录片蒙太奇:不用付费视频模型也能出真素材片

2026-08-09

想做一条「有画面、有调性、素材是真实世界拍到的」片子,但又不想为每一秒都去调一次付费视频生成 API——这个诉求在 OpenMontage 里有一条明确对应的流水线,叫 documentary-montage

它特别之处不在于「便宜」。README 那张 11 行的流水线表里,只有这一行的产物描述提到了「从 CLIP 索引的免费素材与开放档案语料库剪出」——其余十行讲的都是生成或加工。它自己的 manifest 也把检索而不是生成放在了自我定义的第一句。(其它流水线的 manifest 我们没有读过,这里只比 README 表里的这十一行。)

先看它自己怎么定义自己

pipeline_defs/documentary-montage.yaml 顶部的 description 字段原文是这么写的:

Retrieval-first thematic montage pipeline. Builds a semantic corpus of real-world footage from Pexels, Archive.org (Prelinger et al.), NASA, Wikimedia Commons, and Unsplash, then uses CLIP-based retrieval to fill slot descriptions from a thematic brief. The edit arranges clips by narrative beat with music sync and uniform color grade across mixed-era footage. Inspired by Adam Curtis / Chris Marker / Errol Morris tone poems.

这段话信息密度很高,值得逐句拆:

  • retrieval-first:先建一个真实世界素材的语义语料库,来源点了五家——Pexels、Archive.org(并注明 Prelinger et al.)、NASA、Wikimedia Commons、Unsplash。
  • CLIP-based retrieval:从一份主题 brief 出发,用 CLIP 检索去填充 slot 描述。也就是说,剪辑思路是先有「这里需要一个什么样的镜头」的空位,再去语料库里检索命中,而不是先有素材再硬凑主题。
  • 剪辑规则:按叙事节拍排列片段,配合音乐同步,并对跨年代的混合素材做统一调色。这一句其实交代了这条流水线预期会遇到什么麻烦——档案素材和现代 stock 素材放在一条时间线上,色彩不统一是必然的。
  • 致敬对象:description 里点名了 Adam Curtis / Chris Marker / Errol Morris 三位。这句不是技术说明,但它把这条流水线想要的调性说清楚了。

README 的流水线表里,这一行的 Best For 写的是:视频随笔、氛围片、检索优先的 B-roll 剪辑、以及不用付费生成 API 的真实素材视频。标题里那句「不用付费视频模型」不是我们的推销话术,是 README 自己给这条流水线定的适用场景。

「不用付费模型」具体靠哪几行撑住

README 的视频生成 provider 表一共 15 行,按 Type 分成 Cloud API、Local GPU 和 Stock 三类。跟这条流水线直接相关的是 Stock 那三行:PexelsPixabayWikimedia Commons,README 给它们的 Notes 分别是 free stock footage、free stock footage、Free/open stock footage and archival video。图像那张表里另有 Unsplash,同样标 Stock、Free stock images。这几行就是 manifest 里 retrieval-first 那句话在 provider 侧的落点。整张 15 行的 provider 矩阵怎么读,我们另有一篇专门讲,这里只引与本篇相关的这几行。

CLIP 检索这一侧,README 的分析工具表里有一项 Video Understand,注明用的是 CLIP/BLIP-2 做视觉语言分析;仓库里另有 lib/clip_embedder.pylib/corpus.py 两个文件,从文件名看正对应 description 里「建语义语料库 + CLIP 检索」这两步。这两个文件的内部我们没有读过,这里只是把名字摆出来,方便你自己去核对——毕竟「检索优先」这四个字如果只停在 README 的形容词层面,是没法判断它到底怎么工作的。

需要注意的是,manifest 的 description 里点名的 Archive.org 和 NASA 并不在 README 那张视频 provider 表的行里出现——表里那行 Wikimedia Commons 的 Notes 提到了 archival video。这两处文本的覆盖范围不完全一样,以仓库当前状态为准,我们不推断原因。

素材之外还有两个环节要有着落,否则「零付费」这条路不成立:

旁白。 README 的 TTS 表里 Piper 一行标的 Type 是 Local,Notes 原文是 Completely free, offline。它是这张表里唯一不需要云端密钥的那个。

合成与后期。 README 把 FFmpeg 以及视频拼装、剪切、混音、降噪、LUT 调色、字幕生成这一组标注为 always available, always free。混合素材统一调色这件事,在工具侧对应的就是 Color Grade 这一项。

再补一条容易被忽略的:README 在讲两套合成运行时的时候写过一句,当没有配置任何视频生成 provider 时,agent 生成静态图,由 Remotion 把它们变成完全动起来的视频。这是「没有付费生成模型」时的另一条兜底路径,和检索真素材是两回事,但它解释了为什么这个系统在零 provider 状态下也不会直接卡死。运行时一旦在提案阶段被选定为 render_runtime,就会通过 edit_decisions 锁住,README 明写在运行时之间静默切换属于治理违规——这条规则我们另有一篇专门讲。

manifest 里那几个数字

架构主张听多了会麻木,所以我习惯直接看 manifest 里的硬值。documentary-montage.yamlorchestration 段是这样的:

orchestration:
  mode: executive-producer
  skill: pipelines/documentary-montage/executive-producer
  budget_default_usd: 1.00
  max_revisions_per_stage: 3
  max_send_backs: 2
  max_wall_time_minutes: 60

编排模式叫 executive-producer(执行制片)。四个数字里最值得看的是 budget_default_usd: 1.00——它比 config.yaml 里的全局 total_usd: 10.00 低一个数量级。也就是说,每条流水线可以自带比全局更紧的预算,这条检索优先的流水线自己就把默认额度压到了 1.00。同理,顶部的 default_checkpoint_policy: guided 与全局默认一致,说明 checkpoint 策略也是可以按流水线覆盖的。

另外三个数字是流程闸:每个阶段最多 3 次修订、最多 2 次打回、墙钟时间上限 60 分钟。这几个值限制的是 agent 自己反复折腾的次数和时长,不是画面质量指标。

顶部还有一行 stability: beta。这不是我们的评价,是 manifest 里的一个显式字段,项目自己标的。

扩展开关四选三放开:

extensions:
  custom_scripts: true
  custom_playbooks: true
  custom_skills: true
  custom_tools: false

允许自定义脚本、playbook 和 skill,唯独 custom_toolsfalse。想在这条流水线里挂自己写的工具,这一行就是边界。

reference_input.supported 在这份 manifest 里是 false,即这条流水线不吃参考视频入口——这个字段本身值得单独说,我们另有一篇专门讲。

required_skills 列了 8 个:1 个执行制片、5 个阶段导演(idea / scene / asset / edit / compose),加 meta/reviewermeta/checkpoint-protocol 两个 meta skill。manifest 把 skill 直接列成硬依赖,这一点和这个项目自己在架构说明里写的那句 Python provides tools and persistence(Python 提供工具与持久化,阶段怎么执行写在 Markdown 的 director skill 里)是一致的。

第一个阶段就要人批

stages 里第一个阶段叫 idea,它的定义里有三处硬事实:

  • tools_available: [] —— 空数组,这个阶段不调任何工具,只产出 brief 这一个 artifact。
  • checkpoint_required: truehuman_approval_default: true —— 还没碰任何素材,就已经要你批一次。
  • review_focussuccess_criteria 里,music plan 和 end-tag plan 都标了 MANDATORY,只有用户显式声明放弃才允许为空;而 narration 本身是 OPTIONAL,原文给的理由是:音乐 + 视觉 + end-tag 能撑住调性的话,没有旁白也行。

最后这条对本篇主题很关键。旁白是可选的、音乐和结尾字幕是必需的——这条流水线在设计上就不假定你一定要有一套语音合成链路。它同时也说明了这类蒙太奇片的成片逻辑:调性由画面节奏、音乐和那句收尾的话共同承担。

review_focus 里其余几条同样是「先把话说死」的约束:主题问题必须是一句话、调性档位必须从固定清单里取一个值、时长和形态要具体。这些都是写给模型看的评审关注点,是指令而不是工程保障——能不能真的落到位,取决于你用的 agent。

什么时候不该选它

把上面这些字段倒过来读,就是一条挺清楚的排除路径。手上已经有一段参考视频、想让系统照着它的感觉走,那 reference_input.supported: false 这一行已经把门关上了;打算把自己写的采集或处理工具挂进流程,custom_tools: false 同样是硬边界(自定义脚本、playbook 和 skill 则是放开的);主体是一个人对着镜头讲话,那更像是别的流水线的活,README 的表里另有对应行。剩下真正落在这条流水线射程内的,是主题先行、画面靠检索拼、调性靠音乐和收尾承担的那一类片子。

最后交代边界:我们只读了这份 manifest 的前 70 行,scene_plan 之后的阶段内容没有读过,其它流水线的 manifest 也没有读过,所以本文不描述任何上面没列出的阶段、字段或标准。README 里几段演示视频旁边标的成本数字,是项目方在 README 中自行标注的金额,不是我们验证过的报价,也不能拿来推算你自己做一条要花多少钱。


本文依据 OpenMontage 官方仓库(github.com/calesthio/OpenMontage)的 README、 AGENT_GUIDE.mdconfig.yamlpipeline_defs/lib/ 下的治理模块整理,核对日 2026-08-09。 本文内容为仓库源码与文档口径,我们没有安装或运行过该系统,也没有调用过其中任何一个 provider API, 文中出现的成本数字均为项目方在 README 中自行标注的金额,非我们的实测结果。 该项目以 AGPL-3.0 发布,部分流水线在 manifest 中自标 stability: beta,请以仓库最新内容为准。 许可条款请以官方 LICENSE 原文为准,本文不构成法律意见。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。