lemo-opuscar 实测:114 秒渲完一支 60 秒代码短片

不用任何视频生成模型,只让 Agent 写网页代码,一帧一帧画出 1080p 短片,还自己配乐、混音:lemo-opuscar 把这件事整理成一个 Claude Code Skill,附 51 种影片风格。我们 10 月 21 日在一台没有显卡的 Linux 服务器上,把它自带的一支 60 秒样片从源码重新渲染了一遍:1435 帧用了 114 秒。
它是什么
一句话:一套给编程 Agent 用的「代码拍片」风格库加工具箱。每种风格规定画面怎么画、声音怎么做;工具箱负责逐帧截图、合成视频、配音、配乐和混音。
| 仓库 | github.com/lemomo-ai/lemo-opuscar |
|---|---|
| 作者 | LemoLab(Lemomo) |
| 许可证 | 代码与文档 MIT;样片和截图 CC BY 4.0(转用需署名);你自己做的片子归你 |
| 热度 | GitHub 4,761 星(截至 2026-10-21);2026-09-26 建库 |
| 语言 | JavaScript(Canvas / WebGL / three.js 页面)+ Python 音频脚本;要求 Node 20+、ffmpeg、Python 3.11+ 或 uv |
| 最新版本 | 没有版本号;最近一次提交 b5e8ef9,2026-10-19 20:11(北京时间),新增「改成自己的风格」 |
解决什么问题
让大模型「用代码做视频」,难点不在写 Canvas,而在每次都要从零教它:镜头怎么推、字幕停多久才读得完、配乐和画面怎么对拍、成片响度多少。lemo-opuscar 把这些写成了三层文档:DIRECTOR.md 讲导演(故事、节奏、镜头、自检),TECHNIQUE.md 讲制作(逐帧渲染、配音、配乐、混音),styles/<风格>/STYLE.md 讲这种风格长什么样。风格覆盖手绘、水墨、皮影、浮世绘、像素 RPG、ASCII 终端,还有 8 种「实证影像」,用卫星图、激光点云、档案扫描这类真实素材讲数据故事。
它有一条硬约束:页面必须暴露 window.render(t),给定时间就画出确定的那一帧。这样渲染可以拆给多个进程并行做,同一份源码每次出的片子都一样。
怎么用
# 方式一:装成 Claude Code 插件(官方推荐)
claude plugin marketplace add lemomo-ai/lemo-opuscar
claude plugin install lemo-opuscar@lemolab
# 然后直接说:用 watercolor 风格,做一支 45 秒的片子,讲我家的咖啡园
# 方式二:克隆仓库,在仓库里开 Claude Code
git clone https://github.com/lemomo-ai/lemo-opuscar.git
cd lemo-opuscar && claude
# 其他 Agent:把 plugin/skills/lemo-opuscar/ 复制进它的 skills 目录
第一次用时,Skill 会把风格库下载到 ~/lemo-opuscar。开拍前它只问一轮:题材里它定不了的地方、有没有自己的配音和素材、要不要先看分镜。
实测:不用模型,把样片重渲一遍
环境:2026-10-21,Debian 13,8 核、没有 GPU(WebGL 走 llvmpipe 软件渲染),Node.js 20.19.2,ffmpeg 7.1.5,uv 0.13.4,仓库提交 b5e8ef9。
export LEMO_OPUSCAR_HOME=$PWD
sh plugin/skills/lemo-opuscar/scripts/setup.sh deps # 9.9 秒
D=styles/ascii-crt/demo
node core/render/still.mjs $D 5 20 39.4 55 # 4 张截图 3.7 秒
node core/render/video.mjs $D --fps 24 --workers 3 --out $D/out/video24.mp4
# done … 1435 frames 114s
sh plugin/skills/lemo-opuscar/scripts/setup.sh deps music
mkdir -p $D/music/stems && .venv/bin/python $D/music/score.py # 16 秒
sh core/render/mux.sh $D/out/video24.mp4 $D/music/score.wav out.mp4 24 0
# I: -14.2 LUFS Peak: -1.1 dBFS
- 体积:仓库克隆下来 246 MB,依赖再占约 710 MB(npm 包 43 MB、无头 Chromium 261 MB、Python 虚拟环境 405 MB)。
- 成片:ffprobe 显示 1920×1080、24 帧/秒、1435 帧、59.79 秒。画面全是 VT323 字体的字符,琥珀色 CRT 扫描线,地球由一句回复的字母拼出来,和 DEMO.md 里的描述一致。
- 坑 1:样片字体没进 git。
.gitignore排除了 demo 里的.ttf,直接渲染会报A network error occurred.然后退出。我们试了 7 种风格都一样。去 google/fonts 下载对应字体放进demo/fonts/才能跑。Skill 文档也写了样片源码「是给 Agent 读的,不是拿来渲染的」。 - 坑 2:配乐脚本要先手动建
music/stems/目录,否则报LibsndfileError;还要先装 music 依赖(numba)。 - 未实测:让 Agent 按新题材从头拍一支片子,需要 Claude Code 加 Opus 5.5 订阅或 API,按官方说法每支 30–60 分钟;Kokoro 离线配音和 Whisper 逐句校对也没跑,因为样片的配音 wav 不在仓库里,要先生成。
它真正值钱的不是 51 段提示词,而是那套「给定时间 t 画出确定一帧」的渲染约定,和 Agent 照着走的导演文档。
适合谁,不适合谁
适合:已经在用 Claude Code、想做产品短片、数据解说或科普动画的人;想研究「Agent 怎么做长任务」的开发者,DIRECTOR.md 里的自检清单可以直接借鉴。不适合:想剪辑现有视频的人(Skill 说明里写明不做这个);没有 Claude 订阅的人,作者自己说风格是为 Opus 5.5 调的,别的模型未必复现得出来。
同类可以对照看:同一批「Opus 5.5 代码视频」开源项目里,Vincentwei1021/mg-styles-15 收了 15 种动效设计风格和完整源码,JohnHeibel/ClaudeAnimationBase 是 p5.js 手绘卡通动画的起步模板,两者都是 MIT。lemo-opuscar 的风格比它们多,还自带渲染、配音、混音这一整套工具。
最后
先别急着烧 token:克隆仓库,挑一种风格,补上字体,用 still.mjs 截几帧,看看这种画风合不合你的题材,再决定要不要让 Agent 正式开拍。
- GitHub lemomo-ai/lemo-opuscar:README(51 种风格、安装、运行要求、许可证)
- core/README.md:渲染页约定与 still / video / mux 等工具说明
- lemo-opuscar SKILL.md:触发条件与 Skill 模式下的目录约定
- 官方样片画廊
- 本文实测:仓库提交 b5e8ef9,Node.js 20.19.2,ffmpeg 7.1.5,Debian 13(无 GPU),2026-10-21