ScreenFramed is a design-first screenshot API and CLI. Give it a URL, then choose how the final image should look: device frame, background, aspect ratio, camera angle, element crop, text overlay, output format, and delivery mode.

The important difference is that ScreenFramed does not stop at a raw browser capture. It returns an image that is already useful in a docs page, changelog, help center, app store listing, directory card, launch page, or social post.

ScreenFramed gallery rendered as a polished product screenshot

What you can build

Production screenshots

Capture complete pages with controlled viewport, wait behavior, blocked clutter, repeatable dimensions, and CDN delivery.

Learn More
Element captures

Capture one part of a page by CSS selector or by describing the element in plain English.

Learn More
Styled product visuals

Use camera presets, device frames, hosted backgrounds, shadows, borders, text, AI styling, and exact output sizing.

Learn More
Automated image pipelines

Re-render documentation screenshots, OG images, store screenshots, and listing thumbnails from scripts or CI.

Learn More

How ScreenFramed fits

flowchart LR
A[Live URL] --> B[Capture]
B --> C[Style]
C --> D[Store]
D --> E[CDN URL]
C --> F[PNG / WebP / JPG]

You can use ScreenFramed from:

  • The visual playground for one-off images and request prototyping.
  • The CLI for local workflows, docs refreshes, watch mode, and batch jobs.
  • The REST API for product integrations and automated generation.
  • The HolyDocs <Screenshot> component when you want live URL captures directly inside MDX.

These docs focus on request shapes, workflows, outputs, and operational behavior. Internal rendering details can change as long as the public API contract stays stable.

Core concepts

ConceptWhat it controls
urlThe page ScreenFramed captures. Required for every capture request.
viewport / capture_dprHow the browser sees the page before composition.
deviceOptional frame and viewport preset, such as browser-macos, iphone-16-pro, ipad-pro-m4, or macbook-pro-16.
background_*Named gradients, solid colors, CSS gradients, hosted image backgrounds, custom images, none, or transparent output.
aspect_ratio / frame_ratioThe final canvas shape and the shape of the screenshot inside it.
selector / elementCapture a specific element instead of a full page.
camera_presetA complete visual setup for hero, dashboard, flat, cinematic, or detail shots.
outputFinal format, width, height, quality, and DPR.
asyncQueue longer renders and poll a job instead of waiting on the request.

Pick a path

Quickstart

Make your first styled screenshot in a few minutes.

Learn More
Capture Basics

Learn the request model and the defaults that matter.

Learn More
API Reference

Explore endpoints, schemas, examples, and error handling.

Learn More