The reel that sent you here was not cut in CapCut, Edits or Premiere. Claude wrote it as a web page, with the footage, captions, titles and every animation in code, and a renderer turned that page into an MP4. When we wanted a change, we typed a sentence.
This guide is the whole workflow behind that reel, in the order we use it. Claude Code and HyperFrames are not made by webridgeAI. The commands below were checked against HyperFrames version 0.8.162 and the Claude Code documentation on 15 October 2026.
1. How this works
A HyperFrames video is an HTML page. Your clip, the captions, the titles and the animations are elements on that page, each with a start time and a length. To render, HyperFrames opens the page in a headless Chrome, steps through it frame by frame, and FFmpeg turns the frames and the audio into a video file.
That is why Claude can edit it: the whole edit is text. Claude reads your footage, writes the page, checks it, and renders it. You never touch a timeline, but you can always open the page and see exactly what is on screen and when.
2. What you need
| What | Why |
|---|---|
| Claude Code | Claude working in a folder on your computer: it reads your clip, writes the edit and runs the render. It needs a Claude subscription (Pro, Max, Team or Enterprise) or a Claude Console account with API credits. |
| HyperFrames | HeyGen's framework that renders an HTML page into video, frame by frame. It also installs the instructions Claude follows to build one. |
| FFmpeg and Node.js 22 or newer | The tools HyperFrames uses to read and write video. |
| Your raw clip | Straight off your phone, untouched. Dead air and all. |
Optional: a reel whose look you like, a music track you have the rights to use, and any screenshots, logos or clips you want in the edit.
3. Set up once
Install Claude Code. On macOS, Linux or WSL:
curl -fsSL https://claude.ai/install.sh | bashOn Windows, in PowerShell:
irm https://claude.ai/install.ps1 | iexHomebrew (brew install --cask claude-code) and WinGet (winget install Anthropic.ClaudeCode) also work. Open a new terminal and run claude --version to check.
Install FFmpeg and Node. On a Mac with Homebrew:
brew install ffmpeg nodeInstall the HyperFrames instructions so Claude knows how to build video:
npx hyperframes skills updateCheck everything is in place:
npx hyperframes doctorIt reports anything missing, such as FFmpeg or the Chrome it renders with.
4. Prepare your footage
The edit can only be as good as what you hand over. What we do before recording:
- Record vertical, 1080x1920 if your phone allows it. Instagram reels are 9:16.
- Sound first. A cheap clip-on microphone in a quiet room beats any camera upgrade. An edit cannot fix muffled or echoing audio.
- Light from the front, a window or a lamp facing you, not behind you.
- Leave a breath at the start and end of each take, and do not stop for mistakes. Say the line again; the edit cuts the dead air and the false starts.
- Keep the raw file untouched. Do not trim or filter it on the phone first.
Then make one folder for the reel and put everything in it:
my-reel/
raw.mov your clip, as recorded
reference.mp4 optional: a reel whose look you want
music.mp3 optional: a track you are allowed to use
assets/ optional: screenshots, logos, other clipsOpen Claude Code in that folder:
cd my-reel
claude5. Hand over the raw clip
Send one message that says what you want and asks for the plan first. Change the parts in brackets:
Here is my raw clip: [raw.mov]. Edit it into a [50]-second Instagram reel,
1080x1920. Captions on, word by word. Cut the dead air and false starts.
Use HyperFrames.
Look: [deep forest green, cream and gold; serif captions on green tabs].
Before you build or render anything, give me a full storyboard.Useful lines to add, depending on the reel:
- A reference:
Match the look of [reference.mp4], scene by scene, but use my words. - Pace:
A new picture every 2 to 4 seconds. - Safe areas:
Keep text out of the bottom 450 pixels and the right edge, where Instagram's buttons sit. - Proof on screen:
When I name a tool or a number, show the real page it comes from. - Sound:
Quiet music under the voice, and a soft sound effect on every cut.
Be specific about what you want the viewer to feel and do. "Make it good" gives Claude nothing to aim at. "Calm and premium, like a product launch, and the last line asks people to comment EDIT" does.
6. Captions
Captions are built from a word-level transcript, so every word lights up as it is said. HyperFrames includes a transcriber that runs on your own machine:
npx hyperframes transcribe raw.mov --jsonClaude usually runs this for you. Two things are worth checking yourself:
- Names and jargon. A transcriber hears "Claude" as "cloud" and "HyperFrames" as "hyper frames". Give Claude a list of the words to spell your way.
- Timing after cuts. If the audio changes (a re-record, a trim), the transcript has to be made again, or the captions drift.
If you need a caption file for another app, the same command writes one: add --to srt.
7. Read the storyboard first
This is the step we add. Before a single frame is rendered, Claude writes STORYBOARD.md: one entry per beat, with its time, the line being said, what is on screen, the shot, and the sound. For our reel that was 25 beats, and you can see the plan scroll past in the reel itself.
Read it the way a director reads a shot list. It is the cheapest moment to change your mind: a note here costs one sentence, while the same note after a render costs a re-render.
What we check in every storyboard:
| Question | Why it matters |
|---|---|
| Does the first 2 seconds say what the viewer gets? | The first seconds decide whether someone keeps watching. |
| Does the picture change every few seconds? | A static shot is where people swipe. |
| Is every claim on screen true and sourced? | A wrong number costs more trust than the reel earns. |
| Is anything important in Instagram's button area? | The caption, buttons and profile name cover the bottom and the right edge. |
| Does the end ask for one clear thing? | One request is easier to act on than two. |
8. Look at stills before anything moves
Ask for the layouts before the motion:
Show me stills of the key frames before you animate anything.Claude can capture them with HyperFrames:
npx hyperframes snapshot --at 1,5,12,30Each time in seconds becomes a PNG of exactly what is on screen at that moment, plus a contact sheet. It is the fastest way to catch clipped words, text over a face, or a colour that does not read on a phone.
9. Change it with sentences
Every edit is a message. Claude changes the code and tells you what it changed. There is no timeline to drag and nothing to keyframe by hand.
The first four below are the changes the reel shows on screen. The last two are notes we sent while making it:
Make it more aesthetic.
Make it moody.
Tighter cuts.
Bigger captions.
Use this as the first line: "I didn't edit a single frame of this video."
The two lights in the background look fake. Take them out.Notes that work well, by kind:
- Pace: "Cut the pause before 'and then'." "Hold the last frame half a second longer."
- Look: "Warmer, but keep the walls neutral." "Less contrast on my face."
- Type: "The title is clipped on the right. Make it fit." "Put the big word behind my head."
- Captions: "Three words at a time, never four." "Move the captions up; they cover my hands."
- Structure: "Swap beats 6 and 7." "The middle drags. Cut the second example."
- Sound: "Music down a little." "A whoosh on every screen change."
Point at a time when you can ("at 0:12 the logo appears too early"). It saves a round.
10. Sound
Sound is half of why a reel feels finished. What we ask for:
- Music under the voice, not beside it. We keep the bed about 12 dB below the voice, measured in the range a phone speaker plays. If you can hear the music but never have to strain for a word, it is right.
- Effects on events only. A soft whoosh on a cut, a pop when a graphic lands, a click when something is typed. Effects with nothing on screen to explain them feel random.
- One loudness for the whole reel. We master the final file to about -14 LUFS so it plays at a steady level next to other reels.
HyperFrames can measure what you have:
npx hyperframes audioIt reports where sounds land, the hits, the loudness and the silences, in the reel's own time.
Only use music you have the rights to. A commercial song in the file itself can get the reel muted.
11. Check before you render
Two commands catch most problems before they cost a render:
npx hyperframes lint
npx hyperframes checklint looks for common mistakes in the page (a missing file, a video without an id that would freeze in the render). check runs lint plus a real run in a browser and a layout and contrast inspection, and ends with "Check passed" when it is ready. Ask Claude to fix everything they flag before rendering.
12. Preview, then render
Preview the edit in the browser, where you can scrub, watch and click on anything. HyperFrames calls this view Studio:
npx hyperframes previewWhen it looks right, render the MP4:
npx hyperframes render -o renders/reel.mp4Useful options:
| Option | What it does |
|---|---|
--quality draft | A fast, rough render to check timing. |
--quality looks | The default, good for review. |
--quality delivery | The highest quality, for the final file. |
--fps 30 | Set the frame rate. |
--format webm | A WebM with a transparent background, for overlays. |
On an M1 MacBook, our 35-second reels have rendered in under two minutes. Long or effect-heavy edits take longer.
13. Post it
Before you upload:
- Watch it on your phone, with sound, then again on mute. Plenty of people watch with the sound off, so the captions have to carry it.
- Make a cover. Ask Claude for a 1080x1920 cover from a strong frame, with the words kept inside the middle 1080x1440, which is what the profile grid shows.
- Write the caption. First line: what they get. If you ask for a comment keyword, make sure the thing you promise exists before you post.
- Label AI content. If any part of the video is AI-generated, such as a voice or a face, Instagram asks you to label it when you post. Turn the label on.
14. When something goes wrong
| What you see | What to try |
|---|---|
| A clip is frozen in the render | Ask Claude to run npx hyperframes lint. A video without an id is the usual cause. |
| Something is missing from the render | lint lists missing files. Check the file name and folder. |
| Captions drift out of sync | The audio changed after the transcript. Transcribe again, then rebuild. |
| Text is clipped or covers your face | Take stills (section 8) at that time and describe what is wrong. |
| The render is slow | Use --quality draft while you iterate, and the full quality once. |
| Something does not work and you do not know why | npx hyperframes doctor checks the setup. Then paste the exact error to Claude. |
15. What it will not do
- Fix a bad recording. It edits the footage you give it. Bad audio stays bad audio.
- Know your taste on the first try. The storyboard and the stills are there so you can catch a wrong idea before it costs a render.
- Run for free. Claude Code needs a paid plan or API credits, and a long edit with many rounds of changes uses a good share of either.
- Decide what is true. It will put any claim on screen. Checking the facts is still your job.
Sources
- HyperFrames, HeyGen. Commands checked against the CLI, version 0.8.162, on 15 October 2026.
- Claude Code quickstart, Anthropic. Install commands and plans checked on 15 October 2026.