Record a scrolling video of any web page
Product screenshots are static, and a full screen-recording session is manual. A scrolling capture — the page moving smoothly top to bottom — is what actually sells a landing page in a changelog, a README or an ad.
The one-call version
curl -X POST https://api.screenmint.dev/v1/video \
-H "X-API-Key: sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"seconds": 8,
"scroll": true,
"format": "mp4",
"width": 1280,
"height": 720
}'You get back an mp4 (or gif, or webm) of the page scrolling for eight seconds. scroll: true drives the scroll on every animation frame with an ease-in-out curve, so the motion is continuous rather than ten visible jumps per second.
Doing it yourself
It is entirely doable: Playwright records a page with recordVideo, and ffmpeg converts the result. Two details decide whether the output looks professional or amateur.
Frame rate
# The step almost every DIY version misses.
# Playwright's recorder is a screencast: it emits a frame when the page changes,
# so the raw .webm is VARIABLE frame rate. Re-encode without resampling and that
# jitter lands in your mp4 — playback looks stuttery even though no frames are
# missing.
ffmpeg -i raw.webm -vf fps=30 -c:v libx264 -preset veryfast -crf 20 \
-pix_fmt yuv420p -movflags +faststart out.mp4This is the single most common reason a home-rolled page recording looks wrong. Forcing a constant rate resamples the timeline so every frame is evenly spaced.
GIF palettes
If you export a GIF, generate a palette from the clip itself with ffmpeg’s palettegen and paletteuse filters. The default 256-colour palette bands badly on screenshots of real pages — gradients and anti-aliased text are exactly what it handles worst.
And then the rest
A browser pool so you are not launching Chromium per request, a queue for when they arrive faster than you can render, cookie banners, lazy-loaded images that need scrolling before they exist, and somewhere to put the output. That is the part that turns an afternoon into a fortnight.
Which to choose
If you need one video occasionally, record it by hand — no API required. If you need them generated per page, per customer or per deploy, the infrastructure is the actual work, and it is worth not owning.