MOTIONSTASH
All components

Marker Captions

Titles & lower thirds

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

Download preview768×432 preview render. The full-resolution file comes from running the component
8 seconds
Format

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.

captionssubtitleshighlightermarkerhand-drawnword timingsrtoverlayverticalnotebookexplainerfinance
What you can change · 11 settings

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.

  • Srt
    srt · string

    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.

  • Words
    words · array

    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

  • Max words
    maxWords · number

    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

  • Emphasis
    emphasis · array

    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

  • Position
    position · "lower" | "center" | "upper"

    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

  • Marker color
    markerColor · "highlighter" | "accent"

    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

  • Scale
    scale · number

    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

  • Halo
    halo · number

    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

  • Stage
    stage · boolean

    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

  • Ground
    ground · boolean

    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
    brand · string

    Brand token id, one of the keys of BRANDS. Notebook is the cream page and yellow highlighter this style is drawn for.

    now: notebook

For developers · source, dependencies and provenance

Dependencies

remotion@remotion/shapeszod

No Tailwind, no CSS, no asset files. Inline styles only.

Source

Filesrc/registry/items/marker-captions.tsx
Frame1920×1080
Duration240f · 8s @ 30fps

Provenance

ToolClaude Code
ModelOpus 5.5
Authormotionstash
LicenseMIT

Prompt

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.