Product

Video Generation API

Record a screencast of any web page loading and deliver it as a WebM, MP4, or GIF — all from a single API call. Control quality, speed, and duration. Works with automation steps, geo routing, and cloud storage integrations.

3
Output formats
80+
Countries
1 flag
To enable video

API request

POST /screenshots
Authorization: X-API-KEY <key>

{
  "url": "https://example.com",
  "video": true,
  "video_format": "mp4",
  "video_duration": 10,
  "video_quality": 20,
  "video_speed": 1,
  "country": "us"
}

Returns a signed video URL · Deliver directly to S3, Drive, or Dropbox

How it works

Submit a job, receive a video

The ScreenshotCenter API is queue-based and async. POST your URL with video=true, receive a job ID in return, and poll or use a webhook to collect the finished video file.

Recording runs inside a real Chromium browser. Every job benefits from automatic retries, stall detection, and timeout protection — no browser infra to manage.

  1. 1

    Submit the job

    POST /v1/screenshot with your URL and video parameters. Receive a job ID immediately.

  2. 2

    Browser records the page

    A real Chromium instance loads the page, executes JavaScript, runs any automation steps, and captures the screen.

  3. 3

    Retrieve the video

    Poll /v1/screenshot/:id or receive a webhook. Download the video from the signed storage URL, or have it delivered to your cloud storage automatically.

Output formats

Three formats, one parameter

WebMDefault

Efficient open format. Smallest file size for web embeds, Slack posts, and inline previews.

MP4

Maximum compatibility. Works in every browser, media player, and video platform out of the box.

GIF

Lightweight, universally supported. Ideal for documentation, README files, and email embeds.

Example output

See what the API produces

Each video is recorded by a real Chrome browser. Sample videos will be added here soon.

Page-load screencast

Default settings — WebM, 15 s, quality 30, speed 1×

video=true & video_format=webm
Automation steps: scroll and click interaction sequence

Interactive sequence

Automation steps: login to a website · quality 15 · speed 0.5×

video=true & steps=[…] & video_speed=0.5

Capabilities

Everything you need from a video API

One consistent parameter set controls the full recording pipeline — from browser launch to file delivery. No ffmpeg configuration, no browser fleet to manage.

🎬

Page-load screencast

Record a real Chrome browser loading any URL from start to finish. JavaScript, animations, lazy-loaded images, and dynamic content are all captured exactly as a visitor would see them.

🎞️

WebM, MP4, and GIF output

Choose the format that fits your pipeline. WebM for web embeds, MP4 for broad compatibility, or GIF for lightweight previews and inline documentation.

⚙️

Quality & speed control

Dial in CRF-style quality (0–63, lower is sharper) and playback speed (0.1× to 5×). Slow down complex interactions for review or speed up long page loads for concise demos.

⏱️

Duration control

Set recording duration up to 30 seconds. Pass 0 to let the recording run until the page is fully loaded, or fix a precise duration for consistent output size.

🤖

Automation steps

Click, scroll, type, wait, and navigate before or during the recording. Capture interactive sequences — form submissions, menu expansions, carousel transitions — not just static loads.

🌍

Country & region routing

Route the capture job to a browser in a specific country. Geo-gated pages, localised content, and region-specific UI states are recorded faithfully from the target location.

🔐

Authenticated page recording

Inject session cookies or run login automation steps before recording starts. Capture dashboards, SaaS portals, and paywalled content that require a valid session.

☁️

Direct cloud delivery

Push each video directly to Amazon S3, Google Drive, Dropbox, OneDrive, or FTP. No intermediate download step — the file lands in your storage as soon as rendering completes.

API Example

Record any page in your language of choice

SDKs are available for JavaScript, Python, PHP, Go, Ruby, Java, and C#. Every SDK handles job submission, polling, and video retrieval.

curl -X POST https://api.screenshotcenter.com/v1/screenshot \
  -H "X-API-KEY: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "video": true,
    "video_format": "mp4",
    "video_duration": 10,
    "video_quality": 20,
    "country": "us"
  }'

API parameters

Video-specific parameters

These parameters extend the standard screenshot request. All other parameters — url, country, steps, cookies, etc. — work as normal.

ParameterTypeDefaultDescription
videobooleanfalseSet to true to request a screencast video alongside the screenshot.
video_formatstringwebmOutput container format: webm, mp4, or gif.
video_qualityinteger30CRF-style quality from 0 (best, largest) to 63 (lowest, smallest). Lower values produce sharper video.
video_speednumber1Playback speed multiplier from 0.1× to 5×. Values above 1 fast-forward the recording.
video_durationinteger15Recording duration in seconds (0–30). Pass 0 to record until the page is fully loaded.

Full parameter reference in the API docs.

Use cases

What teams build with the Video API

From automated release demos to compliance evidence — the Video API fits any workflow that needs a reliable, browser-accurate recording of a web page.

📽️

Product demos & feature previews

Record a polished screencast of a new feature loading — automatically, on every deploy. Embed the video in release notes, Slack channels, or marketing pages without manual screen recording.

  • Auto-generated release videos
  • Changelog screencast attachments
  • Embedded feature previews
🔍

Visual regression evidence

Capture before-and-after videos of a page across code changes. Side-by-side video comparison makes it easy to spot animation regressions, flicker, and layout shifts that static diffs miss.

  • Pre/post-deploy recordings
  • Animation regression detection
  • Layout shift evidence
📡

Monitoring & alerting

Record a short screencast whenever a monitoring check fails. Attach the video to the alert for instant visual context — no need to manually reproduce the failing state.

  • Incident video attachments
  • Uptime check recordings
  • Automated alert evidence
🌐

Geo & competitor analysis

Capture how pages load and animate across multiple countries. Compare loading sequences, skeleton screens, and interactive states without running browser infra yourself.

  • Multi-country load comparisons
  • Competitor UX benchmarking
  • Localisation review recordings
⚖️

Compliance archival

Record live page states as video evidence for regulatory or legal purposes. The timestamped video proves exactly what a visitor would have experienced at a specific point in time.

  • Terms-of-service page archives
  • Ad landing page evidence
  • Regulatory filing records
📚

Automated tutorial assets

Generate short, up-to-date GIF or video walkthroughs for documentation by recording the real product UI on demand — always reflecting the current version of the page.

  • Auto-updated docs GIFs
  • Onboarding walkthrough videos
  • Help centre screencasts

Integrations

Send videos to your existing stack

Every video job can automatically deliver output to cloud storage, post to Slack, trigger Zapier zaps, or call your webhook — no manual file handling required.

See all integrations →

Pricing

Start free, scale on demand

Free plan includes 500 captures per month with full feature access including video output. Paid plans unlock higher volume, priority queues, and SLA-backed support.

Trial

500 screenshots/month

Free / month

  • Block ads and cookie banners
  • PNG, JPEG and WebP
  • Full page screenshots
  • 2 countries: USA, Germany
Try free

Starter

2,000 screenshots/month

$15 / month

  • Block ads and cookie banners
  • Render PDFs, HTML
  • PNG, JPEG and WebP
  • Full page screenshots
Start now

Most Popular

Plus

5,000 screenshots/month

$35 / month

  • Block ads and cookie banners
  • Render PDFs, HTML
  • PNG, JPEG and WebP
  • Full page screenshots
Start now

Compare all plans including Enterprise and On-Premise →

FAQ

Frequently asked questions

How do I request a video instead of a screenshot?

Add video=true to any screenshot request. The response will include a video artifact URL alongside the standard screenshot fields.

Which video formats are supported?

webm (default), mp4, and gif. Set the format with the video_format parameter.

How long can a recording be?

Up to 30 seconds. Set video_duration to the desired length in seconds. Pass 0 to let the recording run until the page is fully loaded with no fixed minimum.

How does quality control work?

The video_quality parameter uses a CRF-style scale from 0 (highest quality, largest file) to 63 (lowest quality, smallest file). The default is 30.

Can I change the playback speed?

video_speed accepts a multiplier from 0.1× to 5×. Use values above 1 to compress long page loads into a short clip, or below 1 to slow down fast interactions.

Can I record pages behind a login?

Yes. Inject session cookies via the cookies parameter, or define automation steps (click, type, navigate) to run a full login flow before recording begins.

Can I record a specific interaction, not just the page load?

Yes. Use automation steps — click, scroll, type, wait — to drive the browser through any interaction sequence. The recording captures everything from the first step to the last.

How is the video delivered?

The API returns a signed URL where the video file is hosted. You can also configure an app integration (S3, Google Drive, Dropbox, etc.) to receive the file directly without polling.

Start recording pages today

Create a free account and record your first page in minutes. 500 captures per month, no credit card required, full API access from day one.