lancekeay.com
Writing · Tool review · 15 Oct 2026 · 3 min read

Can Claude Code edit a video? I tried HyperFrames

Two posts say Claude Code plus a free skill turns it into a video editor. I ran it for a day on a test clip.

Lance Keay · software developer, writing from a homelab in the UK
The short version
  • It works, it is free and local, and the same HTML gives the same video every time.
  • It overlays titles, cards and captions. It does not cut your footage. I wrote a small script for the silence.
  • Software rendering is slow: 45 seconds for 19 seconds of 1080p.

What the posts claim

Two TikTok posts, saved a few days apart. One shows an AI-edited video with motion graphics and clean cuts, put together by Claude Code using a free skill called hyperframes. The other says Claude installs three free tools (Node.js, FFmpeg and Whisper) plus HeyGen's skills, and becomes a "video editor" for your footage. Same toolset, so one trial covers both.

What HyperFrames is

HyperFrames is HeyGen's open-source framework (Apache-2.0). A video is an HTML page with timed elements and a GSAP timeline. A headless Chrome captures it frame by frame and FFmpeg encodes the result. It ships 21 Claude Code skills, such as talking-head-recut, embedded-captions and motion-graphics, that teach Claude how to write those pages.

What I ran

One Docker image: Node 22, FFmpeg 5.1, Chromium, faster-whisper 1.1.1 on the CPU and hyperframes 0.8.162. Telemetry off. The skills came from GitHub at a pinned commit. I used faster-whisper because the built-in transcribe command wants to compile whisper.cpp on first use.

The source was a synthetic 37-second "talking head" reading three tips, full of long pauses and "um" and "uh". No real people, no real media. The pipeline:

  1. Whisper transcribes with word timestamps.
  2. A small script I wrote drops gaps over half a second and the filler words, then joins the pieces.
  3. Claude reads the transcript, plans six cards and writes the composition: lower third, kinetic title, three numbered tip cards, an end card and captions.
  4. hyperframes lint, then hyperframes render.

What happened

First run, with a robot voice: 37.0 seconds cut to 18.9, seven pieces kept, three fillers gone. The render was 1920x1080 at 30 fps, 3.4 MB, about 45 seconds on a laptop CPU. Lint reported no errors.

The robot voice was terrible, so I swapped in a natural local voice (Kokoro's stock af_heart) and ran it again: 30.3 seconds cut to 15.8, six pieces kept, three fillers removed, 3.0 MB. The new voice read "Um. So." as "Um, so," and Whisper heard "Uh," as "Ah,", so the filler rule needed two more cases. Claude also fixed a speech-recognition slip in each run ("iTunes" for "AI tools" in one, "eye tools" in the other).

What was good

  • No account, no API key, no upload. The whole loop stays on the machine.
  • The skill produced a clean, consistent design on the first render.
  • The linter caught a real problem: animating left and top stutters in frame capture, so it had to be switched to transforms.

What was not

  • The skill's own template animates left and top, which its own linter rejects. Claude has to notice and fix it.
  • HyperFrames does not cut footage. The silence cutting was my script, not part of the tool.
  • I placed the captions by hand from the transcript. The embedded-captions skill should do word-level captions; I did not try it.
  • Real faces and real speech will show up things a synthetic clip cannot: noise, music, jump cuts in the middle of a gesture. Not tested.
Rendering is deterministic. An edit is a changed line in a file that lives in git.

Verdict

Use it for short explainers and promo clips: take a screen recording or a talking-head take, cut the dead air, add titles and numbered points. It costs nothing beyond the Claude Code subscription I already pay for. It is not a cutting tool, and a ten-minute video would take about 25 minutes to render by my arithmetic, so plan for that.

Draft status: this is a write-up of one trial on one synthetic clip, not a benchmark. If you think I got something wrong, tell me and I will correct the post and say so at the top.