take_screenshot
Capture screenshots of URLs, HTML, or Markdown content with device emulation, ad blocking, and customizable styling options for visual content creation.
Instructions
Capture a screenshot of a URL, HTML, or Markdown content. Supports device emulation, ad/chat/tracker blocking, metadata extraction, geolocation, timezone, styling (macOS/Windows frames, gradient/glass backgrounds, shadows), and more. Returns an image (PNG, JPEG, or WebP).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL to capture (required if no html/markdown) | |
| html | No | Raw HTML to render (required if no url/markdown) | |
| markdown | No | Render Markdown content as a screenshot | |
| width | No | Viewport width in pixels (default: 1280) | |
| height | No | Viewport height in pixels (default: 720) | |
| viewportDevice | No | Device preset for viewport emulation (e.g. "iphone_14_pro", "macbook_pro_14"). Use list_devices to see all presets. | |
| viewportMobile | No | Enable mobile meta viewport emulation | |
| viewportHasTouch | No | Enable touch event emulation | |
| viewportLandscape | No | Landscape orientation | |
| deviceScaleFactor | No | Device pixel ratio, use 2 for retina (default: 1) | |
| format | No | Image format (default: png) | |
| quality | No | JPEG/WebP quality 1-100 (default: 80) | |
| omitBackground | No | Transparent background (PNG/WebP only) | |
| fullPage | No | Capture the full scrollable page (default: false) | |
| fullPageScroll | No | Auto-scroll page before capture to trigger lazy-loaded images | |
| fullPageScrollDelay | No | Delay between scroll steps in ms (default: 400) | |
| fullPageScrollBy | No | Pixels to scroll per step (default: viewport height) | |
| fullPageMaxHeight | No | Maximum pixel height cap for full-page captures | |
| selector | No | CSS selector to capture a specific element | |
| clip | No | Crop region { x, y, width, height } in pixels | |
| delay | No | Milliseconds to wait before capture (default: 0) | |
| waitUntil | No | When to consider navigation finished (default: networkidle2) | |
| waitForSelector | No | Wait for this CSS selector to appear before capturing | |
| navigationTimeout | No | Navigation timeout in ms (default: 25000) | |
| darkMode | No | Emulate dark color scheme (default: false) | |
| reducedMotion | No | Emulate prefers-reduced-motion to disable animations | |
| mediaType | No | Emulate CSS media type | |
| timeZone | No | Override browser timezone (e.g. "America/New_York") | |
| geolocation | No | Emulate geolocation { latitude, longitude, accuracy? } | |
| userAgent | No | Override the browser User-Agent string | |
| cookies | No | Cookies to set — array of "name=value" strings or { name, value, domain? } objects | |
| headers | No | Extra HTTP headers to send with the request | |
| authorization | No | Authorization header value (e.g. "Bearer <token>") | |
| bypassCSP | No | Bypass Content-Security-Policy on the page | |
| hideSelectors | No | Array of CSS selectors to hide before capture | |
| click | No | CSS selector to click before capturing the screenshot | |
| injectCss | No | Custom CSS to inject before capturing (max 50KB) | |
| injectJs | No | Custom JavaScript to execute before capturing (max 50KB) | |
| blockBanners | No | Hide cookie consent banners (default: false) | |
| blockAds | No | Block advertisements on the page | |
| blockChats | No | Block live chat widgets on the page | |
| blockTrackers | No | Block tracking scripts on the page | |
| blockRequests | No | URL patterns to block (array of strings) | |
| blockResources | No | Resource types to block (e.g. ["image", "font"]) | |
| extractMetadata | No | Extract page metadata (title, description, OG tags) alongside the screenshot | |
| style | No | Screenshot styling options — add a macOS/Windows frame, gradient/glass background, shadow, and rounded corners. Use the "theme" shortcut for one-click presets, or customize individual properties. | |
| session_id | No | Persistent session ID (Starter+ only). Reuse a live browser page created with create_session — browser state (cookies, localStorage, auth) carries over from previous requests in this session. |