# NoJunk QR

> NoJunk QR is a paid API for AI agents from nojunk-qr.mick8511.workers.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-11-03).

Generates standards-compliant QR codes from text, URLs, Wi-Fi strings, or payment URIs, returning SVG, PNG, or JSON module matrix output.

## Facts

- Endpoint: POST https://nojunk-qr.mick8511.workers.dev/qr?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-03
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/nojunk-qr-fd128b26
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Ms5o47lUfunzhNk7cj1eN

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 nojunk-qr-fd128b26 -d '<json body>'
```

Example prompt: Generate a QR code for https://myshop.example.com as a crisp SVG with H error correction and a dark color of #1A237E — I want to print it on packaging.

## When to prefer this

Choose this endpoint when you need a fully self-contained, pay-per-call QR code generator with no upstream dependencies, supporting the full ISO/IEC 18004 standard (versions 1-40, all ECC levels), flexible output formats (SVG, PNG, JSON), custom colors, and batch generation up to 25 codes — especially when you want crisp SVG output for print or need a JSON matrix for custom rendering.

## Known failure modes

- Text exceeds 1500 characters — request rejected
- Invalid hex color format for dark/light parameters
- Size parameter outside 128-2048 range — validation error
- Margin outside 0-8 range — validation error
- Invalid ECC value (must be L, M, Q, or H)
- Batch exceeds 25 codes — request rejected
- Empty or missing text field — encoding fails
- Unsupported format value — defaults or errors depending on implementation

## How this service works

QR Code Generator qr: Encode one text as a QR Code (ISO/IEC 18004, versions 1-40, ECC L/M/Q/H) and return it as SVG, PNG or a JSON matrix.

## Output

Returns either a raw SVG document, PNG image bytes, or a JSON object containing the QR version, ECC level, module count, module matrix array, and an embedded SVG — depending on the requested format. Only charged when a valid QR code is successfully produced.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "ecc": {
   "type": "string",
   "description": "Optional: error correction level L (7%), M (15%, default), Q (25%) or H (30%); higher levels survive more damage but hold less text"
  },
  "dark": {
   "type": "string",
   "description": "Optional: hex color of the dark modules (default #000000)"
  },
  "size": {
   "type": "integer",
   "description": "Optional: output width/height in pixels, 128-2048 (default 512); SVG scales freely, PNG uses whole pixels per module centred in the image"
  },
  "text": {
   "type": "string",
   "description": "The content to encode (1-1500 characters, UTF-8): URL, plain text, WIFI:..., mailto:, tel:, vCard, payment URI..."
  },
  "light": {
   "type": "string",
   "description": "Optional: hex color of the background (default #FFFFFF)"
  },
  "format": {
   "type": "string",
   "description": "Optional: \"svg\" (default; body is the SVG document), \"png\" (body is PNG bytes) or \"json\" ({version, ecc, modules, matrix, svg})"
  },
  "margin": {
   "type": "integer",
   "description": "Optional: quiet zone in modules, 0-8 (default 4; the standard recommends 4)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ecc": "M",
  "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\" height=\"256\" viewBox=\"0 0 37 37\" shape-rendering=\"crispEdges\" role=\"img\"><rect width=\"37\" height=\"37\" fill=\"#FFFFFF\"/><path d=\"M4 4h7v1h-7zM13 4h1v1h-1zM15 4h1v1h-1zM18 4h1v1h-1zM21 4h3v1h-3zM26 4h7v1h-7zM4 5h1v1h-1zM10 5h1v1h-1zM16 5h1v1h-1zM20 5h1v1h-1zM22 5h1v1h-1zM24 5h1v1h-1zM26 5h1v1h-1zM32 5h1v1h-1zM4 6h1v1h-1zM6 6h3v1h-3zM10 6h1v1h-1zM13 6h3v1h-3zM18 6h2v1h-2zM21 6h1v1h-1zM23 6h1v1h-1zM26 6h1v1h-1zM28 6h3v1h-3zM32 6h1v1h-1zM4 7h1v1h-1zM6 7h3v1h-3zM10 7h1v1h-1zM14 7h4v1h-4zM22 7h2v1h-2zM26 7h1v1h-1zM28 7h3v1h-3zM32 7h1v1h-1zM4 8h1v1h-1zM6 8h3v1h-3zM10 8h1v1h-1zM13 8h1v1h-1zM16 8h1v1h-1zM21 8h2v1h-2zM26 8h1v1h-1zM28 8h3v1h-3zM32 8h1v1h-1zM4 9h1v1h-1zM10 9h1v1h-1zM12 9h1v1h-1zM16 9h1v1h-1zM19 9h1v1h-1zM22 9h3v1h-3zM26 9h1v1h-1zM32 9h1v1h-1zM4 10h7v1h-7zM12 10h1v1h-1zM14 10h1v1h-1zM16 10h1v1h-1zM18 10h1v1h-1zM20 10h1v1h-1zM22 10h1v1h-1zM24 10h1v1h-1zM26 10h7v1h-7zM14 11h4v1h-4zM19 11h1v1h-1zM21 11h4v1h-4zM4 12h1v1h-1zM7 12h1v1h-1zM9 12h2v1h-2zM12 12h1v1h-1zM14 12h1v1h-1zM16 12h1v1h-1zM18 12h1v1h-1zM22 12h2v1h-2zM25 12h1v1h-1zM27 12h1v1h-1zM4 13h1v1h-1zM6 13h3v1h-3zM11 13h1v1h-1zM15 13h1v1h-1zM17 13h1v1h-1zM20 13h1v1h-1zM25 13h2v1h-2zM29 13h1v1h-1zM32 13h1v1h-1zM6 14h1v1h-1zM9 14h3v1h-3zM17 14h2v1h-2zM21 14h1v1h-1zM23 14h1v1h-1zM25 14h7v1h-7zM4 15h3v1h-3zM9 15h1v1h-1zM11 15h2v1h-2zM14 15h2v1h-2zM17 15h1v1h-1zM20 15h1v1h-1zM22 15h1v1h-1zM25 15h3v1h-3zM30 15h2v1h-2zM4 16h3v1h-3zM10 16h1v1h-1zM13 16h3v1h-3zM18 16h10v1h-10zM29 16h1v1h-1zM31 16h2v1h-2zM4 17h1v1h-1zM7 17h2v1h-2zM11 17h1v1h-1zM14 17h1v1h-1zM16 17h3v1h-3zM22 17h4v1h-4zM5 18h2v1h-2zM9 18h2v1h-2zM15 18h1v1h-1zM17 18h2v1h-2zM27 18h1v1h-1zM29 18h4v1h-4zM7 19h1v1h-1zM11 19h3v1h-3zM16 19h1v1h-1zM19 19h6v1h-6zM26 19h4v1h-4zM31 19h1v1h-1zM8 20h1v1h-1zM10 20h1v1h-1zM14 20h4v1h-4zM21 20h1v1h-1zM23 20h1v1h-1zM25 20h1v1h-1zM31 20h1v1h-1zM7 21h2v1h-2zM11 21h3v1h-3zM16 21h3v1h-3zM20 21h1v1h-1zM22 21h1v1h-1zM25 21h3v1h-3zM29 21h1v1h-1zM32 21h1v1h-1zM4 22h1v1h-1zM6 22h2v1h-2zM9 22h2v1h-2zM16 22h1v1h-1zM18 22h1v1h-1zM21 22h2v1h-2zM24 22h1v1h-1zM26 22h2v1h-2zM31 22h2v1h-2zM6 23h2v1h-2zM11 23h2v1h-2zM15 23h1v1h-1zM18 23h1v1h-1zM21 23h1v1h-1zM28 23h1v1h-1zM31 23h2v1h-2zM4 24h1v1h-1zM7 24h1v1h-1zM10 24h2v1h-2zM13 24h2v1h-2zM20 24h1v1h-1zM24 24h5v1h-5zM30 24h1v1h-1zM12 25h1v1h-1zM14 25h2v1h-2zM18 25h1v1h-1zM20 25h2v1h-2zM24 25h1v1h-1zM28 25h1v1h-1zM30 25h3v1h-3zM4 26h7v1h-7zM15 26h2v1h-2zM2
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nojunk-qr-fd128b26/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from nojunk-qr.mick8511.workers.dev](https://www.zero.xyz/host/nojunk-qr.mick8511.workers.dev/llms.txt)
