Repository avatar
Multimedia
v0.1.1
active

openmode

io.github.shansabnani/openmode

Video editing and rendering for coding agents: look at footage, render edits to MP4, keep versions.

Documentation

openmode

npm CI MIT

Video editing and rendering for coding agents. An open-source CLI and MCP server that lets Claude Code, Codex and Cursor look at footage, cut it, caption it and render an MP4. It runs on your machine with your own ffmpeg: no account, no upload, no API key, no cost.

claude mcp add openmode -- npx -y openmode mcp

Then ask: "Cut the silences out of interview.mp4, add captions, and make a vertical version."

Frames from a 35-second Apollo 11 trailer cut by Claude with openmode

Claude cut this Apollo 11 trailer from NASA footage with openmode. Watch the replay or render it yourself.

What an agent can do with it

  • Look. See a video as one image of timestamped frames, plus its length, loudness, silent stretches and black frames.
  • Render. Turn a small edit file (clips, trims, speed, fades, captions, music) or a folder of frames into an MP4. Drafts take seconds; finals go up to 4K.
  • Keep versions. Save, compare and restore the whole project, like undo for video.

Use it when you ask an agent to cut, trim, caption, combine, speed up, add music to, review or render video.

Install

Needs Node.js 20 or newer and ffmpeg.

AgentCommand
Claude Codeclaude mcp add openmode -- npx -y openmode mcp
Codexcodex mcp add openmode -- npx -y openmode mcp
No MCPnpx -y openmode init (adds a short section to AGENTS.md)
Cursor, Windsurf, Claude Desktop and other MCP clients
{
  "mcpServers": {
    "openmode": { "command": "npx", "args": ["-y", "openmode", "mcp"] }
  }
}
Claude Code plugin, with a video-editing skill
/plugin marketplace add shansabnani/openmode
/plugin install openmode@openmode

The loop

npx -y openmode look interview.mp4             # see the footage
npx -y openmode render cut.json --draft        # 360p draft in seconds
npx -y openmode look renders/cut-draft.mp4     # check the draft
npx -y openmode render cut.json --final        # full quality
npx -y openmode save -m "first cut"            # keep this version

The edit file

A small JSON file next to your footage. Times are in seconds.

{
  "version": 1,
  "format": "9:16",
  "fit": "cover",
  "clips": [
    { "src": "footage/intro.mp4", "start": 1.2, "end": 4, "caption": "I rebuilt our onboarding in a weekend.", "transition": "fade" },
    { "src": "footage/demo.mp4", "start": 10, "end": 16.5, "speed": 1.25 }
  ],
  "audio": [{ "src": "music/bed.mp3", "volume": 0.25 }],
  "endCard": "openmode.ai"
}

npx -y openmode schema prints every field. The reference has the full table and recipes.

MCP tools

ToolUse
lookSee a video, image or frames folder as one image, with its facts.
render_editTurn an edit file into an MP4, or check it without rendering.
render_framesTurn numbered frames and a soundtrack into an MP4.
versionsSave, list, restore and compare.
edit_schemaThe edit file format, with an example.
statusCheck that ffmpeg is ready.

Roadmap

Blender engine, HTML (HyperFrames) engine, rendering on your own GPUs, captions from speech, and shareable kits of scenes and characters.

Contribute

A star helps other people find it. To ask for a feature, open an issue. To add one, start with CONTRIBUTING.md: an engine is one folder with a render function.

License

MIT. openmode calls the ffmpeg already on your machine and ships no binaries.

NPM
openmode
Install Command
npm install openmode