Log in
GuideBy HypernaturalVersion 1, updated

Caption a video

hn/guide-caption-a-video

Choose whether a video needs spoken captions, selected message titles, or both, then a caption treatment suited to the listening context, brand tone and layout. Covers karaoke, calm words and seam chunks, readable sizes and placement, word timing, and coordinating captions with titles or chyrons in the first look.

SKILL.md

First question: does the viewer need the spoken words, key messages, or both? Use the brief, listening context and brand tone to choose. When the viewer needs speech as text, provide captions; a title giving the gist does not replace them. When only key messages need emphasis, designed titles may suffice. Ads can need either or both.

Choose the caption treatment for readability and tone: a karaoke pill adds emphasis, calm words settle in, and seam chunks suit a split layout. The spoken-caption routes use captions() in hn4a-compositor-in-scene-titles (mode=), cued from word times (python-read-word-timings); titles and lyrics use their own leaves below.

Routes

RoutePick it whenCost and timeWhat you getLeaves
Karaoke pillSocial explainers, screen walkthroughs, creator and podcast clips: viewers read alongFree; two layers a wordEach phrase builds word by word, the spoken word on the accent pill, bouncinghn4a-compositor-in-scene-titles (mode="karaoke")
Calm word by wordStory pieces, animated shorts, anything a pill would make "too bouncy"Free; one layer a wordEach word rises in as it is said, key words in a lighter accenthn4a-compositor-in-scene-titles (mode="calm")
Seam chunksSplit-screen shorts: face in one half, screen in the otherFree; one layer a chunk2–3 big words at a time on the seam, a keyword colour, a hard strokehn4a-compositor-in-scene-titles (mode="chunks")
Designed titlesThe brief needs selected messages emphasized; combine with captions when the spoken words are also neededFree; hand-written phrasesThe gist in the brand's typehn4a-compositor-motion-graphics, guide-add-titles-and-motion-graphics
Kinetic lyricsMusic videosFreeLyrics as type that lands on the sung syllables and acts out its wordshn4a-compositor-kinetic-lyrics

Captions that lie on a surface in the scene (along a floor, on a wall, tilted into the set, running off into the distance) are any of these routes inside a plane group: hn4a-compositor-perspective-planes.

The numbers that worked

RouteAspectTypePhraseWhere
Karaoke16:9 walkthroughbrand sans 800, 54 px, a 4 px ink outlinesentence ends, pauses over 0.32 s, 6 words or 30 charactersa box above the bottom edge, clear of the presenter bubble
Karaoke16:9 creator clipthe brand's caption face; active word in the accentsentence ends, pauses over 0.3 s, 5 words or 26 charactersfollowing the chin, outside any camera shake
Karaoke9:16900, about 68 px, uppercase4 words or 22 charactersa 960 × 230 box at x 60, y 1330, clear of the platform's buttons
Calm9:16700, about 66 px, near-white, a soft dark shadow6 words or 30 characters, a 0.45 s pause ends oney ≈ 1400
Chunks9:16 split screencondensed caps, about 92 px, a 10 px black stroke under the fill2–3 words; after 2 when the second is longcentred on the seam, over a 6 px accent seam line

Calm captions rise 14 px over 0.22 s from 0.05 s before the word, hold until 0.05 s before the next phrase and fade in 0.15 s, key words in a lightened brand accent. Chunks pop in 0.18 s. Captions styled to a generated look (and the cards that share the frame with them), from a paper-cut short: references/paper-cut-cards.md.

Choosing

  • Pill or calm: a karaoke pill on a paper-cut story short read as "too bouncy"; calm words fixed it. On a screen walkthrough the pill is what reads.
  • Avoid competing text treatments: karaoke captions on one 20 s claymation ad competed with its designed titles and were dropped. When both are required, separate their placement or timing, and prove readability in the first look.
  • Phrase length is a feel: 4 words or 22 characters on a story short left single words alone on screen; 6 or 30 read as phrases.
  • Outline over light screens: plain white captions vanished over a white UI; a 4 px ink outline (stroke=) reads on light and dark.
  • Captions with a chyron: the lower third takes the bottom of a 16:9 frame; move the captions above it, or drop them while a strap is up (hn4a-compositor-chyron).
  • Captions behind a person are titles like any other: check them (python-check-title-occlusion).

Process

  1. Word times of the exact track the spec plays (python-read-word-timings); for recorded speech, a transcript (whisper-cli-transcribe-with-word-times) checked by ear for names.
  2. Respell for the screen, not the voice: uppercase first, then map words to what to show (upper=True, shown={"2030S": "2030s"}), so a TTS respelling or a unit reads right.
  3. Coordinate captions with titles. When a title supplies the same words, its span can use skip; end a phrase at the skip boundary to avoid a collision. If the title only gives the gist and the spoken words are needed, keep the captions and move or retime the title.
  4. Clip each caption's end to the next one's start: two overlapping for a frame reads as a flicker. captions() does it.
  5. Gate: the caption style is part of the first look (guide-add-titles-and-motion-graphics, Process 1): the person sees it move before the rest is built. Then the live spec (hn4a-compositor, Live spec, then render).

Avoid

  • Captions baked into a generated image or video: composite them.
  • Captions over the platform's buttons or under a chyron.
  • Typed times: re-cue from a new transcript after any re-cut or re-take.
  • A transcript's spelling on screen unchecked: numbers come back as digits and names misspelled.

Related

  • guide-add-titles-and-motion-graphics: titles and graphics around the captions.
  • hn4a-compositor-chyron: news straps and tickers that share the frame.

Workflows that use this skill

FAQs

Choose whether a video needs spoken captions, selected message titles, or both, then a caption treatment suited to the listening context, brand tone and layout. Covers karaoke, calm words and seam chunks, readable sizes and placement, word timing, and coordinating captions with titles or chyrons in the first look.

Install Hypernatural Desktop, a free Mac app, and connect it to Claude Code, Codex or Claude Desktop. Then describe the video you want and your agent finds the skill itself, or paste this page's link (https://hypernatural.ai/skill/hn/guide-caption-a-video) and it installs hn/guide-caption-a-video and follows it.

Nothing. The skill is free and runs with tools on your own Mac, like hn4a-compositor and python.

Yes. Ask your agent to adjust it for your job, or to save its own version. You can publish your version under your own handle so anyone can install it.

Go make something cool.

Install the app, open your agent, describe the video. That's the whole onboarding.

Sticker HypernaturalSticker BannerSticker TVBoy