Get the FREE Ultimate OpenClaw Setup Guide →
U

Snaprender

Verified

@User0856

npx machina-cli add skill @User0856/snaprender --openclaw
Files (1)
SKILL.md
4.0 KB

SnapRender — Give Your Agent Eyes

Your agent can read the web but can't see it. One command and it captures pixel-perfect screenshots — any site, any device, in seconds.

"Screenshot stripe.com on iPhone", "Compare desktop vs mobile", "Full-page dark mode capture" — just ask.

Free tier: 50 screenshots/month, no credit card. Get a key →


IMPORTANT: Use the exec tool with curl. NEVER use the browser tool for screenshots.

How to Capture

Run this command via the exec tool. Replace ENCODED_URL with the URL-encoded target (e.g. https%3A%2F%2Fstripe.com):

curl -s "https://app.snap-render.com/v1/screenshot?url=ENCODED_URL&response_type=json&format=jpeg&quality=60&block_ads=true&block_cookie_banners=true" \
  -H "X-API-Key: $SNAPRENDER_API_KEY" \
  | tee /tmp/snap_response.json \
  | jq -r '.image' | sed 's|data:image/[^;]*;base64,||' | base64 -d > /tmp/screenshot.jpg \
  && jq '{url, format, size, cache, responseTime, remainingCredits}' /tmp/snap_response.json

This saves the screenshot to /tmp/screenshot.jpg and prints metadata.

Rules

  1. Use exec tool only — NEVER the browser tool
  2. $SNAPRENDER_API_KEY is already set — use it literally in the command, do NOT replace it
  3. URL-encode the targethttps://stripe.comhttps%3A%2F%2Fstripe.com
  4. Always use format=jpeg&quality=60 — keeps response small enough for the agent context
  5. Always pipe to save the image to a file — the base64 response is too large to display inline
  6. Report metadata to the user — file size, response time, cache status, remaining credits

Parameters

Add as query parameters to the URL:

ParameterValuesDefault
urlURL-encoded targetrequired
response_typejsonjson (always use this)
formatjpeg, png, webpjpeg
quality1-10060
deviceiphone_15_pro, pixel_7, ipad_pro, macbook_prodesktop
dark_modetrue, falsefalse
full_pagetrue, falsefalse
block_adstrue, falsetrue
block_cookie_bannerstrue, falsetrue
width320-38401280
height200-10000800
delay0-100000 (ms wait after page load)

Examples

Desktop screenshot of stripe.com:

curl -s "https://app.snap-render.com/v1/screenshot?url=https%3A%2F%2Fstripe.com&response_type=json&format=jpeg&quality=60&block_ads=true&block_cookie_banners=true" -H "X-API-Key: $SNAPRENDER_API_KEY" | tee /tmp/snap_response.json | jq -r '.image' | sed 's|data:image/[^;]*;base64,||' | base64 -d > /tmp/screenshot.jpg && jq '{url, format, size, cache, responseTime, remainingCredits}' /tmp/snap_response.json

Mobile screenshot: add &device=iphone_15_pro to the URL

Full scrollable page: add &full_page=true to the URL

Dark mode: add &dark_mode=true to the URL

Compare desktop vs mobile: make two calls, save to /tmp/screenshot_desktop.jpg and /tmp/screenshot_mobile.jpg

After Capturing

  1. Tell the user the screenshot was saved to /tmp/screenshot.jpg (or the filename you used)
  2. Report metadata: file size, response time, cache status, remaining credits
  3. For comparisons, save each screenshot to a different filename

Errors

  • 401: Invalid API key — check SNAPRENDER_API_KEY
  • 429: Rate limit or quota exceeded — wait or upgrade plan
  • Timeout: Target site is slow — add &delay=3000 to wait longer
  • Empty response: URL unreachable or blocked

Get an API Key

Free at https://app.snap-render.com/auth/signup — 50 screenshots/month, no credit card.

Source

git clone https://clawhub.ai/User0856/snaprenderView on GitHub

Overview

SnapRender lets your agent capture pixel-perfect screenshots of any web page in seconds. It supports device emulation (iPhone, iPad, Pixel, MacBook), dark mode, full-page scrolling, and ad blocking, all via a curl-based endpoint with a pre-set SNAPRENDER_API_KEY.

How This Skill Works

Invoke the curl endpoint https://app.snap-render.com/v1/screenshot with an URL-encoded target and params (format=jpeg, quality=60, device, dark_mode, full_page, etc.). The API returns JSON containing the image data and metadata; you decode the base64 image to a file and output the metadata, saving the image to a local path (e.g., /tmp/screenshot.jpg). The API key is pre-set as SNAPRENDER_API_KEY.

When to Use It

  • QA and design reviews by rendering pages on real devices (iPhone, iPad, Pixel, MacBook).
  • Compare desktop vs mobile layouts by capturing two screenshots.
  • Create full-page, dark-mode captures for long articles or landing pages.
  • Capture clean screenshots with built-in ad and cookie banner blocking.
  • Generate lightweight previews without relying on a browser tool.

Quick Start

  1. Step 1: Run the curl command with an encoded URL to request a screenshot.
  2. Step 2: Pipe the output to save the image to a file (e.g., /tmp/screenshot.jpg).
  3. Step 3: Use jq to display metadata like url, format, size, cache, responseTime, and remainingCredits.

Best Practices

  • Use the exec tool exclusively for captures.
  • Keep using the literal SNAPRENDER_API_KEY and don't embed it elsewhere.
  • URL-encode the target URL before sending.
  • Always set format=jpeg and quality=60 to minimize payload.
  • Always pipe output to a file and report metadata (size, responseTime, cache, remainingCredits).

Example Use Cases

  • Desktop screenshot of stripe.com
  • Mobile screenshot using device=iphone_15_pro
  • Full-page scrollable capture
  • Dark-mode capture
  • Desktop vs mobile comparison

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers