Recipe

Burned Captions

HyperFrames snippet

Two routes for baked-in captions: an animated HyperFrames cap() driver (slide-up in, fade out, hard-cleared) and the ffmpeg subtitles burn (Inter, outline 3, MarginV=90 safe zone) for SRT-driven cuts.

8 units use it

What it is

## What it is On-screen captions baked into the frame (no separate track). The choose-path series uses the HyperFrames `cap(text, tin, tout)` driver — set the text, slide it up + fade in over 0.32s, fade out at `tout`, and hard-clear opacity afterward (the non-linear-seek safety every choose-path overlay needs). For SRT-driven cuts, the ffmpeg `subtitles` filter is the equivalent burn with a TikTok-safe `MarginV=90`. ## When to use it - HyperFrames `cap()` for per-beat narrator lines timed by hand against `A[]`/`SEG[]`. - ffmpeg `subtitles` when you already have a word-aligned SRT (scribe-first workflow) and want to burn it as the LAST encode step. ## Knobs - HF: slide `y:26 -> 0`, in 0.32s / out 0.28s; `white-space: pre-line` for `\n` line breaks. - ffmpeg: `FontSize`, `Outline=3`, `MarginV=90` (safe zone), `PrimaryColour`/`OutlineColour` in ASS `&HBBGGRR&`.

How to use it standalone

HyperFrames snippet
// HyperFrames cap() driver — verbatim from the choose-path index.html.
function cap(text, tin, tout) {
  tl.set("#cap", { textContent: text }, tin - 0.01);
  tl.fromTo("#cap", { opacity: 0, y: 26 }, { opacity: 1, y: 0, duration: 0.32, ease: "power3.out", overwrite: "auto" }, tin);
  tl.to("#cap", { opacity: 0, duration: 0.28, overwrite: "auto" }, tout);
  tl.set("#cap", { opacity: 0 }, tout + 0.29);
}

# ffmpeg SRT burn (verbatim from cli/lib/ffmpeg-recipes.ts burnSubtitles defaults):
ffmpeg -i in.mp4 -vf "subtitles=cap.srt:force_style='FontName=Inter,FontSize=36,PrimaryColour=&HFFFFFF&,OutlineColour=&H000000&,BorderStyle=1,Outline=3,Shadow=0,Bold=-1,Alignment=2,MarginV=90'" -c:v libx264 -preset fast -crf 18 -c:a copy out.mp4
ParamValue
marginV90
outline3
fontNameInter
fontSize36
hf_in_sec0.32
hf_out_sec0.28
hf_slide_y26

Units that use this recipe

8 units

Every finished unit with Burned Captions in its recipe. Open one to see the full ingredient list, or remix straight from a tile.