Customizing the video
Every Slideshot run produces a polished demo.mp4. You can shape it for a launch tweet, a docs embed, a changelog clip, or an internal walkthrough by setting options.video, options.artifacts, and options.intro when creating the run.
Placeholder video using an existing Slideshot demo asset while we add product-specific examples.
This page is a map of the controls. Each sub-page goes deeper with the exact option shape, defaults, and trade-offs.
What you can customize
- Intro templates: prepend a branded title card to the start of the demo. Choose a text-only template, a logo template, or a layered template that fades over the first frame of the workflow.
- Background: frame the recorded content on a solid color or gradient canvas, with rounded corners and centered content.
- Video and content size: pick the output dimensions (
1920x1080by default, anything from320x180up to2560x1440) and how the recorded UI sits inside the canvas. - Blur emails: mask email addresses and other sensitive identifiers during recording so they never appear in
raw.mp4ordemo.mp4. - Show shortcuts: overlay mac-style key chips for completed keyboard actions so power-user flows are readable.
You can also opt into artifacts.gif: true to get a demo.gif rendered from the final demo.mp4.
How to choose the right settings
The right combination depends on where the video will be published.
- Launch videos: strong branded intro, brand-aligned background, GIF output for social platforms that prefer it.
- Docs and help-center videos: quiet neutral background, no intro card or a minimal one, full landscape output. Skip the GIF unless your docs platform needs it.
- Changelog videos: short intro card with the feature name, modest background, larger cursor for visibility.
- Social clips: square or vertical output size, branded background, GIF output, and shortcut overlays if the flow is keyboard-heavy.
- Recordings against real data: enable blur emails. Pair with a dedicated demo account whenever possible.
Where the options live
All visual options sit inside options on POST /v1/agent/runs. A run that uses every customization looks like this:
{
"target_url": "https://app.example.com",
"goal": "Create a project and open the analytics dashboard.",
"options": {
"auth": { "source": "default" },
"video": {
"blur_emails": true,
"shortcuts": true,
"cursor": "default",
"size": { "width": 1920, "height": 1080, "content": { "scale": 0.92 } },
"background": { "type": "gradient", "from": "#0B1220", "to": "#101A33", "direction": "diagonal" }
},
"artifacts": { "gif": true },
"intro": {
"template": "simple-line-by-line-slide",
"content": { "text": "Analytics, now in 60 seconds" },
"style": { "background": { "type": "gradient", "from": "#0B1220", "to": "#101A33", "direction": "diagonal" }, "textColor": "#FFFFFF" }
}
}
}
Each sub-object is independent: pass only the groups you need (auth, video, artifacts, intro) and omit the rest.