Webinar pipeline
A webinar video is the long, calm sibling of the YouTube explainer: about an hour of plain-language teaching, carried mostly by slides, with b-roll and stills to rest the eye between ideas. It uses the same voice, brand, and footage library as the video pipeline, without the subscribe beat or the shorts.
How it differs from the YouTube pipeline
| YouTube explainer | Webinar | |
|---|---|---|
| Length | One to eight minutes | 55–65 minutes |
| Call to action | One subscribe board | None; the closing slides give the phone number and web address |
| Shorts | Exactly five | None |
| On-screen text | Boards of at most 28 words | Slides with ordinary slide text, at most 60 words, using the Presentations slide types |
| Picture | B-roll under most lines | Mostly slides; stills to rest the eye; b-roll only where a very short line fits the clip |
| Cuts | Hard cuts inside a footage chain | Every picture change dissolves over 0.6 s; nothing hard-cuts out of b-roll |
The source
A webinar is one file, video/webinars/SLUG/webinar.json: a cover question, a style (Minimal, Accent, or Bold), chapters, and an ordered list of beats. Each beat is what the narrator says plus exactly one picture: a slide (any Presentations slide type), a b-roll clip, or a still with a slow push, pull, or pan. The format and rules live in src/lib/webinar-templates.ts.
| Rule | Why |
|---|---|
| A slide stays up long enough to read | Its narration runs at least as long as its words take to read at 2.5 words a second, and never less than 8 s. Narration is timed at 150 words a minute. |
| Rest the eye | At most 6 slides in a row before a b-roll or still beat. |
| B-roll is optional and plays once, at natural speed | Each footage family appears once per webinar (offset and mirrored versions count as the same shot). Its narration must fit inside the clip with room for the dissolve even if the voice runs 1.4× slower than the estimate (short lines vary that much in the voiced productions), so footage is never slowed, looped, or cut short. When a line won't fit, use a still of the same shot instead. |
| Stills hold up to 24 s | Each still appears once. Choose one whose subject matches the narration from the 75 stills in the photo library. |
| No subscribe | Narration never asks viewers to subscribe; the cover headline is a question, as on YouTube. |
npm run check:video runs scripts/check-webinars.mts over every source and names each beat that breaks a rule.Slides on screen
Webinar slides take their structure and look from the Presentations templates (the same slide types, palettes, gold accent, and lozenges) but are drawn as responsive HTML in video/remotion.tsx, not the fixed PowerPoint layout. Every text size scales with one factor: after the fonts load, the slide measures its content and shrinks that factor until nothing overflows, so a long bullet or a dense table reflows instead of spilling off the frame. Items build in across the narration. Slides carry their own logo and page number; the YouTube watermark and subscribe pill are off for webinars.
Stills
Stills come from src/lib/stills.json: frames taken from the b-roll where the subject is sharp and clearly the focus, and stills generated with the Photography art direction. npm run stills -- candidates pulls six frames per clip to choose from; npm run stills -- export builds the originals and web copies; npm run stills -- register stages the originals as TimDS media for npm run timds -- assets publish.
Test webinar: Estate planning essentials
“Is your estate plan actually a plan?” · 59.1 minutes · 8,866 words · 167 beats: 89 slides (about 41 words each), 6 b-roll accents, 72 stills.
| Chapter | Minutes |
|---|---|
| Welcome | 4.7 |
| A will is not a plan | 8.7 |
| Wills and trusts, side by side | 9.0 |
| Choosing the people who act for you | 8.7 |
| Planning for incapacity | 8.8 |
| Keeping your plan current | 8.7 |
| Talking with your family | 4.9 |
| Next steps | 5.5 |
Status
video/productions/ to ship five shorts and offers no webinar production type, so webinar sources live in video/webinars/ and are validated but not voiced or rendered. The renderer pieces above are in place for the TimDS webinar format.