Claude Code edits your clip with HyperFrames (free, open source), then a second pass checks the frames and fails the cut until it's right.
Swipe or tap Next · checked on 2026-10-06
Make the folder and start Claude in it
mkdir -p ~/video-edits
cd ~/video-edits
claudeThe setup prompt (copy all of it) · lines 1-4 of 12. Copy all copies the whole prompt; read it in full on the page.
Hi Claude. Please be my patient setup helper. I don't code: one step at a time, tell me exactly what to type, and wait for me.
Goal: you edit my videos with HyperFrames, then check your own cut with a critic pass before I watch it. Follow this guide; its manual-way sections are the source of truth for every command and file:
https://receiptsgroup.com/guides/claude-edits-videosHi Claude. Please be my patient setup helper. I don't code: one step at a time, tell me exactly what to type, and wait for me.
Goal: you edit my videos with HyperFrames, then check your own cut with a critic pass before I watch it. Follow this guide; its manual-way sections are the source of truth for every command and file:
https://receiptsgroup.com/guides/claude-edits-videos
1. Check I have Node.js 22+, FFmpeg and Chrome (npx hyperframes doctor). Help me install what's missing.
2. Add the HyperFrames plugin to Claude Code (I'll run the plugin commands myself; show me them).
3. Save prompts/critic.md exactly from the guide.
4. First edit: I'll put a clip in clips/. Start a HyperFrames project from it, design the edit I describe, check it, render it to out/.
5. Run the critic on the render. If it fails, fix only what it lists, render again, and repeat until PASS or three rounds, then show me the report.
Rules: keep my clip and its audio exactly as they are. Never upload or post anything. Ask before installing anything system-wide.This is the manual way: every command and file. Claude follows it too.
HyperFrames needs Node.js 22 or newer and FFmpeg, and renders through Chrome. Check what you already have first.
Check
node --version # want v22 or higher
ffmpeg -version # prints a version banner
claude --version # if missing: curl -fsSL https://claude.ai/install.sh | bashThe plugin adds HeyGen's HyperFrames skills to Claude Code. The first npx run downloads the HyperFrames tool, so give it a minute.
Install and check
claude plugin marketplace add heygen-com/hyperframes
claude plugin install hyperframes@hyperframes
claude plugin details hyperframes # lists the skills it added
npx hyperframes doctor # checks Node.js, FFmpeg and Chromeclaude plugin marketplace add heygen-com/hyperframes
claude plugin install hyperframes@hyperframes
claude plugin details hyperframes # lists the skills it added
npx hyperframes doctor # checks Node.js, FFmpeg and ChromeFolders
mkdir -p ~/video-edits/{clips,edit,out,prompts}
cd ~/video-editsThis makes a 1080×1920 project with your clip placed and its speech transcribed on your machine. The first run sets up the transcriber and can take a while. Nothing is designed yet.
Scaffold (swap in your clip's name)
cp ~/Downloads/my-clip.mp4 clips/first.mp4
npx hyperframes init edit/first --video clips/first.mp4 --resolution portrait --non-interactiveStart claude in ~/video-edits and describe what you want. Be specific about what goes where; “make it pop” gets you confetti.
Prompt: the edit · Part 1 of 2 · Copy copies all 6 lines
Using /hyperframes:hyperframes, design the edit for edit/first (my clip is placed; keep it and its audio exactly as they are).
- Captions: big, 3-5 words at a time, timed to my words, low in the frame but clear of my mouth and chin.
- A title card for the first 2 seconds: <your 3-6 word hook>.
- One graphic where I say <a phrase from your clip>: <what it should show>.
- Small label "AI-edited" in a corner the whole time.Using /hyperframes:hyperframes, design the edit for edit/first (my clip is placed; keep it and its audio exactly as they are).
- Captions: big, 3-5 words at a time, timed to my words, low in the frame but clear of my mouth and chin.
- A title card for the first 2 seconds: <your 3-6 word hook>.
- One graphic where I say <a phrase from your clip>: <what it should show>.
- Small label "AI-edited" in a corner the whole time.
Run npx hyperframes check edit/first until it's clean, then render to out/first.mp4.Prompt: the edit · Part 2 of 2 · Copy copies all 6 lines
Run npx hyperframes check edit/first until it's clean, then render to out/first.mp4.Before the critic, watch the first render on your phone. You're calibrating: the critic below catches what you'd catch, but only if its list matches what you care about.
Mine measures every scene with code and fails the cut for text too small to read on a phone, a head too tiny in the frame, big empty areas, or graphics running into the captions. This starter version does the same job with Claude's eyes: pull a frame every two seconds, check each against a list, answer PASS or FAIL. It's surprisingly good at spotting the caption on your chin before your audience does.
prompts/critic.md · Part 1 of 2 · Copy copies all 19 lines
You are a video critic with one job: find what's wrong with a cut, frame by frame. You never fix anything.
You're given a folder of frames (one every 2 seconds, named by time) from a 9:16 video meant for phones.
Look at every frame and check:
1. Text size: any word smaller than about 1/40 of the frame height (roughly 48 px on a 1920-tall frame) fails.
2. Captions on the face: a caption touching the mouth, chin or eyes fails.
3. Empty frame: more than about a third of the frame with nothing in it fails.
4. Walls of text: more than 9 words on screen at once fails (captions included).
5. Off-screen: text cut off at an edge, or sitting in the top or bottom 10% where apps put their buttons, fails.
6. Label: if the video uses an AI avatar or AI edit label, it's visible.
7. Match: a graphic that doesn't match what's being said at that moment fails (use the transcript if there is one).You are a video critic with one job: find what's wrong with a cut, frame by frame. You never fix anything.
You're given a folder of frames (one every 2 seconds, named by time) from a 9:16 video meant for phones.
Look at every frame and check:
1. Text size: any word smaller than about 1/40 of the frame height (roughly 48 px on a 1920-tall frame) fails.
2. Captions on the face: a caption touching the mouth, chin or eyes fails.
3. Empty frame: more than about a third of the frame with nothing in it fails.
4. Walls of text: more than 9 words on screen at once fails (captions included).
5. Off-screen: text cut off at an edge, or sitting in the top or bottom 10% where apps put their buttons, fails.
6. Label: if the video uses an AI avatar or AI edit label, it's visible.
7. Match: a graphic that doesn't match what's being said at that moment fails (use the transcript if there is one).
Answer in exactly this format:
PASS
or
FAIL
- <time>: <check number> <what's wrong, quoted if it's text> -> <the fix, one line>
If you're not sure, it passes. Never suggest new ideas, only problems.prompts/critic.md · Part 2 of 2 · Copy copies all 19 lines
Answer in exactly this format:
PASS
or
FAIL
- <time>: <check number> <what's wrong, quoted if it's text> -> <the fix, one line>
If you're not sure, it passes. Never suggest new ideas, only problems.Pull frames and run the critic
mkdir -p out/first-frames
ffmpeg -v error -i out/first.mp4 -vf fps=1/2 out/first-frames/t%03d.png
claude -p "Follow prompts/critic.md. Frames: out/first-frames/ (frame N is at about (N-1)*2 seconds). Transcript: edit/first/transcript.json if it exists." --permission-mode dontAsk --allowedTools "Read,Glob" > out/first.critic.txt
cat out/first.critic.txtmkdir -p out/first-frames
ffmpeg -v error -i out/first.mp4 -vf fps=1/2 out/first-frames/t%03d.png
claude -p "Follow prompts/critic.md. Frames: out/first-frames/ (frame N is at about (N-1)*2 seconds). Transcript: edit/first/transcript.json if it exists." --permission-mode dontAsk --allowedTools "Read,Glob" > out/first.critic.txt
cat out/first.critic.txtGood: PASS, or a FAIL list with times you can check yourself. Then let Claude fix exactly that list:
Prompt: fix only what failed
Read out/first.critic.txt. Using /hyperframes:hyperframes, fix only what it lists in edit/first, change nothing else, run npx hyperframes check edit/first, and render to out/first.mp4 again. Then pull the frames and run the critic again (same commands as before). Stop at PASS or after three rounds, and show me the last report.Read out/first.critic.txt. Using /hyperframes:hyperframes, fix only what it lists in edit/first, change nothing else, run npx hyperframes check edit/first, and render to out/first.mp4 again. Then pull the frames and run the critic again (same commands as before). Stop at PASS or after three rounds, and show me the last report.It catches the mechanical stuff: size, placement, clutter. It can't tell you if the video is good. Watch the final one with sound before it goes anywhere.
1. A split screen with a screen recording
Using /hyperframes:hyperframes, in edit/first put clips/screen.mp4 in the top half and me in the bottom half from "<a phrase>" to "<a later phrase>", full frame me before and after. Captions on the seam. Check, render, then run the critic.2. Punch in on the key words
In edit/first, punch in (about 1.3x, a quick ease) on these phrases: "<phrase 1>", "<phrase 2>". Hard cuts back out. Nothing else changes. Check, render, critic.3. Make the opening faster
In edit/first: the first spoken word should start within 0.3 seconds (trim any silence at the start, in sync), the title card should be on the very first frame, and something should change on screen within the first second. Check, render, critic.4. Grow your critic
Here's what I didn't like in the last video: <your notes>. Turn each one into a checkable line and add it to prompts/critic.md under the existing list. Show me the change before you save it.HyperFrames is free and renders on your own machine. Claude Code needs a paid Claude plan: Pro is $20 a month at list price (checked 2026-10-04 on Claude's pricing page). Every edit and critic run counts toward your plan's usage limits; checking frames reads images, which is heavier than text, so a long video with frames every second uses more. Every two seconds is plenty for a short.
npx hyperframes doctor says Node.js is too oldInstall the LTS version from nodejs.org (22 or newer), open a new terminal, run doctor again.
hyperframes check fails on the bare projectThat's normal before the edit: there's no animation yet. Run it after Claude designs the edit.
Say it in the prompt every time: keep my clip and its audio exactly as they are. Then re-render.
Its list doesn't cover it. Add a line to prompts/critic.md that describes it in a way you could check with a ruler.
Stop after three rounds and fix it yourself in plain English (“move every caption up 200 pixels”). Some fixes need one plain, exact instruction.
The transcript is off. Re-run the init step, or give Claude your exact script and ask it to align the captions to the words.
What each page backs up is listed at the end of the full guide.
Claude cuts it, the critic sends it back, and you only watch the versions that already passed the boring checks. Grow the critic every time a video annoys you.
Want the whole chain? One idea to a finished, scheduled video puts this edit between your AI avatar and five apps.
Want help setting this up? Receipts Group builds these systems.
Open the full guide as a page (every file in full, plus the table of contents).