# Halowerk Screenshot — Headless Chrome URL Renderer

> Halowerk Screenshot — Headless Chrome URL Renderer is a paid API for AI agents from tools.halowerk.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-09-15).

Renders a URL in Headless Chrome and returns a PNG screenshot as Base64 plus a short-lived pickup URL, with configurable viewport, full-page capture, and wait conditions.

## Facts

- Endpoint: POST https://tools.halowerk.com/v1/screenshot
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-screenshot-headless-chrome-url-renderer-6ca70d20
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_u4gsseIBSsVDNbW0ScY4E

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability halowerk-screenshot-headless-chrome-url-renderer-6ca70d20 -d '<json body>'
```

Example prompt: Can you take a full-page screenshot of https://example.com at a 1280x800 viewport and give me the PNG as a Base64 string?

## When to prefer this

Choose this endpoint when you need a real Headless Chrome rendering of a URL — including JavaScript-executed content — rather than a static HTML fetch. It is ideal when you need the output as a Base64 PNG for embedding, or a short-lived download link for handoff. Useful for visual QA, archiving, thumbnail generation, and any workflow where the visual state of a rendered page matters. Prefer it over raw HTML scraping when layout and rendering fidelity are important.

## Known failure modes

- URL is unreachable or returns an HTTP error — screenshot cannot be rendered
- Page load times out before the specified wait condition is met
- Invalid URL format provided — request rejected
- Pickup URL expires before the client retrieves it — file no longer available
- JavaScript-heavy pages may not render correctly if wait condition is insufficient

## How this service works

Rendert eine URL in Headless Chrome und liefert PNG als Base64 plus kurzlebige Abhol-URL. Viewport, Vollseite und Wartebedingung steuerbar.

## Output

Returns a JSON object containing the captured webpage as a Base64-encoded PNG image and a short-lived URL from which the rendered screenshot can be retrieved. The caller can control viewport width and height, whether to capture the full scrollable page or just the visible viewport, and optionally specify a wait condition (e.g. network idle or selector present) before the screenshot is taken.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "Ziel-URL, http oder https"
  },
  "width": {
   "type": "integer",
   "default": 1280,
   "maximum": 2560,
   "minimum": 320
  },
  "height": {
   "type": "integer",
   "default": 800,
   "maximum": 2000,
   "minimum": 320
  },
  "wait_ms": {
   "type": "integer",
   "default": 0,
   "maximum": 10000
  },
  "full_page": {
   "type": "boolean",
   "default": false
  },
  "wait_until": {
   "enum": [
    "domcontentloaded",
    "load",
    "networkidle0",
    "networkidle2"
   ],
   "type": "string",
   "default": "domcontentloaded"
  },
  "include_base64": {
   "type": "boolean",
   "default": true
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-screenshot-headless-chrome-url-renderer-6ca70d20/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tools.halowerk.com](https://www.zero.xyz/host/tools.halowerk.com/llms.txt)
