Capture the initial frame
screenshots.full() uses the raw binary HTTP route through the borrowed pooled client. It
still returns a semantic Screenshot. The SDK validates the body, format, dimensions, size,
digest, timestamp, coordinate space, cursor state, timing, and capture backend.
Use full_bytes() when a low-level caller only needs encoded bytes. JSON and base64 routes remain
available for REST and compatibility clients.
Choose screenshot storage
Setstorage when you call screenshots.full().
Artifact and automatic storage use the structured JSON response. Read saved images through the
artifact namespace.
Use the step frame after actions
Select a screenshot source
MSS is the production default.
X11-SHM requires a managed Image containing the native extension and worker. It applies to eligible
cursor-hidden, full-resolution PNG requests at scale 1. Other formats and cursor-visible requests
use the compatibility path.
An X-server reply timeout fails closed. Every screenshot source depends on that display, so a
fallback cannot prove safe capture while the display is unresponsive. A display restart clears
generation-bound clients before the daemon proves readiness again.
The fixed promotion campaign rejected X11-SHM as the default. Keep it as an explicit opt-in until
a new campaign passes every latency and reliability gate.

