Api Endpoint

Busker QR Generator

Generate a QR code from text as PNG (base64) or SVG. Custom module size, quiet-zone margin, and hex colours. Deterministic, capacity-capped at 2953 bytes. Set delivery to "url" to receive a short-lived download link instead of inline data.

Open interactive test console

Offering

Provider
workbot1.oddsys.org
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Creative
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://workbot1.oddsys.org/qr
MIME type
Not provided
First seen
2026-10-16T01:51:30.109Z
Last seen
Tags
qr, qrcode, image, png, svg

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.005 USDC
Atomic price: 5000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "5000",
    "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4"
  }
]

Observed health

Status
Healthy
Latest latency
72 ms
Average latency
248 ms
HTTP status
204
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "additionalProperties": false,
      "properties": {
        "dark": {
          "description": "Hex colour of the data modules (default #000000).",
          "type": "string"
        },
        "delivery": {
          "description": "inline (default) = data in the response body; url = a short-lived download link (expires after ~15 min or a small download budget) — hand it to a user or client script instead of carrying the bytes.",
          "enum": [
            "inline",
            "url"
          ],
          "type": "string"
        },
        "downloads": {
          "description": "url delivery only: download budget before the link dies (1-3, default 2).",
          "type": "number"
        },
        "format": {
          "description": "Output format (default png).",
          "enum": [
            "png",
            "svg"
          ],
          "type": "string"
        },
        "light": {
          "description": "Hex colour of the background (default #ffffff).",
          "type": "string"
        },
        "margin": {
          "description": "Quiet-zone width in modules (0-16, default 2).",
          "type": "number"
        },
        "scale": {
          "description": "Pixels per QR module, PNG only (1-20, default 4).",
          "type": "number"
        },
        "text": {
          "description": "Content to encode (max 2953 bytes utf8 — QR capacity).",
          "type": "string"
        }
      },
      "required": [
        "text"
      ],
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "dark": {
              "description": "Hex colour of the data modules (default #000000).",
              "type": "string"
            },
            "delivery": {
              "description": "inline (default) = data in the response body; url = a short-lived download link (expires after ~15 min or a small download budget) — hand it to a user or client script instead of carrying the bytes.",
              "enum": [
                "inline",
                "url"
              ],
              "type": "string"
            },
            "downloads": {
              "description": "url delivery only: download budget before the link dies (1-3, default 2).",
              "type": "number"
            },
            "format": {
              "description": "Output format (default png).",
              "enum": [
                "png",
                "svg"
              ],
              "type": "string"
            },
            "light": {
              "description": "Hex colour of the background (default #ffffff).",
              "type": "string"
            },
            "margin": {
              "description": "Quiet-zone width in modules (0-16, default 2).",
              "type": "number"
            },
            "scale": {
              "description": "Pixels per QR module, PNG only (1-20, default 4).",
              "type": "number"
            },
            "text": {
              "description": "Content to encode (max 2953 bytes utf8 — QR capacity).",
              "type": "string"
            }
          },
          "required": [
            "text"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    }
  }
}