Product demo scripts for 15, 30 and 60 seconds
Plan on about two words a second: 30 to 34 words for 15 seconds, 60 to 68 for 30 seconds and 120 to 135 for 60 seconds. Below are complete scripts at each length, with timings, on-screen text and word counts you can adapt.
All three scripts below describe the same invented product, Acme Invoices, which chases late invoices for freelancers. Using one product shows what you keep and what you cut as the time shrinks. Word counts cover the spoken lines only.
How many words fit in each length
Figures for speaking pace vary. Plus AI's guide to speaking rates gives 120 to 150 words a minute for conversational speech, without naming a study, so treat that as a rule of thumb. The top of that range is 2.5 words a second. A demo needs room for the screen to change and the viewer to look at it, so plan for less.
| Length | Spoken words to aim for | Beats | Screens |
|---|---|---|---|
| 15 seconds | 30 to 34 | 3 | 1 or 2 |
| 30 seconds | 60 to 68 | 5 | 3 to 5 |
| 60 seconds | 120 to 135 | 7 | 5 to 8 |
Those word limits work out at about 2 to 2.3 words a second. A beat is one idea with one thing happening on screen. Every script here stays inside its limit, and you should still time yours, because a line full of product names and numbers takes longer to say than its word count suggests.
15-second script
31 spoken words. One problem, one proof, one next step. There's no room for a second feature.
| Time | On screen | Spoken line | On-screen text |
|---|---|---|---|
| 0 to 3 s | Inbox with a half-written email | Chasing late invoices eats your Friday. | Still chasing? |
| 3 to 11 s | Overdue list, then a reminder sending itself | Acme Invoices spots what's overdue and sends a polite reminder for you, in your own words. | Reminders that send themselves |
| 11 to 15 s | Invoice flips to paid, then the logo | Get paid without the awkward email. Start at acme.example. | acme.example |
This length suits a feed or a looping hero. Assume no sound, and check the third column alone tells the story.
30-second script
65 spoken words. One workflow from start to finish. This is the length to write first, because it forces the decision about what the product is for.
| Time | On screen | Spoken line | On-screen text |
|---|---|---|---|
| 0 to 7 s | Overdue list with the total highlighted | Every late invoice costs you the same thing: an awkward email you keep putting off. | $4,200 overdue |
| 7 to 14 s | Bank and invoice tool connecting, then the list fills | Acme Invoices connects to your bank and your invoices, and shows what's overdue in one list. | Everything overdue, one list |
| 14 to 23 s | Click a client, reminder draft appears, tone picker | Choose a client, pick a tone, and Acme writes the reminder. You approve it once, and it follows up on its own. | Approve once |
| 23 to 26 s | Status changes to paid, reminders switch off | When the money lands, the reminders stop. | Paid. Reminders off. |
| 26 to 30 s | Logo and address | Stop chasing. Start at acme.example. | acme.example |
The amount in the first row is a made-up figure on a made-up screen. In your own script, use a number your demo data really shows.
60-second script
131 spoken words. The extra time pays for the stakes at the start and the detail that builds trust in the middle. It doesn't pay for more features.
| Time | On screen | Spoken line | On-screen text |
|---|---|---|---|
| 0 to 8 s | Calendar at month end, then three unpaid invoices | It's the end of the month. The work is done, the invoices are out, and three clients still haven't paid. | Three invoices. Still unpaid. |
| 8 to 14 s | Blank email, cursor blinking | So you open your inbox and try to write something polite, for the fourth time. | Hi, just checking in... |
| 14 to 24 s | Accounts connecting, overdue list sorted | Acme Invoices connects to your bank and your invoicing tool, then shows every overdue invoice in one list, oldest first. | Oldest first |
| 24 to 35 s | Click a client, draft fills in | Click a client and Acme drafts a reminder in your tone, with the amount, the due date and a payment link already filled in. | Written in your tone |
| 35 to 46 s | Schedule screen, dates appear in turn | Approve it once and set the schedule. Acme follows up on day three, day seven and day fourteen, and you can change any of them. | Day 3, 7, 14 |
| 46 to 54 s | Payment arrives, matched to invoice, reminders off | When the payment lands, Acme matches it to the invoice and stops the reminders by itself. | Matched. Reminders off. |
| 54 to 60 s | Logo and address | Spend Friday on the work, not the chasing. Start at acme.example. | acme.example |
Fill-in templates
Copy these and replace the brackets. Fill them in in full before you shorten anything.
15 seconds: [Pain in six words]. [Product] [does the main job] for you, [in the way that makes it different]. [Result in six words]. Start at [address].
30 seconds: Add a line for how it starts and how it finishes: [Pain and what it costs]. [Product] connects to [what they already use] and shows [the useful view]. [Three short steps]. When [good thing happens], [the work stops]. [Next step].
60 seconds: Add the scene and the trust detail: [Moment the pain is felt]. [What they do today and why it's bad]. [Setup]. [Step one, with the specifics]. [Step two, with the control they keep]. [The finish]. [What they get back, then the next step].
Turn the script into a storyboard
A script says what's heard. A storyboard adds what's seen and when. Keep one row for each beat, with these fields:
| Field | What to write | Example, 30-second beat 3 |
|---|---|---|
| Scene | Number and purpose | 3: Proof |
| Screen | The exact capture | Client page with reminder draft open |
| Focus | The one area the eye should go to | Tone picker |
| Action | The one thing that changes | Cursor picks "friendly", the draft rewrites |
| Line | The spoken words | Choose a client, pick a tone... |
| On-screen text | Six words or fewer | Approve once |
Write the scenes before you capture, because the Screen column is your capture list. If two beats need the same screen, say so now and take a second state of it, such as a menu open.
In Programmable, you can review the storyboard before anything is built: the scenes and what each one says. Choosing 15, 30 or 60 seconds there matches these scripts. You can paste your script into the brief, then correct the plan, which is cheaper than correcting a film. If you want narration, the voiceover is generated from the scene captions, so write the captions as speech. Exports and formats explains the MP4 option. The next step is to build the demo from your screens.
Rewrite the lines that don't work
| Weak line | Why it fails | Better |
|---|---|---|
| Our powerful AI-driven platform streamlines collections. | Says nothing a viewer can picture | Acme writes the reminder. |
| Here you can see the dashboard. | Describes what they can already see | Everything overdue, in one list. |
| Click settings, then reminders, then schedule. | Teaches the menu, not the value | Set the schedule once. |
| We help businesses of all sizes. | Speaks to nobody | For freelancers who hate chasing. |
| Reminders, matching, reports, templates, teams. | A feature list has no story | Keep one. Show it working. |
Check it before you build it
- Read it aloud with a timer. If you run over, cut words. Don't plan to speak faster.
- Read only the on-screen text. The film should still make sense with the sound off.
- Cover the spoken line and look at the Screen column. Each row should show what the line claims.
- Say any number or address out loud. "acme.example" is fine on screen and clumsy when read by a voice. Put it on screen as well.
- Show it to one person who doesn't know the product. Ask them what it does and who it's for. If they can't say, fix the script before you touch the visuals.
Captions and silent viewing
Plan the on-screen text as its own short layer, and don't simply subtitle every word in a 15-second film, because it fills the frame. Full captions matter when there's narration: WCAG 2.2's criterion for prerecorded captions is Level A. Where voice is the main track, burn in or attach captions that match it exactly.
When a short script is the wrong format
These scripts sell an idea. They don't teach. If viewers need to follow along and complete a task, write steps in a help article or record a tutorial, and pause where they need to act. Programmable stops at 60 seconds, so that job belongs to a screen recorder. A live sales demo needs a talk track built around questions, not a fixed script. And if your buyer already understands the category, skip the problem and show the difference straight away, using the 15-second structure.
Common questions
Should a product demo script start with the problem or the product?
Start with the problem if the viewer may not feel it yet. Start with the result if they already know the category, for example when they arrive from a comparison search. In either case, get to the product within the first third.
Do I need a voiceover at all?
No. A film with strong on-screen text can work with no voice, and that's often right for a site hero. Add voice when the story needs explaining, as a 60-second film usually does.
Who should write the script: marketing or product?
Whoever writes it, have someone from each read it. Marketing tends to overclaim and product tends to over-explain. The test in this guide, a person who doesn't know the product, settles most arguments.
Can AI write my demo script?
It can write a useful first draft from your screens or a brief, and Programmable proposes one in its storyboard. Check every claim against the product, and read it aloud. Drafts tend to be too long and too general.