When to use
Use this when you need a full script for a 5-20 minute talking-head, tutorial, or essay video and you want it engineered for watch time, not just written prose. Best when you already know the topic and the audience.
Not for: short-form under 60s (use cc-short-form), title/thumbnail work (use cc-title-hooks, cc-thumbnail-brief), or picking the topic itself.
Method
- Lock the promise. State the one payoff the viewer gets by the end in a single sentence. Decision point: if you cannot say it in one line, the topic is too broad — narrow it.
- Write the hook (first 15-30s). Open with the payoff, a pattern break, or a stakes-raising question. Never open with a channel intro or "hey guys."
- Set the retention spine. List 3-6 beats that each earn the next 60-120s. Decision point: if a beat only restates the prior one, cut it.
- Add open loops. Tease a later payoff early ("the third one changed how I work") so viewers stay for it.
- Write beats as spoken language — short sentences, second person, one idea per line. Mark [B-ROLL] and [ON-SCREEN] cues inline.
- Place a mid-roll re-hook around the 40-50% mark to recover drifting viewers.
- Close with one CTA tied to the payoff. Decision point: one ask only — subscribe OR comment OR link, never a stack.
Example
Topic: "Why your morning routine fails." Hook: "Your 5am routine isn't broken — it's built for someone who doesn't exist." Beats: (1) the copied-routine trap, (2) the one variable that actually predicts follow-through, (3) a 3-question audit, (4) a rebuild template. Open loop: "beat 3 is the one nobody does." Re-hook at 45%: "here's where most people quit." CTA: "Comment your wake time — I'll audit the first ten."
Pitfalls
- Slow cold opens (logo, "welcome back") that bleed the 30s retention cliff.
- Beats with no escalation — each should raise stakes or add a new idea.
- Stacking multiple CTAs, which splits action and lowers all of them.
- Writing for the page, not the ear — long clauses that no one says aloud.
Output format
TITLE WORKING: <...>
PROMISE (1 line): <...>
[HOOK 0:00-0:25]
<spoken lines>
[BEAT 1 — <label>]
<spoken lines> [B-ROLL: ...] [ON-SCREEN: ...]
[OPEN LOOP]: <tease>
[BEAT 2 ...] [BEAT 3 ...]
[RE-HOOK ~45%]
<line>
[BEATS continue...]
[CTA]
<single ask>