用途:把一篇网页文章转成 1920x1080 的 H.264 视频,默认中文输出,英文来源在阅读阶段翻译。它用 Remotion 做代码驱动剪辑,不是 AI 视频生成。
流程分四阶段:HARVEST → READ → STORYBOARD → RENDER。HARVEST 与 RENDER 是确定性脚本,READ 与 STORYBOARD 是编辑判断,由使用者完成。
主要能力:scripts/harvest.py 把 URL 抓成结构化内容、全分辨率图片和设计 token;scripts/render.mjs 把 storyboard.json 渲染成 MP4,并负责资源暂存、字体子集化、校验与渲染;scripts/build_fonts.mjs 按分镜用到的字符子集化 CJK 字体;scripts/sync.sh 把引擎从 assets/template/ 复制到运行时 studio。
使用方式:先运行 python3 scripts/harvest.py --url "https://example.com/article" --out ./work/myrun,产出 harvest.json 与 media/fig-NN.png;抓取内容偏薄时可加 --cdp-url http://localhost:9222 挂到已登录的 Chrome。随后按 references/editorial.md 做 READ,再按 references/storyboard.md 写 storyboard.json。校验用 node scripts/render.mjs --storyboard ./work/myrun --still 0;渲染用 node scripts/render.mjs --storyboard ./work/myrun --out ./myrun.mp4;单帧检查用 --still 950;交互预览用 --studio;口播模式用 --script,需设 audio.mode: "voice" 并为每个场景写旁白,会生成 narration.md 并按语音重新计时,视频本身无声,需自行录制,不含 TTS。
适用场景:把图文文章做成解说视频或口播脚本。限制:需要 bun、agent-browser、pyftsubset(含 brotli)、sips、Node 20+ 与 Chrome;首次运行会下载约 37MB 的 Noto CJK 可变字体;不附带音乐,需自备并设置 audio.bed;渲染并发建议不超过 3;禁止 CSS 动画与过渡,动画须用 interpolate()。更多细节见 references/ 下的 editorial、storyboard、shots、cjk-type、narration、pitfalls 文档。