Guide
Animated captions for Reels
Word-by-word captions need one thing above all, a transcript with a start and end time for every word. The style, the render and the overlay follow from that.
Updated
To make word-by-word or karaoke captions for a Reel, you need a transcript with a start and end time for every word, a caption style that animates those words, and a render that puts them over your clip or exports them as a transparent overlay for your editor. With HyperFrames, all three steps run on your own computer, and Claude Code can do them from one prompt.
This guide covers the method, the numbers that keep captions readable and the export options for different editors.
What makes a caption readable
Before the tools, the rules. Captions are there so people can follow a video with the sound off, so they have to be readable in a glance:
- Two to four words per caption. Longer lines turn into reading, not watching.
- Big enough. At least 44 px on a 1080-wide canvas, bigger for one-word styles.
- In the right place. Inside x 60 to 940 and above y 1440, clear of the app's buttons and its own caption. Talking-head captions sit around y 1000 to 1440, below the face. See Reels safe zones.
- High contrast. White or bright text with an outline, a shadow or a box behind it, so it reads over any background.
- In sync. A caption that arrives late is worse than none. Word timings fix this.
Transcribe with word timings
A transcript for captions is not just text. Every word needs a start and an end time. HyperFrames has a transcribe command that produces exactly that:
npx hyperframes transcribe my-video.mp4
The result is a transcript.json with each word and its timing. It runs on your computer; the first run sets up a speech recognizer and downloads a speech model. If you already have subtitles from your editor, you can import an SRT file instead of transcribing:
npx hyperframes transcribe subtitles.srt
Fix the words that matter
Speech recognition slips on names, brand words and jargon. Open the transcript and correct the spelling before you style anything; the timings stay the same. This is also the moment to split long phrases into shorter caption groups.
Pick a caption style
The style is how the words appear. Common families:
| Style | What it does | Good for |
|---|---|---|
| Pop word | Lines with a thick outline; the spoken word pops bigger in the accent color | Energetic talking heads |
| Highlight box | A colored box slides from word to word behind the spoken word | Clean, readable tutorials |
| Karaoke fill | Color fills each word from left to right as it is spoken | Podcasts, longer sentences |
| One word | One big word at a time, punching in on the voice | Hooks, short punchy clips |
| Clean subtitle | Calm two-line subtitles with punctuation and a soft fade | Interviews, documentary looks |
| Emphasis | Plain captions where chosen keywords get color and size | Teaching, niche power words |
Whatever the style, the animation reads the word timings, so the same transcript works with any of them. Keep the motion short: a pop of about 0.1 to 0.2 s, never a long fade on every word.
Render over the clip or as an overlay
There are two ways to finish:
Captions burned into the video. The clip goes into the HyperFrames project as a video layer with its own sound, and the captions are drawn on top. Render a normal MP4 and post it.
Captions alone, as a transparent overlay. Render only the captions, with no background, and put them on top of your edit in another app:
| Your editor | Use |
|---|---|
| Premiere Pro, DaVinci Resolve | WebM with transparency (VP9 with alpha) |
| Final Cut Pro | MOV, ProRes 4444 with alpha |
| CapCut and phone apps | MP4 on a green background, removed with chroma key |
A transparent render needs a transparent page: no background color on the page or the root element in that version. See alpha channel for why some apps show black instead.
Caption files for platforms
The same corrected transcript can also become a subtitle file, so platforms that support uploaded subtitles get searchable, switchable text:
npx hyperframes transcribe transcript.json --to srt -o subtitles.srt
Use --to vtt for websites.
Doing it with one prompt
With Claude Code, the whole sequence fits in one request: "Transcribe my-video.mp4, let me check the names, then caption it in a highlight-box style inside the safe box, and also give me a transparent version for my editor."
Motion Cheat Code's Caption Studio has 12 ready-made caption styles built this way, plus the Karaoke Captions template (t32) as a transparent overlay and a captions skill for Claude Code. The free starter kit is a good first step to see how the prompts work before you caption your own footage.
Questions
What is the difference between karaoke captions and word-by-word captions?
Word-by-word captions show the words as they are spoken, often one short phrase at a time. Karaoke captions show the whole line and mark the word being spoken, for example by filling it with color from left to right or moving a highlight box onto it. Both need the same word timings.
Can I add these captions in CapCut instead?
Yes. Render the captions alone as an overlay and lay them on top of your clip. CapCut ignores transparency in imported video, so use a green-screen version and its chroma key; Premiere, DaVinci Resolve and Final Cut can use a transparent file directly.
Does transcription need an internet connection?
In HyperFrames it runs on your computer. The first run sets up a speech recognizer and downloads a speech model, which needs a connection; after that it works locally.