Voice
Cutforge
From raw footage to final cut. Open-source video creation and editing plugin: story-led films, brand films, explainers and ads from your own photos, clips and voice notes. Claude Code, Cowork, Codex, Cursor and more.
Install
npm install &&
README
# CutForge: Video Creation and Editing for Claude
> **A client hands you 3,000 phone photos, 200 clips and a deadline: a 15-minute film for a family celebration, or a 60-second brand film by Friday. The last attempt looked like a slideshow, the narrator mispronounced a name, a cousin was labelled as the father, and the music stopped dead between scenes.**
Say "make a film from our photos" and CutForge runs the job the way an editor would: brief, archive research, story, a look test, a storyboard the client ticks once, verified narration, designed sound, a code-built render, nine QC layers, delivery and revision rounds. Every time in the film is derived from the measured narration, so a re-recorded line re-times its scene by itself. Every fix re-renders one chapter, not the whole film.
Open-source video creation and editing plugin, **from raw footage to final cut**: **13 skills · 4 reviewer agents · a tested engine of 48 tools (Remotion, ffmpeg, Python) · 0 hooks · 0 MCP servers**. Built from a real 20-minute production and every mistake made in it. Installs on **Claude Code** (CLI + IDE), **Anthropic Cowork**, **OpenAI Codex**, **Cursor 2.5+**, **GitHub Copilot CLI**, **Google Antigravity 2.0**, **Hermes Agent**, **OpenClaw** and **Grok**, plus 35+ Agent Skills platforms. Created by [Indranil Banerjee](https://indranil.in) · [LinkedIn](https://www.linkedin.com/in/askneelnow/) · [X](https://x.com/askneelnow).
[](CHANGELOG.md)
[](LICENSE)
[](https://github.com/indranilbanerjee/cutforge/stargazers)
[](tests/)
[](#supported-surfaces-v101)
[](#the-engine)
[](https://github.com/sponsors/indranilbanerjee)
> 🆕 **Just shipped: v1.0.1 (October 17, 2026). CutForge installs cleanly on Hermes Agent: one source line no longer looks like hidden text to its install-time scanner, and a guard keeps it that way. v1.0.0, the first public release, has 13 skills, 4 reviewer agents and an engine proven end to end on a real production.** [Current release](#current-release-v101) · [Changelog](CHANGELOG.md)
```bash
# Install in Claude Code:
/plugin marketplace add indranilbanerjee/neels-plugins
/plugin install cutforge@neels-plugins
# Install on Hermes Agent (Nous Research):
hermes plugins install indranilbanerjee/cutforge
# Install on OpenClaw:
openclaw plugins install git:github.com/indranilbanerjee/cutforge
# Install on Grok (xAI Build CLI):
grok plugin install indranilbanerjee/cutforge
```
> If CutForge saves you a week of editing, [give it a star ⭐](https://github.com/indranilbanerjee/cutforge/stargazers). It is the single thing that helps other people find it.
## Try this first
Install, then ask in plain words. Each of these requests reaches the right skill.
| You type | What happens |
|---|---|
| "make a 10-minute film from our family photos" | The full method starts: a one-screen brief, then the archive pass, the story and a look test before anything long is rendered |
| "go through these photos and find the best moments of 2024" | Real capture dates, monthly peaks and silences, contact sheets, clip strips, the real sounds inside the clips, face groups for you to name |
| "write the story for the film" | A treatment with arcs, a hidden spine, plants and payoffs, a beat map for kids and adults, and the narration script |
| "it looks like a slideshow" | Phone photos framed as prints, triptychs, pages and living photos with depth, cut to the music, with stills checked before rendering |
| "the voice says the name wrong" | A respell layer for the voice engine while the captions keep the right spelling, then every line re-checked by speech-to-text |
| "it stops abruptly between scenes" | The timing and audio checks find every short tail, dead-air gap and cut-off sound, and the mix gets bridges across every chapter |
| "here are my notes on the cut" | Each note mapped to its shot and its cause, the smallest rebuild planned, fixes verified, and new timestamps reported back |
| "make a reel for the launch, and a 16:9 version" | Hook, proof and CTA in 15 seconds, captions inside the platform-safe zone, a claims ledger, and every format encoded |
### What CutForge will never do
- **Put AI on a real person's face.** No generative edits, motion or invented faces on real people, children above all. AI goes only where no camera was, and a face guard refuses inputs that contain a face.
- **Guess who someone is.** Face clustering sorts; only you name people. Identities, relations, rituals, dates and quotes are confirmed in one batched round.
- **Spend on a paid voice or AI service before you say go.** Paid tools refuse to run without a `GO_AHEAD.txt` and stop at your cap; every call is logged.
- **Clone a voice without its owner's consent,** or clone someone who has died (their real recordings are used instead).
- **Delete or overwrite your files.** It works on copies and adds new files in a dedicated folder.
- **Ask for an API key in the chat.** Keys come from environment variables or a key file.
### What it costs
- **The plugin is free** (MIT-licensed).
- **Model usage (tokens).** On a subscription (Claude Pro, Max, Team or Enterprise in Claude Code or Cowork; a ChatGPT plan in Codex; a Cursor or Copilot plan) tokens count against your plan's usage limits. Only pay-as-you-go API users pay per token.
- **Rendering is your own compute.** Remotion, ffmpeg and the Python tools run on your machine: no cloud render fees. About 20 minutes of 1080p film renders in 5-6 hours on 2 CPU cores, 3-5 times faster on an 8-core desktop with a GPU.
- **Paid voice and AI art are optional** and billed by the provider you connect with your own key (Sarvam, ElevenLabs, OpenAI, WaveSpeed). A placeholder voice and the whole render, mix and QC pipeline work with no key at all.
- **Remotion's own licence:** free for individuals and companies of up to 3 people; larger companies need a Remotion Company License for commercial work.
## How it works

The amber steps are yours: the brief, the story, the look, the photo map, the budget and your notes. Everything else is checked by tools before you see it.
**Show, don't describe.** A 30-60 second look test of the hardest scene comes before the full script. Stills come before renders, and short previews before masters. Clients judge a render in seconds; they cannot judge a paragraph.
**Every time is derived.** `film/timeline.py` turns measured narration plus breathing room into every shot's length and writes one timeline that the picture, the captions and the mixer all read. Change a line and the whole chapter re-flows consistently. Narration longer than a fixed shot is an error; a tail shorter than 0.6 s is a warning.
**Real first, AI last.** Phone media is framed, never stretched or blur-filled. The real sound inside the clips (a conch on the morning of a ceremony, festival drums, laughter) is found automatically and used before any library effect.
## Quick Start
1. **Install.** In Claude Code:
```
/plugin marketplace add indranilbanerjee/neels-plugins
/plugin install cutforge@neels-plugins
```
In Cowork, use the Plugins panel instead (Add marketplace, paste `indranilbanerjee/neels-plugins`, install CutForge). Other hosts are under [Supported surfaces](#supported-surfaces-v101).
2. **Prove the toolchain once.** Ask "start a CutForge demo project in D:/Films/demo", or run it yourself:
```bash
python <plugin>/engine/new_project.py "D:/Films/demo" --title "The Lamp" --demo
cd "D:/Films/demo" && npm install && python tools/setup_local.py
python tools/mix/synth.py && python tools/demo_assets.py && bash tools/text/shapeall.sh
python tools/voice/gen_vo.py && python film/timeline.py
CONC=4 bash tools/render/pipeline.sh all
python tools/mix/film_mix.py && VER=v1 bash tools/render/assemble.sh
```
That renders a one-minute demo film from procedural media and verifies every frame.
3. **Start a real project.** "Make a film from our photos for our anniversary" or "brief for a 60-second brand film". The `cutforge` skill takes over from the brief.
> **Claude answers in chat instead of using a CutForge skill?** Claude Code lists every installed skill in a budget of 1% of the context window. With several plugins installed, only skill names may fit. Add `"skillListingBudgetFraction": 0.05` to your Claude Code `settings.json`, or start a skill by name, e.g. `/cutforge:cutforge`.
## Who this is for
| If you're a... | Start with | What you get |
|---|---|---|
| **Family or individual with years of phone media** | "make a film from our photos for ..." | A story-led film, not a slideshow: verified people and dates, your own voices and sounds, a projector-ready file and a screening run sheet |
| **Video editor or producer** | `/cutforge:storyboard-and-look`, `/cutforge:render-and-assemble` | A data-driven edit: layouts as JSON, timing derived from narration, chunked resumable renders, one-chapter fixes |
| **Agency or brand team** | `/cutforge:marketing-video` | Hook-proof-CTA scripts, captions in safe zones, a claims ledger, multi-format encodes and a sign-off sheet |
| **Pharma, BFSI or regulated marketer** | `/cutf
... (truncated)
voice
Comments
Sign in to leave a comment