record_video
Record a professional demo video of a multi-step browser automation sequence. Produces MP4/WebM/GIF with cursor highlighting, click effects, smooth movement, step notes, browser frame (macOS/Windows), gradient/glass backgrounds, and more.
Instructions
Record a professional demo video of a multi-step browser automation sequence. Produces MP4/WebM/GIF with cursor highlighting, click effects, smooth movement, step notes, browser frame (macOS/Windows), gradient/glass backgrounds, and more. Costs 3 API requests. Saves to disk. BEST PRACTICE: Keep videos concise (5-15 action steps). Do NOT add wait steps between every action — the pace parameter handles timing. Only use wait for page loads or narration holds. Do NOT use zoom unless the user explicitly asks for it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pace | No | Controls how deliberate the video feels. Number (0.25–6.0, higher = slower) or preset: "fast" (0.5×), "normal" (1×), "slow" (2×), "dramatic" (3×), "cinematic" (4.5×). Default: "normal". | |
| zoom | No | Global zoom settings. Only use when the user explicitly requests zoom. Do NOT enable by default. | |
| async | No | Render via an async job for reliability. The video is enqueued (202 + job_id) and this tool polls until it finishes, so long recordings do not hit the API's per-request timeout. The finished video is delivered as a private hosted URL (its bytes cannot be pulled back via the API key). Set false to force a single blocking synchronous request that returns the video INLINE (base64 embedded + saved to saveTo). DEFAULT: true, except when you pass saveTo (then sync is used so the file is actually produced on disk). If async is unavailable on your plan, it automatically falls back to sync. Quota is charged only on success; max 5 pending jobs per account. | |
| frame | No | Browser chrome frame around the video. Adds a macOS/Windows-style title bar. | |
| steps | Yes | Array of action steps to record. Keep concise: 5-15 steps is ideal. Do NOT pad with wait steps — pace handles timing. | |
| cursor | No | Cursor appearance settings | |
| format | No | Video format (default: mp4). webm/gif require Starter+ plan. | |
| saveTo | No | Output file path (default: ./recording.mp4) | |
| cookies | No | Cookies to set before the first navigation — "name=value" strings or full cookie objects (domain, path, secure, httpOnly, sameSite, expires). Up to 100. Domain defaults to the first navigate step's host. | |
| autoZoom | No | Enable auto-zoom on all clicks (default: false). Only use when user explicitly requests zoom. | |
| blockAds | No | Block advertisements on the page | |
| darkMode | No | Emulate dark color scheme (default: false) | |
| viewport | No | Browser viewport size | |
| authState | No | Authenticated recording/capture: cookies + localStorage injected BEFORE the first navigation, so protected pages (dashboards, admin panels) render logged-in. Prefer this over scripting a login flow. Values are never logged. | |
| framerate | No | Frames per second: 24, 30, or 60 (default: 30) | |
| variables | No | Key-value map for variable substitution in step URLs/values. E.g. { "base_url": "https://example.com" } replaces {{base_url}} in steps. | |
| audioGuide | No | Audio Guide TTS settings. Two modes: (1) Per-step — add "narration" to individual steps. (2) Script — provide "script" with {{N}} markers for continuous narration synchronized to steps. | |
| background | No | Styled background behind the video. Adds gradient/solid background with padding and rounded corners — creates a "floating window" effect. | |
| blockChats | No | Block live chat widgets | |
| clickEffect | No | Visual click effect settings | |
| blockBanners | No | Hide cookie consent banners (default: true for videos) | |
| blockTrackers | No | Block tracking scripts | |
| pollTimeoutMs | No | Max time to wait for an async video job to finish, in milliseconds (default: 240000 = 4 min). If the job is still running when this elapses, the job_id is returned so you can check it later with get_job. | |
| deviceScaleFactor | No | Device pixel ratio (default: 1) |