Tutorialthe whole build, step by step

Claude Code video editing with HyperFrames, plus a critic pass

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.

By Eric Snyder, founder 5 min readChecked on Oct 6, 2026
Save this guidereceiptsgroup.com/guides/claude-edits-videos
SetupAbout an hour, mostly installs
Per videoOne prompt for the edit, one for the critic; renders run on your machine
Running costHyperFrames is free; you need a paid Claude plan (Pro is $20 a month at list price, checked 2026-10-04)
You needA clip to edit (a talking video, a screen recording, an avatar clip)
Works onMac, Linux, or Windows with WSL; needs Node.js 22+, FFmpeg and Chrome
In this guide
Start here
  1. The easy way: let Claude set it up with you
The manual way
  1. How it works
  2. Setup, step by step
  3. The edit
  4. The critic: send bad cuts back
  5. Real use: prompts for real jobs
  6. What it costs
  7. When it breaks
  8. Sources, checked Oct 6, 2026

I don't edit my videos anymore. Claude does, with HyperFrames, HeyGen's free, open-source tool that renders a video from a web page. Claude writes the captions, cards and camera moves as code, HyperFrames turns it into an MP4.

The part the other videos skip: a first cut from AI looks fine on a laptop and wrong on a phone. Tiny text. A caption parked on your chin. A frame that's half empty. So the second half of this guide is a critic: Claude pulls frames from the cut, checks them against a list, and sends the edit back until it passes. You still watch the final. You just watch fewer bad ones.

Checked on Oct 6, 2026

Start herepart 1

The easy way: let Claude set it up with you

bashMake the folder and start Claude in it
mkdir -p ~/video-edits
cd ~/video-edits
claude
PromptThe setup prompt (copy all of it)
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-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.
The manual wayparts 2 to 8

How it works

This is the manual way: every command and file. Claude follows it too.

  1. 1
    Your clipYou: a talking video, an avatar clip, a screen recording→ clips/<name>.mp4
  2. 2
    The projectnpx hyperframes init: your clip placed, speech transcribed→ edit/<name>/
  3. 3
    The editClaude Code + the HyperFrames skills: captions, cards, camera moves→ edit/<name>/index.html
  4. 4
    The renderHyperFrames, on your machine→ out/<name>.mp4
  5. 5
    The criticffmpeg pulls frames; Claude checks each one against prompts/critic.md→ out/<name>.critic.txt: PASS or FAIL
  6. 6
    Your watchYou, with sound, on your phone→ the yes
The loop: on FAIL, Claude fixes only what the critic listed and renders again. Three rounds max, then it's your call.

Words you'll see

  • HyperFrames: writes a video as a web page (HTML, CSS, JavaScript) and renders it to MP4. Free and open source, from HeyGen.
  • Plugin / skills: instructions that teach Claude Code how to build a valid HyperFrames project.
  • Render: turning the project into an actual MP4 file.
  • 9:16: vertical video, 1080 wide by 1920 tall. Reels, TikTok, Shorts.

Setup, step by step

  1. Install Node.js, FFmpeg and Claude Code

    HyperFrames needs Node.js 22 or newer and FFmpeg, and renders through Chrome. Check what you already have first.

    bashCheck
    node --version     # want v22 or higher
    ffmpeg -version    # prints a version banner
    claude --version   # if missing: curl -fsSL https://claude.ai/install.sh | bash
  2. Add the HyperFrames plugin to Claude Code

    The plugin adds HeyGen's HyperFrames skills to Claude Code. The first npx run downloads the HyperFrames tool, so give it a minute.

    bashInstall 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 Chrome
    PermissionsA plugin adds instructions to Claude Code from HeyGen's GitHub marketplace. It doesn't touch your accounts. Third-party marketplaces don't auto-update by default; you can turn that on under /plugin.
  3. Make the folders

    bashFolders
    mkdir -p ~/video-edits/{clips,edit,out,prompts}
    cd ~/video-edits

The edit

  1. Start a project from your clip

    This 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.

    bashScaffold (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-interactive
  2. Ask for the edit in plain English

    Start claude in ~/video-edits and describe what you want. Be specific about what goes where; “make it pop” gets you confetti.

    PromptPrompt: the edit
    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.
  3. Look at it yourself once

    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.

The critic: send bad cuts back

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.

markdownprompts/critic.md
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.
bashPull 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.txt

Good: PASS, or a FAIL list with times you can check yourself. Then let Claude fix exactly that list:

PromptPrompt: 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.

Real use: prompts for real jobs

Prompt1. 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.
Prompt2. 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.
Prompt3. 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.
Prompt4. 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.

What it costs

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.

When it breaks

npx hyperframes doctor says Node.js is too old
Install the LTS version from nodejs.org (22 or newer), open a new terminal, run doctor again.
hyperframes check fails on the bare project
That's normal before the edit: there's no animation yet. Run it after Claude designs the edit.
Claude changed your clip or your audio
Say it in the prompt every time: keep my clip and its audio exactly as they are. Then re-render.
The critic passes something you can see is wrong
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.
The critic fails the same thing every round
Stop after three rounds and fix it yourself in plain English (“move every caption up 200 pixels”). Some fixes need one plain, exact instruction.
Captions out of sync
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.

That's the edit and the critic

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.

Checked on Oct 6, 2026 against

Every claim about a third-party tool in this guide (plans, prices, menu paths, commands, limits) was checked against these official pages on Oct 6, 2026. These screens change often: if something looks different, trust the page over this guide.

Rather skip the setup?

Want help setting this up?

Receipts Group builds these systems. Thirty minutes with Eric tells you which piece is worth building first, or that none of them are. The guides stay free either way.

Keep going

more free guides