Sanity’s documented workflow does not capture a static screenshot file. It embeds your running website in Studio through the Presentation Tool, where editors can preview draft content and, with Visual Editing overlays, click rendered content to open its source field. If you need a PNG, JPEG, WebP, or PDF artifact, capture the frontend separately after deciding which preview state you want.
Sanity describes Visual Editing this way: “Visual Editing lets content creators see their changes live and edit content directly from the webpage.” (Sanity Visual Editing documentation.) The sections below show the documented live-preview setup, explain why it is not a screenshot API, and then give a reliable way to generate an actual image.
First decide which result you need
| Goal | Sanity feature or method | Result |
|---|---|---|
| Inspect unpublished content in context | Presentation Tool | An interactive frontend inside Sanity Studio |
| Jump from rendered content to its document field | Visual Editing overlays | Click-to-edit navigation using draft content and source metadata |
| Save a PNG, JPEG, WebP, or PDF | A browser or screenshot service pointed at the frontend URL | A static file outside the documented Presentation Tool workflow |
The official pages reviewed for this workflow explain previewing and click-to-edit, not taking or storing a screenshot image. Do not treat a Studio preview as proof that a static capture was created.
Requirements for Sanity’s live preview
- A Sanity Studio project and a frontend that is running locally or deployed.
- A frontend origin allowed by the project’s CORS settings.
- Sanity version 3.85.0 or later for the Presentation Tool configuration described in the guide; verify the current package requirement before upgrading because it can change.
- Draft-mode routing in the frontend. The Presentation Tool can be given an enable route and, optionally, a disable route.
- For click-to-edit overlays: a stega-enabled client, draft perspective, Presentation Tool configuration, and an
enableVisualEditing()call after the preview content has rendered.
Sanity provides framework-specific paths for Next.js App Router and Pages Router, React Router, Astro, SvelteKit, Nuxt, and others. The exact route handlers and client code depend on your framework, so the following is a configuration map rather than a framework-neutral copy-and-paste application.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
Configure the Presentation Tool
- Confirm the frontend URL. Use the local or deployed origin that Studio should load, including the path used for preview if your app requires one.
- Allow that origin in Sanity. In the project’s CORS settings, add the exact frontend origin. The Presentation Tool guide documents
allowOriginswith Sanity v3.85.0 and later. - Add Presentation Tool configuration. In
sanity.config.ts, configure apreviewUrl. Supply the draft-mode enable route and, if your application has one, a disable route. - Run both applications. Start Studio and the frontend, or deploy the frontend where Studio can reach it. An iframe cannot load an application that is stopped, firewalled, or serving an origin that CORS does not allow.
- Open the Presentation Tool. The frontend should appear inside Studio. Check that the URL includes the preview state your application expects before diagnosing overlays.
The complete option names and route examples are maintained in Sanity’s Presentation Tool configuration guide. Use the guide for your framework’s current implementation instead of copying a route designed for another router.
Enable draft content and click-to-edit overlays
Use the draft perspective
Your preview query must read the relevant draft perspective; otherwise the iframe can show published data even though Studio is in a preview context. Draft mode is also what lets the frontend render the editor’s unpublished changes.
Enable stega on the client
Configure the Sanity client used by the preview so rendered values contain source metadata. Stega and Content Source Maps connect a value on the page to its originating document and field. Follow the current client setup at Sanity’s stega documentation.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
Initialize visual editing at the right time
When the application enters draft mode, call enableVisualEditing() after the preview content has rendered. Calling it too early can leave overlays absent even when the rest of the setup is correct.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Handle values that cannot carry stega
Text can normally carry stega metadata, but images, numbers, booleans, and similar values may need explicit data-sanity attributes. Add those attributes to the rendered element so the overlay can identify the document and field.
Clean encoded values before using them as data
Stega-encoded strings are intended for display and overlay navigation. Clean them before using them in URLs, comparisons, keys, or other non-display logic. The overlay and edit-intent details are covered in Sanity’s overlays guide and Studio edit-intent links documentation.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
What you can and cannot call a “screenshot”
The Presentation Tool gives editors a live, interactive rendering. It can reflect drafts and provide click-to-edit navigation, but the cited Sanity documentation does not define a button or API that exports that iframe to an image file. If your requirement is a social-card asset, visual regression fixture, email attachment, or PDF, use a capture process against the frontend URL itself.
| Requirement | Recommended target |
|---|---|
| See and edit a draft in context | Presentation Tool with Visual Editing |
| Capture exactly what a public visitor sees | Your published frontend URL, without draft mode |
| Capture unpublished content | A protected preview URL with draft mode and the required authentication or headers |
| Produce a repeatable image or PDF | A browser automation script or screenshot API with explicit viewport, wait, and output settings |
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server. One GET request returns a PNG, JPEG, WebP, or PDF. It is useful when you need a static capture of a Sanity-powered page rather than an interactive Studio preview: before capture it accepts the cookie or consent banner and removes more than 60 known consent platforms, newsletter popups, and chat widgets; bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing result. Its MCP server exposes take_screenshot, get_page_info, and capture_pdf to Claude, Cursor, and other MCP clients.
All plans include the same features, including full-page capture with lazy images loaded, CSS-selector element capture, dark mode, 12 device presets plus custom viewports, retina scale, PDF paper size/margins/landscape/page ranges, HTML/CSS-to-image, custom JavaScript and CSS, pre-capture clicks, hidden selectors, waits for a selector, delay, or network idle, request/resource blocking, custom headers/cookies/user agent/Authorization, timezone and geolocation, transparent backgrounds, resizing, chosen-TTL caching, signed image links, asynchronous jobs with signed webhooks, bulk capture of up to 100 URLs per call, a usage API, an OpenAPI specification, and compatibility with parameter names used by other screenshot APIs.
| Plan | Allowance | Price |
|---|---|---|
| Free | 1,000 shots/month | No card required |
| Starter | 3,000 shots | $5 |
| Growth | 15,000 shots | $15 |
| Pro | 60,000 shots | $39 |
| Scale | 250,000 shots | $99 |
| Business | 1,000,000 shots | $249 |
Yearly billing provides two months free. For a Sanity preview that requires authentication, pass the appropriate custom headers or cookies; do not expose draft credentials in a public URL. See the ScreenshotNeo documentation for the current parameter reference.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
cURL
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
Replace the example URL with your deployed Sanity frontend or a secured preview endpoint, and add the documented wait, viewport, format, or authentication parameters required by that page.
Start with ScreenshotNeo’s free sign-up: 1,000 screenshots a month are included with no card, and paid plans start at $5 for 3,000.
Troubleshooting the Sanity preview
The iframe is blank or refuses to load
- Confirm the frontend process is running or deployed and reachable from the browser.
- Check that the exact scheme, host, and port are in Sanity CORS settings.
- Inspect browser developer tools for frame-ancestors, mixed-content, authentication, or network errors.
The page loads, but it shows published content
Verify that the preview route actually enables draft mode and that your query uses the draft perspective. A Presentation Tool URL alone does not convert a published query into a draft query.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
The page is visible, but overlays do not appear
- Ensure the preview client has stega enabled.
- Check that the query is using the draft perspective.
- Call
enableVisualEditing()only after content is rendered. - For images, numbers, and booleans, add the required
data-sanityattribute.
Links or comparisons behave strangely
Remove stega metadata before using encoded values as URLs, comparison operands, keys, or other non-display values.
A static capture is missing content
Capture the frontend rather than the Studio iframe, wait for the page’s data and lazy images to load, and use a stable preview URL. If the page is protected, supply authentication through a secure header or cookie mechanism rather than embedding secrets in the URL.
Choose the right implementation path
- Editorial review: configure Presentation Tool and Visual Editing; this keeps the editor in Studio and supports click-to-edit.
- Image or PDF delivery: capture the frontend separately with a browser process or ScreenshotNeo.
- Automated previews: use a stable route, explicit waits, fixed viewport settings, and a capture service or script so output is reproducible.
- Framework-specific integration: start with Sanity’s Visual Editing introduction and then follow the quickstart for your router and rendering model.
Frequently Asked Questions
Does Sanity Studio store the Presentation Tool preview as an image?
No. The documented feature is an iframe-based, interactive preview; image or PDF export requires a separate capture process.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchCan I use a local frontend with the Presentation Tool?
Yes, provided Studio can reach the running frontend and the local origin is permitted by the project’s CORS configuration.
Which Sanity version does the documented Presentation Tool setup require?
The cited configuration guide lists Sanity v3.85.0 or later, but you should verify the requirement against the version of your project.
Why would an image need a data-sanity attribute?
Values such as images, numbers, and booleans cannot always carry stega metadata in ordinary rendered text, so an explicit attribute gives overlays their source reference.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Recommended Free Tools

