render_bundle
Render + read/extract bundle of one public web page, self-rendered by our own headless Chromium: body {url, op?: bundle|full-page|read, width?, height?, format?: markdown|text, max_chars?} -> PNG inline (base64 in JSON, image legs) plus extracted text/markdown from the SAME render session, with render metadata and extraction counts. Bundle leg $0.02, full-page leg $0.05, read leg (extraction only) $0.01 — leg selected by body field op; the 402 challenge carries the selected leg's price. Full SSRF fence, refusals free before payment. Free pre-check at POST /toll/render/preflight (shape + full fence incl. resolve-then-pin, no render). $0.02 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/render.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| op | No | Leg: bundle (default, viewport PNG + extraction, $0.02), full-page (full-page PNG + extraction, $0.05, height capped at 8,000 px), or read (extraction only, $0.01). | |
| url | Yes | The bare public URL to render. No credentials in the URL; caller cookies/headers are never accepted. | |
| width | No | Viewport width in CSS pixels, 1..1920, default 1280. | |
| format | No | Extraction format: markdown (default) or text. | |
| height | No | Viewport height in CSS pixels, 1..1080, default 800. Bundle and read legs only; rejected with the full-page leg. | |
| max_chars | No | Caller ceiling on returned extraction characters, 1000..262144; truncation is disclosed with untruncated totals. |