The 30-45 second promo script: hook, problem, demo, CTA with timings
A fill-in script template for a vertical product promo: four blocks with second counts and a 75-100 word narration budget, so the video ends before the viewer scrolls.
Write a 30-45 second promo script for {product} aimed at {audience}. The viewer should {goal: download / sign up / visit URL} after watching. Format: vertical 9:16, screen recording plus text overlays, no actor. Narration budget: 75-100 words total. Use exactly this structure with these timings: HOOK (0:00-0:03) Audio: one line, a question or a bold statement, max 12 words. Visual: text overlay on a blurred or gradient background. PROBLEM (0:03-0:10) Audio: the pain in the user's own words, max 20 words. Visual: the frustrating current state (the manual process, the mess before). DEMO (0:10-0:25) Audio: narrate what the product does, max 45 words. Visual, three shots of 5 s each: Shot 1 {feature 1}, Shot 2 {feature 2}, Shot 3 the wow moment, {the differentiator}. CTA (0:25-0:30) Audio: one call to action, max 12 words, name the place to go. Visual: logo, URL, download badge. After the script, count the words of each Audio line and the total, and flag any block over budget.
In Claude Code, paste the prompt as a message, or run /video-promo which does this end to end.
Steps
- Fill product, audience, goal and the three features before you paste. If you cannot name three features, you have two and the script gets shorter, not vaguer.
- Read the Audio lines aloud with a stopwatch. 75-100 words lands in 30-40 seconds at a normal pace; at 120 words, cut the problem block first.
- Record the three demo shots as separate files named by block (demo-1.mp4, demo-2.mp4, demo-wow.mp4), then assemble.
Example
HOOK (0:00-0:03) Audio: “Your phone is full of video nobody will ever watch.” Visual: camera roll scrolling fast, blurred, white text over it.
PROBLEM (0:03-0:10) Audio: “Editing takes an evening. So the clips sit there. For years.” Visual: a timeline with 200 clips, the cursor hovering, nothing happening.
DEMO (0:10-0:25) Audio: “Drop in a folder. It scores every frame, finds where the scenes change, and cuts a film to the length you ask for. On your Mac. Nothing uploaded.” Shot 1: import, a progress bar. Shot 2: the scene list appears. Shot 3: the montage plays.
CTA (0:25-0:30) Audio: “Life2Film Studio. Free beta at life2film.com.” Visual: logo, URL.
Total: 71 words.
Tips
- In Claude Code, `/video-promo` reads the project's PRD and README, picks the three features, writes this script and a storyboard to docs/video-promo.md.
- The DEMO block is half the video. If the wow moment is not obvious on a muted phone screen, it is not the wow moment.
| works with | Claude Code: Runs as a skill or a prompt in the terminal; can read your files and write the result. · Claude: Paste into claude.ai or the Claude app. · ChatGPT: Paste into ChatGPT; works with any GPT model. · Any LLM: Model-agnostic: Gemini, Mistral, a local model. |
| skill | npx skills add fortunto2/solo-factory/video-promo · source |
| cost | Free. No API, no key. |
| status | Unverified: written from the technique, not yet run end to end by us. |
| license | CC BY 4.0 for the text here; skills are MIT. |
| updated | 2026-11-01 |
| for agents | promo-script-30-45-seconds-template.md |
Related
Shot list generator: a table with shot, duration, visual, audio and overlay
An agent prompt that turns any script into a numbered shot table a camera operator or a video model can follow: one visual, one audio line and one text overlay per row, durations that add up.
Forced reasoning before scripting: goal, hook type, demo moments, emotion arc
Four questions an agent must answer in writing before it writes a line of script. Skips the generic promo every model produces when asked for one directly.
Ask an agent to turn a script into a numbered generation shot list
A prompt for Claude or ChatGPT that converts a 30-second script into 6-8 shot prompts in the 7-part structure, ready to paste into a video model one by one.
Write a 30-45 s promo video script and storyboard from a product (/video-promo)
Use when "create video", "promo video", "video script", "storyboard", "demo video", "product video plan", or need video marketing material. Do NOT use for social media text posts (/content-g
Turn a blog post into three short scripts: one claim per video
A prompt that reads a post and returns three 30-45 second scripts, each built on a different claim from the text, with the hook, the proof, the ask and the source sentence for each.
Cut any script to 55 words: the 20-second rewrite prompt
A rewrite prompt that compresses a script to 55 words (about 20 seconds at 165 wpm) without losing the number, the name or the ask, and reports what it removed so you can argue.