Word-timed captions in still, dark type where each emphasised word gets a hand-drawn highlighter stroke that sweeps behind it exactly while it is said
This is the format it was composed for. Switch above to see it lay itself out for another: same animation, re-arranged for the frame.
Everything below can be changed without touching the animation. Hand the list to an agent, or edit the values at the bottom of the component file.
Paste an SRT or WebVTT file's text. When it has cues it replaces `words`, and the words inside each cue share its time in proportion to their length. Captions play for as long as the clip runs, 8 seconds by default, so a longer transcript stops where the clip ends: lengthen the clip in your project to show all of it.
Per-word timings in seconds, exactly as a transcription tool exports them. Used whenever `srt` is empty. Each caption appears on its first word's start time, not a frame later.
now: 21 items
How many words share one screen. A screen also ends at a full stop, at a cue boundary and at any pause longer than 0.6 seconds, so a caption never runs across two sentences. Five reads as a line of notes; 2 or 3 suits fast vertical edits.
now: 5
Words that get the highlighter, matched ignoring case and punctuation, so `$72,000` also matches `72000.` and `7%` matches `7`. Mark what a viewer should remember: figures, names, the one word the sentence turns on. Every occurrence is marked.
now: 5 items
Where the caption sits. On a vertical 9:16 frame `lower` stays above the bottom 18%, where the platform draws its own text and buttons, and every position keeps out of the right-hand 12%, where the like and share column is. Use `upper` when your lower third is busy and `center` for a talking head with room in the middle.
now: lower
Which ink the marker uses. `highlighter` is the brand's second accent, yellow on notebook. `accent` is its main accent, red on notebook, laid down as the pink a red highlighter really leaves, because any colour is thinned toward paper until the type on it reads at 7:1 or better.
now: highlighter
Type size. At 1 the line is 7.8% of the frame height on 16:9 and 8.8% of the width on 9:16, which reads on a phone held at arm's length. Long words shrink a screen to fit rather than run off the frame.
now: 1
A soft paper-coloured glow around each letter, which keeps dark type readable over dark or busy footage. It fades out of a word as the marker covers it, since the marker is doing that job there. Set 0 for clean type over a plain page.
now: 0.6
Draw the stand-in shot behind the captions: a spiral notebook with the formula worked out, a highlighter and a flat white on a desk, in soft focus. It is there so the demo shows the captions over a picture. Switch it off when you put this over your own video.
now: true
Paint the brand's plain paper colour behind the captions when the stand-in is off. Off by default: with `stage` and `ground` both off the captions render on a transparent background, ready to drop over your own footage.
now: false
Brand token id, one of the keys of BRANDS. Notebook is the cream page and yellow highlighter this style is drawn for.
now: notebook
No Tailwind, no CSS, no asset files. Inline styles only.
I make personal finance videos at my desk and I want my captions to look like I went over the numbers with a highlighter while I say them. Normal dark text, a few words at a time, and every figure gets a yellow marker stroke that sweeps across behind it exactly as I say it, so it has to take my word timings or an SRT file. It must look hand-drawn, wobbly edges and slanted ends and a bit of a double pass, not a yellow box. It has to work on my 16:9 videos and on Shorts without the buttons covering it, and come out transparent so I can put it over my own footage.