# x402atlas Visuals QR Code Generator

> x402atlas Visuals QR Code Generator is a paid API for AI agents from visuals.use.x402atlas.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-17).

Encodes text, URLs, payment URIs, or arbitrary UTF-8 data into a QR code returned as a base64-encoded SVG or PNG inside a JSON envelope.

## Facts

- Endpoint: POST https://visuals.use.x402atlas.com/qr?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-17
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402atlas-visuals-qr-code-generator-fd8fc37b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_1kW0KqNZk9pq3b2ekUz3y

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 x402atlas-visuals-qr-code-generator-fd8fc37b -d '<json body>'
```

Example prompt: Can you generate a QR code for https://myshop.example.com/checkout and give it back as a base64 PNG so I can embed it in my invoice?

## When to prefer this

Choose this endpoint when you need a programmatic, pay-per-call QR code generator that handles URLs, payment URIs, and arbitrary UTF-8 text with no signup or API key — especially in agentic workflows where you pay per use via x402 USDC microtransactions and need clean base64 output for direct embedding.

## Known failure modes

- Input data too long for QR encoding capacity — returns error indicating data overflow
- Unsupported output format requested — returns validation error
- Empty or missing input data — returns 400-level error
- Malformed UTF-8 input — encoding error returned
- Payment failure (x402) if USDC balance insufficient — request blocked before processing

## How this service works

QR code generator — encode text, URLs, payment URIs, or arbitrary UTF-8 data as base64-encoded SVG or PNG in a JSON envelope.

## Output

A JSON envelope containing the QR code image encoded as a base64 string in either SVG or PNG format, ready to be decoded and embedded in web pages, print materials, or applications.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "data": {
   "type": "string",
   "minLength": 1,
   "description": "Non-empty UTF-8 payload, at most 2048 encoded bytes and subject to QR capacity."
  },
  "size": {
   "type": "integer",
   "default": 512,
   "maximum": 2048,
   "minimum": 128,
   "description": "Exact width and height of the square output canvas in pixels; must preserve at least one pixel per QR module."
  },
  "format": {
   "enum": [
    "svg",
    "png"
   ],
   "type": "string",
   "default": "svg",
   "description": "Artifact format encoded into content_base64."
  },
  "background": {
   "type": "string",
   "default": "#ffffff",
   "pattern": "^#[0-9a-fA-F]{6}$",
   "description": "Opaque #RRGGBB canvas and quiet-zone color; must contrast with foreground by at least 4.5:1."
  },
  "foreground": {
   "type": "string",
   "default": "#000000",
   "pattern": "^#[0-9a-fA-F]{6}$",
   "description": "Opaque #RRGGBB color for filled QR modules; must contrast with background by at least 4.5:1."
  },
  "margin_modules": {
   "type": "integer",
   "default": 4,
   "maximum": 16,
   "minimum": 0,
   "description": "Quiet-zone width around the QR matrix, measured in whole modules."
  },
  "error_correction": {
   "enum": [
    "L",
    "M",
    "Q",
    "H"
   ],
   "type": "string",
   "default": "M",
   "description": "QR recovery level: L has the most payload capacity; H has the most damage recovery but the least capacity."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "kind": "qr",
  "width": 128,
  "format": "svg",
  "height": 128,
  "sha256": "8f5d68b7ff88e5c10a827fa8568dacb01c32aab3d1b5af58b2124ccbed7fd484",
  "media_type": "image/svg+xml",
  "content_base64": "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiB2aWV3Qm94PSIwIDAgMTI4IDEyOCIgc2hhcGUtcmVuZGVyaW5nPSJjcmlzcEVkZ2VzIj4KPHJlY3Qgd2lkdGg9IjEyOCIgaGVpZ2h0PSIxMjgiIGZpbGw9IiNmZmZmZmYiLz4KPHBhdGggZmlsbD0iIzAwMDAwMCIgZD0iTTI2IDI2aDIxdjNoLTIxek01MCAyNmg5djNoLTl6TTY4IDI2aDN2M2gtM3pNNzQgMjZoM3YzaC0zek04MCAyNmgyMXYzaC0yMXpNMjYgMjloM3YzaC0zek00NCAyOWgzdjNoLTN6TTUzIDI5aDN2M2gtM3pNNjIgMjloOXYzaC05ek03NCAyOWgzdjNoLTN6TTgwIDI5aDN2M2gtM3pNOTggMjloM3YzaC0zek0yNiAzMmgzdjNoLTN6TTMyIDMyaDl2M2gtOXpNNDQgMzJoM3YzaC0zek01MCAzMmgzdjNoLTN6TTU5IDMyaDN2M2gtM3pNNjUgMzJoNnYzaC02ek03NCAzMmgzdjNoLTN6TTgwIDMyaDN2M2gtM3pNODYgMzJoOXYzaC05ek05OCAzMmgzdjNoLTN6TTI2IDM1aDN2M2gtM3pNMzIgMzVoOXYzaC05ek00NCAzNWgzdjNoLTN6TTUzIDM1aDN2M2gtM3pNNjUgMzVoNnYzaC02ek03NCAzNWgzdjNoLTN6TTgwIDM1aDN2M2gtM3pNODYgMzVoOXYzaC05ek05OCAzNWgzdjNoLTN6TTI2IDM4aDN2M2gtM3pNMzIgMzhoOXYzaC05ek00NCAzOGgzdjNoLTN6TTU2IDM4aDE1djNoLTE1ek04MCAzOGgzdjNoLTN6TTg2IDM4aDl2M2gtOXpNOTggMzhoM3YzaC0zek0yNiA0MWgzdjNoLTN6TTQ0IDQxaDN2M2gtM3pNNTAgNDFoNnYzaC02ek02MiA0MWg2djNoLTZ6TTc0IDQxaDN2M2gtM3pNODAgNDFoM3YzaC0zek05OCA0MWgzdjNoLTN6TTI2IDQ0aDIxdjNoLTIxek01MCA0NGgzdjNoLTN6TTU2IDQ0aDN2M2gtM3pNNjIgNDRoM3YzaC0zek02OCA0NGgzdjNoLTN6TTc0IDQ0aDN2M2gtM3pNODAgNDRoMjF2M2gtMjF6TTY4IDQ3aDN2M2gtM3pNMjYgNTBoM3YzaC0zek0zMiA1MGgzdjNoLTN6TTQ0IDUwaDZ2M2gtNnpNNjIgNTBoM3YzaC0zek03MSA1MGg2djNoLTZ6TTgzIDUwaDN2M2gtM3pNOTIgNTBoM3YzaC0zek05OCA1MGgzdjNoLTN6TTI2IDUzaDE4djNoLTE4ek00NyA1M2gzdjNoLTN6TTU2IDUzaDN2M2gtM3pNNjUgNTNoM3YzaC0zek03MSA1M2gxMnYzaC0xMnpNODkgNTNoM3YzaC0zek05NSA1M2g2djNoLTZ6TTM4IDU2aDl2M2gtOXpNNTAgNTZoM3YzaC0zek03MSA1Nmg2djNoLTZ6TTgwIDU2aDE1djNoLTE1ek05OCA1NmgzdjNoLTN6TTMyIDU5aDN2M2gtM3pNMzggNTloNnYzaC02ek00NyA1OWgxNXYzaC0xNXpNNjggNTloM3YzaC0zek03NCA1OWgzdjNoLTN6TTg2IDU5aDZ2M2gtNnpNMjkgNjJoM3YzaC0zek0zNSA2MmgzdjNoLTN6TTQ0IDYyaDN2M2gtM3pNNTAgNjJoM3YzaC0zek01NiA2MmgzdjNoLTN6TTYyIDYyaDN2M2gtM3pNNzQgNjJoOXYzaC05ek05OCA2MmgzdjNoLTN6TTMyIDY1aDN2M2gtM3pNMzggNjVoNnYzaC02ek00NyA2NWg2djNoLTZ6TTU2IDY1aDN2M2gtM3pNNjIgNjVoNnYzaC02ek03MSA2NWgxNXYzaC0xNXpNOTUgNjVoNnYzaC02ek0yNiA2OGg2djNoLTZ6TTM4IDY4aDN2M2gtM3pNNDQgNjhoNnYzaC02ek02MiA2OGg2djNoLTZ6TTcxIDY4aDEydjNoLTEyek04OSA2OGg2djNoLTZ6TTk4IDY4aDN2M2gtM3pNMzIgNzFoMTJ2M2gtMTJ6TTUwIDcxaDN2M2gtM3pNNTYgNzFoOXYzaC05ek02OCA3MWgzdjNoLTN6TTc0IDcxaDN2M2gtM3pNO
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402atlas-visuals-qr-code-generator-fd8fc37b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from visuals.use.x402atlas.com](https://www.zero.xyz/host/visuals.use.x402atlas.com/llms.txt)
