Record a Website Demo Video from a URL with AI
Valmera is an AI product demo video maker that records a website demo automatically from a URL. Paste a public web address and describe 4–10 steps; a headless browser clicks, types, scrolls and hovers through them with a visible cursor, and records the walkthrough with an event track of every click.
Then the agent turns the capture into a demo or promo in the same chat: zooms that travel between the buttons you clicked, a floating window frame, title cards, your voiceover and your music. You review the preview and export an MP4.
Turn a URL into a Product Demo
Paste a link, describe the clicks, review the edit. Creating an account and uploading are free. Editing requires a subscription.
Create an account →How to Make a Product Demo Video from a URL
- 1Paste a public URLAny page a visitor can open without signing in: your landing page, pricing page, docs or public product. Pick landscape, portrait or square.
- 2Describe 4–10 steps“Click Pricing, hover Features, type an email into the signup box, scroll to the FAQ.” Name buttons by their visible label, or give a CSS selector, and say where to hold longer.
- 3Let the browser record itA headless browser performs the steps with a visible cursor, typing at human speed and scrolling smoothly. You get a silent video and an event track of every click, keystroke and scroll; any step it couldn’t complete is reported.
- 4Turn it into a demoAsk for the treatment: zooms that travel between the clicked buttons, a floating window frame, title cards, your voiceover and music. The agent renders a preview and checks it before replying.
- 5Review and exportRevise by chat, then click Export in Studio for a full-resolution H.264 MP4. Over MCP, your assistant can call export_final.
Record a demo of https://example.com in landscape: click Pricing, hover the Features menu, scroll to the FAQ, then click Get started.Record example.com in portrait: type “running shoes” into the search box, press Enter, open the first product and scroll to the reviews.Place the capture with zooms on each click, put it in a rounded window on a dark gradient, and open with a title card that says “Meet the new dashboard.”Pan down our landing page for 12 seconds, then add my voiceover and keep the music low underneath it.Watch a Real Capture
Recorded September 9, 2026 from a four-step script on Valmera’s public docs: wait, click the Captions link in the sidebar, scroll, hold. The pointer glides to the link, the Captions page opens and scrolls. This is the raw capture before any editing: 1920×1080, 30 fps, 10.8 seconds, silent.
Open the watch page · See it edited into a finished demo · Download the capture · Requests and event data (JSON)
What You Can Script
Describe the walkthrough in chat and the agent writes the script; MCP clients pass the same step objects to record_website_demo. Add seconds to any step to hold longer after it. Keep it to 4–10 steps that tell one story: a demo that clicks everything shows nothing.
| Step | Example | What the browser does |
|---|---|---|
| click | {do: "click", text: "Pricing"} | Glides the pointer to the visible label (or a CSS selector), pauses a beat so viewers see the target, clicks and waits for the page to react. |
| type | {do: "type", selector: "input[type=email]", text: "you@example.com"} | Types into the field at human speed. Password and payment fields are refused. |
| scroll | {do: "scroll", to: "Features"} | Eases to a section, or by a set number of pixels (by: 800). |
| hover | {do: "hover", text: "Products"} | Opens menus and tooltips the way a visitor would. |
| press | {do: "press", key: "Enter"} | Presses a key to submit a search, close a dialog or tab to a field. |
| wait | {do: "wait", seconds: 1.5} | Lets an animation finish or gives viewers time to read. |
| goto | {do: "goto", url: "https://example.com/docs"} | Opens another page mid-demo. |
For a simple product-page pan, record_website opens the page, holds the top, smooth-scrolls to the bottom and holds: 4 to 30 seconds (12 by default), no clicks. It makes good b-roll for a promo.
The Event Track: Why the Zooms Land on the Button
Alongside the video, the recorder returns an event track: every click, scroll, keystroke run and page change, timed against the video, with clicks positioned as fractions of the frame. This is what the capture above returned:
| Event | Time in the capture | Position in the frame |
|---|---|---|
| Click on the sidebar Captions link | 3.57 s | x 0.06, y 0.20 (left edge, upper fifth) |
| Scroll down the Captions page | 5.72 s | Whole page |
showcase_demo reads that track to cut the capture like a product video. It pushes in a beat before each click, travels between clicks that come close together, and eases out after the last one; a page change starts a new move, so the new page is seen whole first. Zoom strength defaults to 0.4 because screen text needs a real push to read. Click sounds are opt-in: each click gets a click, each page change a soft pop and each scroll a swipe, timed to the track.
Finish the Demo
- Frame it: a floating window with rounded corners and a soft shadow on a solid or gradient background.
- Label it: title cards between scenes and on-screen text over the action (“Step 1: connect your store”).
- Narrate it: upload your voiceover and ask for the music to sit low underneath it.
- Score it: your own track, uploaded or linked, or a specific song you name.
- Pace it: trim the start or end of the capture, or play it faster (up to 4×).
- Go vertical: record the same steps in portrait for a 9:16 cut; the page reflows to a 1080×1920 window instead of shrinking into it.
The recorder draws its own crisp pointer, a white arrow with a dark outline, so a capture needs no cursor fix. For screen recordings you make yourself, the screen recording editor makes the cursor bigger and steadier with enhance_cursor.
Tip: Target the Visible Element
A click goes to the first element that matches its label or selector. On Valmera’s docs, the first link named Captions sits in a hidden mobile menu, so the first two attempts recorded the page and reported the click as skipped. Scoping the selector to the visible sidebar fixed it. If the recorder reports a skipped step, re-run it with a sharper selector.
| Attempt | Click target | Result |
|---|---|---|
| 1 | text: "Captions" | Recorded, but the click was reported as skipped. |
| 2 | a[href='/docs/captions'] | Recorded, but the click was reported as skipped. |
| 3 | .docs-sidebar a[href='/docs/captions'] | One click, one scroll, no skipped steps: the capture above. |
Download the first attempt to see a skipped click for yourself.
Exact successful capture request for an MCP client
Call record_website_demo in your own project. Replace project_id with the identifier returned by your project-creation or project-opening call.
{
"project_id": "YOUR_PROJECT_ID",
"url": "https://valmera.io/docs/getting-started",
"orientation": "landscape",
"steps": [
{
"do": "wait",
"seconds": 1.5
},
{
"do": "click",
"selector": ".docs-sidebar a[href='/docs/captions']",
"seconds": 2
},
{
"do": "scroll",
"by": 350,
"seconds": 2
},
{
"do": "wait",
"seconds": 1.5
}
]
}Limits
- Public pages only. The recorder doesn’t inherit your login and won’t type into password or payment fields. For a signed-in app, record your screen with demo data and upload it to the screen recording editor.
- Captures are silent. Sound comes from your voiceover, music and sound effects.
- The output is an MP4 video. There is no interactive HTML demo export.
- No direct publishing to YouTube, TikTok or LinkedIn. Download the MP4 and post it.
Part of a Product Demo Workflow
A website capture is often one scene in a longer launch video. See the SaaS demo guide for the full story arc, zoom effects for punch-ins on a talking head, and add a voiceover for narration and ducking.
Using Claude, ChatGPT or Cursor? The same record_website_demo, record_website and showcase_demo tools are available through Valmera’s MCP server.
Frequently Asked Questions
Made with Valmera: real exports
Record Your Website Demo
Paste a URL, describe the steps, review the edit, export an MP4. Creating an account and uploading are free. Editing requires a subscription.
Create an account →

