Module 02 · Scripting for AI Video
Writing Hooks and Scripts With ChatGPT for Short-Form Video
Open lesson + course map
On this lesson
Course outline
Module 1 · The AI Video Stack in 2026
Module 2 · Scripting for AI Video
Module 3 · AI Voice and Narration
Module 4 · Generative Video With Veo
Module 5 · AI Avatars and Presenter-Style Video
Module 6 · Editing and Assembly in CapCut
Module 7 · Video Service Packaging
A short-form script is spoken language arranged for a viewer who can leave at any second. The hook earns the next sentence; the body delivers one useful idea; the final action tells the viewer what to do without making a false promise.
In this lesson, you will turn an approved source brief into three timed 30–60-second scripts, then select one production-ready 45–60-second script with source notes and shootable visual cues. ChatGPT supplies drafts, but your source pack and read-aloud test decide what survives.
// concept
Build a Source-Locked Short-Form Brief
Do not begin with “write a viral Reel.” Give ChatGPT a narrow production brief. A useful brief contains the viewer, one promise, platform and duration, voice, permitted facts, prohibited claims, available visuals, and one viewer action.
Use source labels so every factual line can be traced during review:
| Brief field | Decision | Example |
|---|---|---|
| Viewer | One recognisable audience | Students comparing two study methods |
| Promise | One useful payoff | Show when active recall is more useful than rereading |
| Duration | A timed range, not “short” | 45–60 seconds |
| Voice | Spoken delivery | Direct, calm, short sentences |
| Source pack | Approved facts | S1: brief; S2: product sheet |
| Visual inventory | Footage you can actually obtain | Phone screen, notebook, hands, product close-up |
| Action | One honest next step | Save the checklist or message for the menu |
Remove customer names, phone numbers, CNIC images, passwords, and confidential campaign data before using ChatGPT. On a personal workspace, review Settings → Data Controls first.
// concept
Draft in Two Passes, Then Cut 20 Percent
Pass one creates the structure; pass two challenges the draft. Paste this full prompt into a fresh ChatGPT conversation and replace the bracketed fields:
You are a short-form video script editor. Use only facts inside <sources>.
Do not add prices, availability, locations, results, comparisons, quotes, or
product features that the sources do not state.
VIEWER: [one specific viewer]
PLATFORM: [Reels / Shorts / TikTok]
DURATION: 45–60 seconds
VOICE: [three useful delivery adjectives]
AVAILABLE VISUALS: [footage, screenshots, graphics, or products I can use]
VIEWER ACTION: [one action that the source supports]
Write three different hook options first:
1) a direct problem hook;
2) a contrast hook;
3) a specific situation hook.
No clickbait question, fake urgency, or promised result.
Choose the hook best supported by the sources. Then write a spoken script with:
- HOOK: 1 sentence
- CONTEXT: 1–2 sentences
- PAYOFF: the useful explanation or proof
- ACTION: 1 sentence
Return a table with timestamp, voiceover, visual cue, and source label.
Target 115–140 spoken words. Mark creative transitions as [CREATIVE].
After the table, list every factual claim and its source label.
<sources>
[S1 — paste the approved brief]
[S2 — paste another approved source if needed]
</sources>For pass two, do not request a vague rewrite. Paste the generated script back with this instruction:
Audit this script against the source pack. Quote any unsupported factual phrase.
Then produce revision B with about 20% fewer words while preserving the hook,
the sourced payoff, and the viewer action. Remove repeated meaning, throat-clearing,
and adjectives before removing evidence. Do not introduce new facts.// concept
Time the Voice and Check Shotability
Use 140–160 spoken words per minute as a working planning band, then replace the estimate with your own timed read. The timing formula is:
estimated seconds = word count ÷ chosen words per minute × 60
Example: 126 words ÷ 150 × 60 = 50.4 secondsAt that band, 45 seconds holds roughly 105–120 words and 60 seconds roughly 140–160 words. Pauses, Urdu names, numbers, and demonstrations alter the real duration. Read aloud twice with a phone timer before revising.
A line is shotable when the editor can name its product shot, screen recording, B-roll, text card, or graphic. Rewrite lines requiring unavailable footage, an unauthorised logo, or unreadable phone text.
// worked_example
Worked Example
The following is a hypothetical sample for an unnamed Lahore home bakery. Its approved S1 brief says: a pre-order box contains six chocolate brownies; orders close Wednesday at 6:00 p.m.; pickup starts Thursday after 4:00 p.m. in Johar Town; delivery is unavailable; customers order by sending BROWNIE BOX in the business WhatsApp chat; and the reply gives the current price and pickup instructions. Available shots are the box, phone clock, demonstration chat, and pickup label.
The full prompt above produced this draft-one line:
HOOK: Need a fresh brownie box delivered anywhere in Lahore tomorrow?
BODY: Our six-piece box is baked fresh every morning. Order by 6 p.m. Wednesday
and we will bring it to your door on Thursday.
ACTION: Message now to reserve yours.The audit finds three defects: “delivered anywhere” and “bring it to your door” contradict S1; “baked fresh every morning” has no source. There is also no delivery shot.
Here is the corrected sample output. Its 114 spoken words estimate to 45.6 seconds at 150 WPM; the timestamps allow brief visual pauses. The creator must still time an aloud read:
| Time | Voiceover | Visual cue | Source note |
|---|---|---|---|
| 0:00–0:05 | “Planning a brownie pickup for Thursday? Save the Wednesday deadline first.” | Phone clock moves toward 6:00 | S1 |
| 0:05–0:10 | “This sample pre-order box contains six chocolate brownies.” | Six-piece box top shot | S1 |
| 0:10–0:15 | “Orders close at 6:00 p.m. on Wednesday.” | Text card: Wed · 6:00 p.m. | S1 |
| 0:15–0:21 | “Pickup begins after 4:00 p.m. on Thursday in Johar Town, Lahore.” | Pickup label beside box | S1 |
| 0:21–0:28 | “This offer does not include delivery, so confirm that collection works before placing the order.” | “Pickup only” text card | S1 + [CREATIVE] connective |
| 0:28–0:39 | “To order, send the words ‘BROWNIE BOX’ in the bakery’s business WhatsApp chat before the deadline. The bakery replies with the current price and pickup instructions; check both before confirming.” | Demonstration chat with sample data | S1 |
| 0:39–0:49 | “For the quick recap: six brownies, message by Wednesday at six, and collect in Johar Town after four on Thursday. If those terms fit your plan, ask for the current order details.” | Three-item recap card, then message icon | S1 + [CREATIVE] recap |
// failure_cases
Failure Cases to Diagnose
6 cases to diagnose
The hook invents the payoff
“Double your orders” is a result claim unless an approved source proves it. Hook the situation or problem instead.
The spoken body repeats the caption
if both carry identical detail, keep the essential claim in voice and move supporting terms to readable on-screen text.
Source labels disappear after rewriting
restore one beside every factual line;
[CREATIVE]is not evidence.The timing math passes but the read fails
numbers, place names, and Roman-Urdu phrases may slow delivery. Use the phone-timed read, not the estimate.
A visual cue cannot be produced
replace unconsented customer footage with a product, process, or text-card shot.
The 20% cut removes the qualification
never delete “pickup only,” an eligibility condition, or a safety limitation just to save seconds.
// pakistan_angle
Pakistan Angle
For a Pakistani small business, the action may be “message on WhatsApp for the current menu.” Never expose a customer’s number, chat, address, CNIC, JazzCash receipt, or Easypaisa receipt. Mask notifications and use sample chat data.
Roman-Urdu scripts need an aloud test with the intended speaker or text-to-speech voice. Johar Town, Easypaisa, and Urdu-English compounds can change the pace, so avoid literal translation. During load-shedding or costly mobile-data periods, time text offline, use low-resolution proxy shots, and schedule final exports for a stable connection. Before paying for a USD ChatGPT plan in PKR, confirm current features and exchange costs; use the available free tier where its current limits permit.
// hands_on
Hands-On Exercise
6 steps
Create three timed scripts from one approved, low-risk brief.
Label the permitted facts S1, S2, and so on; remove private or confidential data.
List the available vertical shots before writing. Include at least one product/process shot and one readable text card.
Run the full pass-one prompt and keep all three hook options.
Choose one supported hook, run the factual audit, and apply the 20% cut pass.
Repeat with two different hook angles to produce three scripts, each with timestamp, visual cue, and source-note columns.
Read all three aloud twice. Record the real duration and select the strongest 45–60-second version for production.
// completion_rubric
Completion Rubric
5 checks — tick as you verify
// sources
Sources
3 official sources — check every claim yourself
// check_yourself
Check yourself
4 questions · answers and options are taken word-for-word from this course
1 / 4 · diagnose
Your work shows this failure mode: “Source labels disappear after rewriting.” What does the lesson tell you to do about it?