Idea first先想立意
Two or three concept cards, each with one frame and a hook, before a line of code. It names what every other video on the topic looks like, and steers away.写代码之前,先出两三张立意卡,每张配一帧画面和一个钩子。它会先说出同题视频都长什么样,然后避开。
playbook/12-ideation.mdA video harness for Claude Code and Codex给 Claude Code 和 Codex 用的视频工作台
Not more tools. Know-how.不缺工具,缺门道。
Ask for a film in one sentence. The agent writes the code that renders it, from the idea, storyboard, script and style to the sound and the final cut. It checks its own work, and stops three times for your sign-off.一句话提需求,agent 写代码渲染成片:立意、分镜、脚本、风格、声音,一直到成片。它自己检查自己,并在三个节点停下来,等你拍板。
Every star is a film: the 32 style samples, in orbit每颗星都是一支片子:32 种风格的样片
01Get started快速开始
Needs macOS or Linux, Node.js 22+, Chrome, FFmpeg, Python 3 with uv, and Claude Code or Codex. About 650 MB on disk, with 37 read-only reference repos. Step by step: the wiki's Getting Started; behind a slow network, China network.需要 macOS 或 Linux、Node.js ≥ 22、Chrome、FFmpeg、Python 3 和 uv,以及 Claude Code 或 Codex。连同 37 个只读的参考仓库,约占 650 MB。一步步的说明见 wiki 的快速开始;网络慢时看国内网络。
Times are for a 30-second film. Say "quick" and it runs straight through.时间按 30 秒的片子算。说"快速出一版",它就一口气做完。
02Why it exists为什么做它
Claude Opus 5.5 writes video as code, and it has taste: in motion, in type, in pacing. The community has shared hundreds of these films; one collection alone holds 389, with their prompts.Claude Opus 5.5 能用代码写视频,而且有审美:运动、字体、节奏都在线。社区里已经有几百支这样的片子,光一个合集就收了 389 支,连同提示词。
But the same model can be brilliant once, then lose the pacing, glow everything and invent numbers the next time. Engines like HyperFrames, Manim and Blender turn code into frames. They don't choose the idea, the storyboard, the script or the style, and can't tell whether the film is any good.可同一个模型,这次惊艳,下次就节奏乱、满屏发光、数字乱编。HyperFrames、Manim、Blender 这些引擎负责把代码变成画面;立意、分镜、脚本、风格它们不管,片子好不好也判断不了。
OpenVideoHarness is the missing layer: the process and the checks, from idea to final cut, written as docs an agent follows. It stays light on purpose: a few hard floors, and defaults that a good idea can overrule.OpenVideoHarness 补的就是这一层:从立意到成片的流程和检查,写成 agent 能照着做的文档。它故意写得很轻:几条底线不让步,其余都是默认,好点子可以反着来。
drives驱动 ↓
03What it adds它补上了什么
Two or three concept cards, each with one frame and a hook, before a line of code. It names what every other video on the topic looks like, and steers away.写代码之前,先出两三张立意卡,每张配一帧画面和一个钩子。它会先说出同题视频都长什么样,然后避开。
playbook/12-ideation.mdScience shorts, 3Blue1Brown-style explainers, launch films, music videos, data stories, paper talks, hand-drawn shorts, meme edits, and edits of your own footage.科普短视频、3Blue1Brown 风格讲解、产品发布片、MV、数据故事、论文讲解、手绘短片、梗图快剪,还有剪你自己录的素材。
video-types/Direction, storyboard, first draft. Name anything else you want to own: the hook, the style, the voice, the cover. Or say "quick" and it runs straight through.创意方向、分镜、初版。还想亲自定别的,点名就行:钩子、风格、配音、封面。说"快速出一版",它就一口气做完。
CLAUDE.md · director modeClaude can't watch video. So it reads contact sheets against a 20-point checklist, measures the audio, and a second Claude with a fresh context scores the draft on 8 points.Claude 看不了视频,所以它看联系表、对照 20 条清单改,用数据查声音;再由一个全新上下文的 Claude 按 8 项给初版打分。
templates/TASTE_CHECKLIST.mdChinese and English voiceover, two-language subtitles, a score and 21 sound effects written as code, every cue on its frame, mixed to −14 LUFS.中英配音、双语字幕,配乐和 21 个音效都用代码写,每个卡点落在它那一帧,混音到 −14 LUFS。
bin/vh tts · music · sfx · mix · qaNo randomness, no clock, no state carried between frames. Same t, same pixels, so any frame renders alone, in parallel, in any order, and can be checked. Drag the slider, then render the frame again.不用随机数、不读时钟、帧与帧之间不留状态。同一个 t 永远是同一帧,所以任何一帧都能单独渲染、并行渲染、乱序渲染,也能抽查。拖动滑块,再把这一帧重渲一遍试试。
CLAUDE.md · hard rule 1A style library to borrow from, each with a rendered sample. 3D models go in a Three.js layer under the 2D; when a shot needs real glass or a million stars, Claude drives Blender from Python.风格库可以借来用,每种都带实际渲染的样片。3D 模型放进 2D 下面的 Three.js 层;要真玻璃、上百万颗星时,Claude 写 Python 驱动 Blender。
styles/ · engines/blender.md04How it works工作原理
video-types/9 workflows9 类工作流playbook/13 know-how docs13 篇通用知识styles/32 styles32 种风格recipes/71 recipes, 24 shot cards71 张配方、24 张镜头卡templates/11 project files11 个项目模板cases/ showcase/14 case studies, 5 films14 个案例、5 支样片bin/vhnew · edit · render · check · gate · desk · footage · image · tts · musicprojects/<date>-<slug>/you decide你拍板Claude checks itselfClaude 自查a request, moving through一条需求走过的路05Capability map能力地图
One CLI, bin/vh, with 65 commands. Each name below is one; any command takes -h, and bin/vh commands lists them by stage.一个命令行 bin/vh,65 条命令。下面每个名字都是其中一条;每条加 -h 看用法,bin/vh commands 按阶段列出全部。
knowwhat the repo already knows about a few words: a recipe, a component, a style, a case仓库里关于几个词已经有什么:配方、组件、风格、案例scouta topic on the platforms before you pick it, and your film's numbers after; public interfaces, no login选题前看题目在各平台的样子,发出去后看片子的数据;只用公开接口,不登录ref · breakdownreferences on record; a reference film taken apart, its cuts against its beats参考记进台账;拆一支参考片,看切点落在节拍的哪里conceptseeded extras for the concept cards at gate ①关卡 ① 立意卡的可选配件footagereal footage from Internet Archive, Wikimedia Commons and NASA: only the seconds you need, its licence on record从 Internet Archive、Wikimedia Commons、NASA 取真实影像:只取要用的几秒,许可记下来image genpictures from Nano Banana or Codex: an estimate first, each paid call held against the budget用 Nano Banana 或 Codex 生成图:先估价,每次付费调用先按预算占住sfx · bgm · sounda sound library: your packs and Openverse, licences and credits on record声音库:你自己的音效包和 Openverse,许可和署名都记下castcharacters, props and sets as settled reference pictures, sent along when they are drawn again角色、道具、场景的定稿参考图,再画它们时一起带上model3d · hdria 3D model read before it goes in; CC0 light and sky from Poly Haven3D 模型放进来前先读一遍;从 Poly Haven 取 CC0 的光照和天空assetsone ledger for every file: where it came from, its licence, its cost; checked before delivery每个文件记在一本台账里:从哪来、什么许可、花多少钱;交付前检查editan edit list: pages, images, footage, other films and sound in a row; gate ②'s animatic as grey slates剪辑表:页面、图片、实拍素材、别的片子和声音排成一列;关卡 ② 的 animatic 先是灰卡components5 motion components: a spring scene, a page turn, paper seams, a chapter bar, a build-up5 个动效组件:弹簧场景、翻页、纸面转场、章节进度条、逐渐建成recipes71 shot recipes, 10 whole-film skeletons, 24 shot-grammar cards71 张镜头配方、10 条全片骨架、24 张镜头语法卡--threecanvas-film's Three.js layer: GLB models under the 2D, their clips on the narration's wordscanvas-film 的 Three.js 层:GLB 模型画在 2D 下面,动作挂在旁白的字上tts · music · mixvoiceover, a score written as code, the mix配音、用代码写的配乐、混音gate · deska stop for your sign-off in one command; the review desk一条命令停下来等你拍板;审阅台check · determinismthe film against its brief; each frame really a function of t对着 Brief 查成片;查每一帧是不是只由 t 决定renderparallel, resumable chunks; --motion-blur N for sub-frame blur, --alpha for a transparent film; an edit list redraws only what changed分块并行、能续渲;--motion-blur N 加子帧运动模糊,--alpha 出透明底;剪辑表只重画改过的部分patch · versionsa few seconds redrawn in a finished film; compare renders, or go back只重画成片里的几秒;对比各版,或者退回deliver · cleanthe copy to upload; a finished project's intermediates cleared出上传用的版本;清掉做完的项目里的中间文件bin/vh doctor says which of the 39 outside programs, packages, models and services this machine can use.bin/vh doctor 告诉你这台机器能用上 39 个外接模块里的哪些。
06The intro film · 103 s · with sound介绍片 · 103 秒 · 有声
The opening is path-traced in Blender, driven by Python: 1.18 million stars, 475 frames. HyperFrames and Three.js take over from 15 s. The score and its 124 sound events are code too. It streams from the repo's GitHub release (297 MB) once you press play.开场由 Python 驱动 Blender 路径追踪:118 万颗星,475 帧。15 秒起交给 HyperFrames 和 Three.js。配乐和 124 处音效也是代码写的。按下播放才从仓库的 GitHub Release 载入(297 MB)。
07Showcase · hover to preview, click for sound作品 · 悬停预览,点击带声音播放
Claude can't watch video. It reviews contact sheets: frames tiled with their timecodes.Claude 看不了视频,它审的是联系表:按时间码平铺的一帧帧画面。
Why does a low-orbit satellite's signal change pitch?为什么低轨卫星的信号会"变调"?HyperFrames · 24.8 s · 1080×1920 · Chinese voice, two-language subtitlesHyperFrames · 24.8 秒 · 1080×1920 · 中文配音,双语字幕
Building a square wave from sine waves用正弦波搭出方波Manim · 25 s · English narrationManim · 25 秒 · 英文旁白
Clawd tries to film a falling autumn leafClawd 想拍下一片飘落的秋叶p5.brush · 12 s · no words, score and foleyp5.brush · 12 秒 · 无台词,配乐和拟音
A short launch film for OpenVideoHarness itself给 OpenVideoHarness 自己做的发布短片HyperFrames · 20 s · a sound for every moveHyperFrames · 20 秒 · 每个动作都有声音
08Style library · click one to hear it风格库 · 点开能听声音
Left alone, AI video drifts to one look: dark background, glow, glass cards. Each style here is a real 5-second render of the same content.放任不管,AI 视频会趋向同一张脸:暗底、发光、玻璃卡片。这里每种风格都是同一段内容的 5 秒实渲样片。
71 shot recipes, 10 whole-film skeletons, 24 shot-grammar cards and 5 motion components, each move with a contact sheet like these. Click one to enlarge it.71 张镜头配方、10 条全片骨架、24 张镜头语法卡、5 个动效组件,每个动作都配这样一张联系表。点开放大。
build-uppieces appear by a rule until the whole stands逐渐建成:零件按规则一块块出现,直到整体立起来page-turna book page turns over; the turn is the cut翻页:书页翻过去,翻页本身就是剪辑点decode-typea recipe: type that decodes into place, then stays long enough to read一张配方:字解码到位,再停够读完的时间chart-morpha recipe: one chart becomes another without a cut一张配方:一种图表不切镜地变成另一种09In practice真实使用
The author publishes films made with OpenVideoHarness on Douyin (TikTok in China) and Bilibili.作者把用 OpenVideoHarness 做的片子发在抖音和 B 站。
Every film on this page was made the way you would make yours: an agent, this repo's docs and one request. Each folder keeps the record: the request word for word, the storyboard, every review round, and how long it took.这一页上的每支片子,做法都和你做自己的片子一样:一个 agent、本仓库的文档、一句需求。每个目录都留着记录:需求原话、分镜、每一轮审阅、花了多久。
cover-preview covers at Bilibili, Douyin, YouTube and Xiaohongshu feed sizes按 B 站、抖音、YouTube、小红书的信息流尺寸看封面
deliver the copy to upload, sized to a platform's limit上传用的版本,按平台的大小上限出
From the announcement of the 2026 Nobel Prize in Physics to a published science explainer, made with the harness.从 2026 年诺贝尔物理学奖公布,到一支用这套工作台做的科普片发出来。
The hand-drawn short (showcase 01): about 40 minutes of the agent's active work, with three review rounds and about 20 fixes logged, not counting a pause for an API rate limit.手绘短片(样片 01):agent 实际工作约 40 分钟,三轮自查,记下并修好约 20 处问题,不算中途因 API 限流停下的时间。
10FAQ常见问题
AGENTS.md carries the same instructions as CLAUDE.md, and the installer registers the open-video-harness skill for both Claude Code and Codex, so asking for a video from any folder finds the workbench.能。AGENTS.md 和 CLAUDE.md 内容相同;安装时 open-video-harness skill 会同时注册给 Claude Code 和 Codex,之后在任何目录说"做个视频",都能找到这里。bin/vh footage takes the seconds you need from Internet Archive, Wikimedia Commons and NASA with their licences on record, and an edit list cuts them in. Realistic people and a live-action look need generated video, with code drawn on top. Editing footage you shot yourself (talking heads, interviews, vlogs) is type 09, still experimental.档案和公有领域的影像可以:bin/vh footage 从 Internet Archive、Wikimedia Commons、NASA 只取要用的几秒,许可记在台账里,再用剪辑表剪进片子。写实人物、实拍感要靠生成式视频,再用代码叠加。剪你自己录的素材(口播、访谈、Vlog)是第 09 类,还在试验。11Contact联系
Star the repo, or send a film you made with it.给仓库点个 Star,或者把你用它做的片子发过来。