Raw footage is quiet, shaky, unlabelled and named IMG_4471.MOV.
Point Claude at the folder and get back files that are
loud enough, steady, branded and correctly titled — because
Claude watched the clips and worked out what each one actually is.
What it does
Lifts quiet passages without crushing loud ones, then lands the whole clip on a defined loudness. Six targets, from broadcast to live music.
Two-pass stabilization. Mixed resolutions and frame rates are reconciled onto one canvas — padded, never cropped, so nothing you shot is lost.
SVG or PNG, any corner, sized proportionally to the frame. Works the same at 1080p, 4K and vertical phone video.
News-style lower third with the name and the work, faded in and out. Claude writes the text after looking at frames and reading the transcript.
IMG_4471.MOV becomes 01_anna-petrova_bach.mp4, with the title and date written into the file itself.
Hardware encoding where available, several clips at once. A batch that took hours takes minutes.
The important part
There is no API key to set up, because there is nothing to log in to. Speech-to-text runs locally. Video is processed locally. Claude's part happens inside the Claude Code session you already pay for, and it sees still frames and measurements — never the footage itself.
No credentials, anywhere. The tool has no network client at all. It cannot upload your footage, because there is no code in it that could.
Setup
The engine that does the actual video work.
# Ubuntu, Debian, or Windows via WSL
sudo apt install ffmpeg
# macOS
brew install ffmpeg
Add the marketplace and install the plugin, then reload and verify it.
/plugin marketplace add nikolareljin/claude-plugins
/plugin install claude-reelsmith@nikolareljin-plugins
/reload-plugins
/plugin
pipx install git+https://github.com/nikolareljin/claude-reelsmith
reelsmith doctor
doctor checks everything and, for anything missing, prints the exact command that fixes it.
Every time after that
/claude-reelsmith:nr-reelsmith
Claude asks where the videos are, where the finished ones should go, whether you have a logo, and which look you want. Then it watches the clips and shows you what it plans to do.
Analyzed 24 files (2h 41m total)
# file proposed title fix
1 IMG_4471.MOV Bach — Partita No. 2 +18.4 dB, stabilize
2 IMG_4472.MOV Vivaldi — Spring +3.1 dB, stabilize
3 IMG_4470.MOV (excluded: camera test) —
...
Sample rendered: out/_preview/sample_01.mp4 (20s)
Proceed with all 23? [yes / edit titles / cancel]
It always shows you a sample first. One short clip is rendered so you can check the logo position, the caption and the volume — before committing to a batch that might run for hours.
Your answers are saved, so the next run is just /claude-reelsmith:nr-reelsmith again.
Choices
| Name | Caption style | Good for |
|---|---|---|
news | Bold name and subtitle on a translucent bar | Anything. Most legible |
concert | Serif name, no bar, soft shadow | Recitals, ceremonies, lectures |
minimal | Logo only, no text | Footage that already has titles |
| Name | Target | Good for |
|---|---|---|
music | −13 LUFS | Live acoustic music. Loud and forward |
standard | −14 LUFS | Mixed material |
web | −14 LUFS | YouTube and similar |
speech | −16 LUFS | Interviews, lectures, talks |
gentle | −16 LUFS | Already-good recordings |
broadcast | −23 LUFS | When a broadcaster demands it |
Guarantees
Source footage is only ever read. Finished files go somewhere new.
Mismatched shapes are padded, never cropped. A letterbox is visible; a silent crop is not.
You see the full plan and a rendered sample before any batch begins.
If the evidence does not support a name, Claude is instructed to say so rather than guess.
Output is confined to the folder you chose. Attempts to escape it are refused.
Re-run and only what actually changed is re-rendered. Change a title, and one clip re-renders.
Not only Claude
The tool itself knows nothing about any AI model. It writes a file of measurements, an agent writes a file of decisions, and it renders the result. Only two Markdown files in the repository are Claude-specific — everything needed to drive it from Codex, Cursor, Gemini CLI, OpenCode or an MCP server is documented.