Product Demo Script Templates for Every Cut
Oct 26, 2026 • 9 minute read
WildanA product demo script is a two-column table: what's on screen in one column, what the voice-over says in the other, one row per beat. Below are four copyable templates, one for each cut (teaser, hook, pitch, demo), and a full worked example for a made-up product. Copy the one that matches your video, fill in the brackets and read it aloud with a timer.
This is part 4 of how to make a product demo video. If you haven't picked a viewer, a task and a cut yet, start with part 2.
How to use these templates
- Write the screen column first. For a demo, it's the task you'll record. If a row has no screen, it probably doesn't belong. (For a teaser or a pitch, where the story leads, writing the voice-over first can work better.)
- Write the voice-over for the result, not the click. "Your invoice is sent and the client gets a pay link" beats "Now I click Send".
- Read it aloud with a timer. If it runs over the length for your cut, cut lines. Don't talk faster.
- Leave some rows silent. A second of the product working, with only music, is often stronger than a sentence about it.
- Put on-screen text in the screen column, in quotes. Keep it to a few words; it has to be readable on a phone.
Times in the templates are a guide, not a rule. What matters is the order and the limit for each cut.
Product demo script template: demo (up to 60 s)
One task, start to finish, on your own recording. For onboarding, docs and sales follow-ups.
| Time | On screen | Voice-over |
|---|---|---|
| 0 to 5 s | The starting state of the task, already in the product. Text: "[Task] in [product]" | "Here's how to [task] in [product]." |
| 5 to 15 s | Step 1: the first action, zoomed in on the part that changes | "Start by [step 1], [why it matters in a few words]." |
| 15 to 30 s | Step 2, zoomed in | "[Product] [does the hard part] for you, so you don't have to [old way]." |
| 30 to 45 s | Step 3, the last action before the result | "Then [step 3]." |
| 45 to 55 s | The result on screen. Hold on it. | "That's it: [result in plain words]." |
| 55 to 60 s | Your logo or URL. Text: "[next step, e.g. Try it in your workspace]" | "[One call to action.]" |
Product demo video script template: pitch (up to 45 s)
Problem, your real screen, proof, the offer. For Product Hunt, your homepage and a YC application.
| Time | On screen | Voice-over |
|---|---|---|
| 0 to 5 s | The problem, shown: the messy spreadsheet, the error, the old way | "[Who] spend [time or pain] on [problem]." |
| 5 to 10 s | Cut to your product, the starting state of the task | "[Product] [does the job] in [how long or how easily]." |
| 10 to 30 s | The task in two or three quick steps, ending on the result | "[Step], [step], and [result]." |
| 30 to 38 s | Proof: a real number, a real customer logo you have permission to use, a before and after | "[Proof you can back up.]" |
| 38 to 45 s | The offer and the URL. Text: "[offer]" | "[Offer, e.g. Free for your first project.] [URL or 'link below']." |
Proof has to be true. If you don't have a number or a customer yet, use the before and after on screen; it's proof the viewer can see.
Demo video script template: hook (up to 20 s)
One idea in the first second. For X, TikTok, Reels, Shorts and ads.
| Time | On screen | Voice-over |
|---|---|---|
| 0 to 1 s | The most surprising frame: the result, or the before and after. Text: "[the idea in a few words]" | "[The idea in one short sentence.]" |
| 1 to 12 s | The task, fast, from start to result | "[One line on how: you [do X], it [does Y].]" |
| 12 to 20 s | The result again, with your name and one call to action | "[Product]. [One call to action.]" |
No logo intro, no "Hey everyone". The first frame is the hook.
SaaS demo script template: teaser (up to 30 s)
Show a sliver, hold back the rest. For a waitlist page or X, the week before launch.
| Time | On screen | Voice-over |
|---|---|---|
| 0 to 8 s | The problem, shown. Text: "[the problem in a few words]" | "[The problem, felt: e.g. You've rewritten this report every Monday for a year.]" |
| 8 to 20 s | Glimpses of the product: a cropped corner, a result appearing, fast cuts. Not the whole interface. | "[A promise, not an explanation: e.g. That's about to stop.]" |
| 20 to 30 s | Your name and the date. Text: "[Launching date]" | "[Product]. [Date]. [Join the waitlist / follow for launch day.]" |
The teaser works by what it leaves out. If the viewer could use the product after watching it, it's a pitch.
Worked example: Shipnote (a made-up product)
To show how one task becomes four scripts, here's a full example. Shipnote is invented for this article. It isn't a real product, and any numbers below are placeholders you would replace with your own.
The plan: Shipnote turns merged pull requests into a customer-facing changelog. The viewer is a founder of a small SaaS who never gets round to writing release notes. The task: go from a week of merged PRs to a published changelog post.
Shipnote demo script (about 60 s)
| Time | On screen | Voice-over |
|---|---|---|
| 0 to 5 s | Shipnote, connected to a GitHub repo, showing "12 PRs merged this week". Text: "Release notes in Shipnote" | "Here's how to turn this week's merged PRs into release notes." |
| 5 to 15 s | Click "Draft changelog". The list of PRs collapses into three grouped headings: New, Improved, Fixed. | "Shipnote reads every merged pull request and groups the ones your customers will notice." |
| 15 to 30 s | Zoom on one entry: a PR title "fix: race in webhook retry" becomes "Webhooks no longer fire twice when a delivery retries." | "It rewrites developer titles into sentences a customer understands. Internal refactors stay out." |
| 30 to 45 s | Edit one line by hand, drag an item from Improved to New | "You edit anything, the same way you'd edit a doc." |
| 45 to 55 s | Click Publish. The public changelog page shows the new post. Hold. | "Publish, and it's live on your changelog page." |
| 55 to 60 s | Shipnote logo. Text: "Connect your repo" | "Connect your repo and draft this week's notes." |
Shipnote pitch script (about 45 s)
| Time | On screen | Voice-over |
|---|---|---|
| 0 to 5 s | An empty changelog page, last updated months ago | "You ship every week. Your changelog says you haven't shipped since spring." |
| 5 to 10 s | Shipnote with "12 PRs merged this week" | "Shipnote writes your release notes from the pull requests you already merged." |
| 10 to 30 s | Draft changelog, the grouped headings appear, one PR title becomes a plain sentence, Publish | "One click to draft, a minute to check, and it's published." |
| 30 to 38 s | Side by side: the empty page and the filled one | "Your customers see what you ship." |
| 38 to 45 s | Text: "Free for one repo. shipnote.example" | "Free for your first repo. Link below." |
Note what's missing from the proof row: no invented customer count, no "saves 5 hours a week". With no real data yet, the before and after on screen is the proof.
Shipnote hook script (about 15 s)
| Time | On screen | Voice-over |
|---|---|---|
| 0 to 1 s | A PR title "fix: race in webhook retry" turning into "Webhooks no longer fire twice." Text: "PRs in, release notes out" | "Your pull requests, rewritten as release notes." |
| 1 to 10 s | Draft, grouped headings, Publish, fast | "Connect GitHub, click draft, publish." |
| 10 to 15 s | The published changelog. Text: "Shipnote" | "Shipnote. Link in bio." |
Shipnote teaser script (about 25 s)
| Time | On screen | Voice-over |
|---|---|---|
| 0 to 8 s | A calendar reminder: "Write release notes", snoozed again | "You've snoozed this reminder every Friday for a year." |
| 8 to 18 s | Tight crops: a PR title dissolving into a sentence, a "Published" badge. No full UI. | "Next week, your changelog writes itself." |
| 18 to 25 s | Text: "Shipnote. Launching Tuesday." | "Shipnote. Tuesday. Join the waitlist." |
Check your script before you record
- Every row has something on screen that the viewer can see.
- The voice-over never describes a click the viewer can already see.
- The result is on screen before the halfway mark.
- Every claim is something you can show or back up.
- There's one call to action, at the end.
- Read aloud, it fits inside the length for your cut. If not, see how long a demo video should be and cut.
When the script is done, record the task following the screen column, slowly and in one clean take.
Frequently asked questions
What should a product demo script include?
A product demo script includes two columns, what's on screen and what the voice-over says, with one row per beat and a time for each row. It covers one task from its starting state to the result, keeps on-screen text to a few words, and ends with one call to action.
Should a demo video script describe every click?
No. A demo video script should describe the result, not the click: "Your invoice is sent and the client gets a pay link" beats "Now I click Send". If the voice-over describes what the viewer can already see, the video has to slow down to match it.
How long should a SaaS demo script be?
A SaaS demo script should fit the length of its cut when read aloud with a timer: up to 60 seconds for a demo, 45 for a pitch, 30 for a teaser and 20 for a hook. If the script runs over, cut lines instead of talking faster.
What is the difference between a demo script and a pitch script?
A demo script shows one task start to finish, for onboarding, docs and sales follow-ups. A pitch script persuades in four parts (the problem, your real screen, proof and the offer) for Product Hunt, your homepage or a YC application.
What proof can a pitch script use if I have no customers yet?
A before and after on screen. A pitch script with no real numbers or customers yet should show the old way next to the result instead of inventing a customer count or a time saved.
How many calls to action should a product demo video have?
One. A product demo video should end with a single call to action, such as connecting a repo or joining a waitlist.
Can Demo Editor write the script for a demo video?
Yes. Demo Editor's Director writes the storyboard and voice-over from your screen recording and landing page, and you can correct it before a frame is made.
If you'd rather not write the voice-over yourself, Demo Editor's Director writes the storyboard and voice-over from your recording and landing page, and you correct it before a frame is made.