Loud short-form captions: one to three huge outlined words at a time, the spoken word snapping up in the accent colour, timed from your SRT or word timings
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`. Words inside a cue are timed by their length, so for word-exact timing paste per-word timings into `words` instead. A transcript longer than the clip plays as far as the clip runs; lengthen the video to show the rest.
Exact per-word timings in seconds, as any transcription tool exports them. Used when `srt` is empty.
now: 22 items
How many words share the screen. Two is the punchy default; one is the fastest, loudest read; three calms it down for a slower speaker. A screen also ends early at a full stop, a new subtitle cue or a pause.
now: 2
Words that land on their own: each one gets a screen to itself, set 30% larger, with a harder snap. Matched ignoring case and punctuation, so '6:48' also finds '6:48.'. Keep it to the one or two words the clip is really about.
now: 1 item
Where the words sit. 'lower' is the usual short-form spot, just under the middle. On a vertical video the bottom 18% (the platform's handle and caption) and the right 12% (the like and share buttons) are always kept clear, whichever you pick.
now: lower
Set in capitals, the loud version of this look. Turn off for sentence case, which reads calmer and fits more letters on a line.
now: true
Thickness of the dark outline around every letter, as a fraction of the type size. 0.08 holds over a blown-out window; 0 removes it, which only works over dark footage.
now: 0.08
Strength of the soft shadow under and around the words. It darkens the footage just behind the letters, which is what keeps them readable when a bright, busy background crosses the line.
now: 0.7
Type size relative to the frame. Long words stack onto a second line and then shrink on their own to stay inside the safe area, so push this up freely.
now: 1
Paint the brand's own dark ground behind the words when the stand-in scene is off. Off leaves the background transparent.
now: false
Draw a stand-in shot, a gym at night lit by warm lamps, behind the words so the look can be judged on something. Turn it off, with `ground` off, to export the captions alone on a transparent background for your own footage.
now: true
Brand token id, one of the keys of BRANDS. Its accent colours the spoken word and its display face sets the type.
now: ember
No Tailwind, no CSS, no asset files. Inline styles only.
I want the big bold captions every fitness and money short uses: two words at a time, huge white capitals with a thick black outline, and the word I'm saying pops bigger in orange for a split second and then settles. It has to read over anything, including a bright light behind me, stay above the TikTok and Reels buttons, and take the SRT or word timings from my transcription app so I never keyframe a word. Transparent background so it goes straight over my footage, but show it over something in the preview.