从一个想法开始
“给我们的冷萃罐做一条 30 秒的上新视频。”
agent 先写 Brief,拿出一份你可以拍板的创意方案,然后才会问你要不要花钱。
Brief 怎么写 →给它一句需求或一条参考视频,它选角、配音、做逐字字幕、加动效、混音,全部放在同一条时间线上,最后交给你一支通过验收的短片。
它负责整条生产链:生成、语音对时、合成和交付检查,不止合成这一步。
npx skills add EmergenAI/video-recut -g
一条片子
需求进来,台词、镜头、字幕和声音落到同一条时间线上;播放时印章落在对应的词上;全部检查通过,才算交付。
差距在哪
用生成素材拼过短视频的人,大概都碰到过下面这些事。右边一栏是这个 Skill 替你管的部分。
同一个角色的每次生成都带同一组参考图,参考图之间的依赖关系也有记录。
guides/3-materials/reference-chains.md事件绑在说出的那个词上,而不是手填的秒数。换词、重配音,事件跟着词走。
timing/timeline.json · guides/4-compose/timing.md画面编排、字幕、动效都写在一个 HTML 页面里,改完重新渲染,只花时间。已生成的素材通过 manifest 复用。
manifest.json · bibei.mjs status声音按角色来选:先试听、定下来,这个人的每一段台词都用同一个声音。
guides/3-materials/voices.md正式渲染先对照计划检查;agent 还会把最终文件完整看一遍、听一遍,才算交付。
plan.json · scripts/check.mjs对比
| 视频生成工具 + 剪辑软件 | 让 agent 写脚本和提示词 | Video Recut | |
|---|---|---|---|
| 你拿到什么 | 一堆镜头,自己拼 | 脚本和提示词,自己生成、自己剪 | 通过检查的成片,加上全部可编辑的源文件 |
| 揭晓、切镜放在哪 | 轨道上的某一秒 | 没有安排 | 放在它呼应的那个词上 |
| 改一处的代价 | 重新生成,或手动重剪 | 重新生成 | 改页面、重新渲染;花过钱的素材直接复用 |
| 画面体系归谁 | 先归模型,再归你的剪辑轨道 | 没人管 | 一个看得懂、改得动的 HTML 合成页 |
| 交付前 | 靠你自己看 | 没有检查 | plan.json 检查,再由 agent 审一遍成片 |
Video Recut 不替代生成模型,而是调度它:图片、视频和对时在你自己的必贝账号上运行,语音用账号里的模型或你选的 TTS 服务。
从哪开始
“给我们的冷萃罐做一条 30 秒的上新视频。”
agent 先写 Brief,拿出一份你可以拍板的创意方案,然后才会问你要不要花钱。
Brief 怎么写 →“照这条来,换成我们的产品和另一个主持人。”
它会把参考片从头看到尾,弄清每个切镜、画面和声音为什么在那儿,再按你的台词重新搭一遍。
怎么改编 →“这是我昨天拍的几条。”
每个文件先分好用途:当参考、保留这段表演、单独用作画面,或者只取声音。
素材怎么用 →工作方式
没有什么只存在聊天记录里。每个环节都把结果写到磁盘上,换一个会话或者你自己,都能从停下的地方接着做。
实例
在剪辑软件里,印章固定在某一秒,台词一改就错位。这里,页面去时间线上查这个词是什么时候说出来的,再把印章放上去。
// composition/index.html var MOMENTS = { soldOut: find("s4", "卖光").start }; tl.from("#stamp", { scale: 1.9, opacity: 0, duration: 0.28 }, MOMENTS.soldOut);
台词改了,印章跟着走。
实例
除了草稿,每次渲染都先对照 plan.json 做交付检查。有一项不过就不出片;成片时长不对,文件会被改名为 .REJECTED 放到一边。只有带着验收报告的片子才算交付。
检查内容:计划存在且完整、计划里的每个镜头都上了页面、单个镜头不超过 15 秒、每个声音都登记了来源、所有语音都来自脚本、没有混入参考片的原声、时长和计划一致。
$ node render.mjs render launch renders/launch.mp4ok plan-present: plan.json foundok plan-shape: 4 shots, target 24sok scene-count: all 4 planned shots are realizedok shot-length: every generated shot is at most 15sok audio-registered: 3 audible file(s) registeredok speech-script: 5 speech segment(s) from script.jsonok reference-audio: no audible file matches the reference's sound (1 reference file(s) compared)rendered renders/launch.mp4 (18.4 MB, 30 fps, standard) in 212.6sok duration: film is 24.08s; planned 24sdelivery report: renders/launch.mp4.report.json
体裁
每种体裁都有一份打法:这类视频靠什么留住人,做的时候常遇到哪些问题。体裁之间可以组合。
安装之前
这些是真实的前置条件,提前说清楚,免得装到一半才发现。agent 会逐项检查,缺什么就一步步带你补上。
render.mjs prepare-browser 下载一次,用来把页面渲染成画面。