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

  1. 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.
  2. 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.
  3. 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 withClaude 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.
skillnpx skills add fortunto2/solo-factory/video-promo · source
costFree. No API, no key.
statusUnverified: written from the technique, not yet run end to end by us.
licenseCC BY 4.0 for the text here; skills are MIT.
updated2026-11-01
for agentspromo-script-30-45-seconds-template.md
#promo#script#template#timing#product-video#vertical

Related

Scripts & shot lists beginner

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.

Claude CodeClaudeChatGPT
Scripts & shot lists beginner

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.

Claude CodeClaudeChatGPT
Video generation intermediate

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.

Claude CodeClaudeChatGPT
Claude Code skills beginner

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

Claude Code
Scripts & shot lists beginner

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.

Claude CodeClaudeChatGPT
Scripts & shot lists beginner

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.

Claude CodeClaudeChatGPT