The script stage has three artifacts: an outline, a hook, and chapters. Each one regenerates independently. You can throw away the hook ten times without touching the outline. You can rewrite a single chapter without touching the rest. The data model is built for that — the schema treats each one as a first-class object so reroll boundaries are clean.
The outline first. The LLM reads your title, your hook (if it exists), and the chapter-count target, then writes the outline. The count scales with your target video length — roughly three to five chapters for a short 5-minute video, more as the video gets longer (up to eighteen for a 30-minute one). Each chapter gets a name and a one-paragraph beat — what's in it, what it sets up, what it resolves. You approve the outline before chapters expand.
Chapter expansion. Each outline beat becomes prose — usually 200-500 words per chapter for long-form, less for short-form. The chapters table shows each one as a card with the prose, a per-chapter Reroll button, and a sentence-level review pane. You can edit prose directly; edits are tracked at the chapter level so the next regen doesn't clobber them silently.
The hook. Your first 10 seconds. The hook lives in its own panel because it's the highest-leverage prose in the video — it gets rerolled more than anything else. When you ask for a hook, the LLM doesn't give you one — it gives you a candidate slate. The prompt asks for structurally different shapes: an interrogative ('what if X'), a stat ('Y% of viewers'), a contrarian claim ('everything you've read about Z is wrong'), a cold open ('it was 3am and…'), a visual contradiction (something the camera shows that contradicts what the narrator says). Pick the one you want, regenerate the slate as many times as you want.
No retention scoring. There's no retention curve model in our code. Any claim about predicting drop-off-per-second from public YouTube data would be guessing at what works for your channel, your audience, your niche. The hook slate is structural variety, not a predictor — make it cheap to try, then look at your actual retention 48 hours after you publish.
Per-chapter regenerate. The thing this stage exists to make easy. Click Regenerate on chapter 3, the LLM rewrites only chapter 3 using the surrounding chapters as context, and the rest of the script stays put. Costs one LLM call.
Sentence-level review. Each chapter card has a Review button that splits the chapter into sentences and lets you accept, reject, or reroll one at a time. Useful for that one stuck-out sentence where everything else is fine — you don't need to regenerate the whole chapter.
Target length, gently. The script stage targets words-per-minute against your declared video duration. If you want 7 minutes and the script comes back at 4 minutes' worth of words, the per-chapter regen is the lever — add chapters or expand existing ones. The outline surfaces a drift warning when the script is ≥20% off the target.
What's harder than it should be. Editing the LLM's beat structure mid-chapter. If you decide chapter 3 should pivot from claim to contradiction, your cleanest path today is to edit the prose by hand and skip the regenerate. The structural beat shape lives in the chapter notes (keyStoryBeats JSON) — it isn't exposed in the UI yet. Real product gap; on the roadmap.
The hook reroll is the single most important habit in this stage. Don't ship the first hook the LLM gives you. Reroll until something earns a second read.