❉Recipe
Burned Captions
HyperFrames snippetTwo 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 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| Param | Value |
|---|---|
| marginV | 90 |
| outline | 3 |
| fontName | Inter |
| fontSize | 36 |
| hf_in_sec | 0.32 |
| hf_out_sec | 0.28 |
| hf_slide_y | 26 |
Units that use this recipe
8 unitsEvery finished unit with Burned Captions in its recipe. Open one to see the full ingredient list, or remix straight from a tile.