Communitygithub.com

OpenVideoHarness

Create videos with code (video-as-code / code2video) using the OpenVideoHarness workbench. Covers 3Blue1Brown-style math and science explainers, knowledge shorts (vertical or horizontal; TikTok, Bilibili, Xiaohongshu, Shorts), product launch films and promos, lyric videos and music videos, data stories, paper explainers, hand-drawn or watercolor shorts, meme or fast-cut edits, long landscape explainers, recaps from the user's own photos and clips (weddings, trips, a year; photo retrospectives), and cutting the user's own...

What is OpenVideoHarness?

OpenVideoHarness is a developer-oriented video generation framework that turns code into videos (video-as-code / code2video). It supports a wide range of video types including 3Blue1Brown-style math and science explainers, vertical and horizontal knowledge shorts for platforms like TikTok, Bilibili, and Xiaohongshu, product promos, lyric music videos, data stories, paper explainers, hand-drawn and watercolor shorts, meme compilations, long landscape explainers, and personal photo/video recaps (weddings, trips, etc.). The skill works as a thin pointer to the OpenVideoHarness repository, which contains all workflows, rules, and tools. It integrates with AI agents like Claude Code, Codex, and Cursor, guiding users through an 11-type video production pipeline with human review gates at concept, storyboard, and first draft stages. Key features include rule-based scene generation (every frame as a pure function of time), audio-driven timing, fact discipline, and built-in tools for TTS (Chinese/English), captioning, music composition, sound effects, and mixing.

Works with✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/ZLHad/OpenVideoHarness/tree/HEAD/skills/open-video-harness

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

What does OpenVideoHarness do?

Harness path (set by install.sh): ~/OpenVideoHarness

This skill is a thin pointer. All workflows, rules and tools live in the OpenVideoHarness repository.

1. Locate the harness

Use the first of these that exists and contains bin/vh:

  1. $OVH_DIR
  2. the path on the "Harness path" line above
  3. ~/OpenVideoHarness
  4. the current working directory

If none exists, ask the user for permission, then install it:

curl -fsSL https://raw.githubusercontent.com/ZLHad/OpenVideoHarness/main/install.sh | bash

2. Follow the harness, not this file

Read <harness>/CLAUDE.md (Codex: <harness>/AGENTS.md, which is identical) and follow it exactly:

  • route the request to one of the 11 video-types/ docs (09, editing the user's own footage, and 11, a recap of the user's own photos, are experimental);
  • create the project with <harness>/bin/vh new <type> <slug>;
  • stop for the user where effort and director mode say (CLAUDE.md "effort level" and "director mode"): standard and studio stop at the three human review gates (concept and outline → storyboard → first draft); quick renders straight through. Anything the user said they want to decide themselves (hook, main character, theme music, title and cover …) adds a stop before anything downstream needs it, or rides on the next gate if it can wait. Each stop is by default one local review page from bin/vh review, at most three decisions; send the user only the lines it prints, then wait;
  • follow the hard rules: every frame is a pure function of t; when there is sound, audio sets the timing; storyboard before code; self-review every scene; fact discipline;
  • keep work inside <harness>/projects/; when the user names another directory, create the project there with <harness>/bin/vh new <type> <slug> --dir <that directory> (or set OVH_PROJECTS).

Audio tools:

  • bin/vh tts — voiceover, Chinese or English, local Qwen3-TTS by default;
  • bin/vh captions — zh/en/bilingual subtitles;
  • bin/vh music — code-composed soundtrack;
  • bin/vh sfx — sound effects;
  • bin/vh mix and bin/vh mux — mixing and muxing.

Run bin/vh doctor if anything looks missing.

Related Skills