# QR-Byte > Generate a QR code image for a link, a note, or any other short text. No account is required for a one-off image. An agent whose task is to generate a QR code should call the render API. The image is not saved and scans are not counted. ## Generate a QR code - [Render](/api/v1/qr): `POST /api/v1/qr` with JSON `{ "payload": "https://example.com" }`. The response is JSON with `payload`, `svg`, and `png_base64`. Set `format` to `png` or `svg` to receive the image bytes instead. - [PNG](/api/v1/qr.png): `GET /api/v1/qr.png?payload=https%3A%2F%2Fexample.com` returns `image/png`. - [SVG](/api/v1/qr.svg): `GET /api/v1/qr.svg?payload=https%3A%2F%2Fexample.com` returns `image/svg+xml`. - [Generator](/generate): Open `/generate?type=url&url=https%3A%2F%2Fexample.com` to see the code. The preview image is named "QR code preview". The encoded text is in `#qr-payload`. The button named "Download PNG" saves the file. `payload` is the exact string encoded in the code, up to 2048 bytes. Optional `size` is 64 to 1024 pixels (default 320). Optional `foreground` and `background` are colors such as `#000000` and `#ffffff`. These calls need no API key. They are limited to 60 requests per minute per address. Nothing is stored. Prefer POST when the text contains a password. Common payloads: - A website is the URL, including `https://`. - Text is the text itself. - Email is `mailto:ada@example.com?subject=Hello`. - A text message is `SMSTO:+15551234567:Hello`. - Wi-Fi is `WIFI:T:WPA;S:Cafe;P:secret123;;`. - A social profile is the profile URL, such as `https://github.com/octocat`. The generator page accepts `type` (`url`, `text`, `email`, `sms`, `contact`, `app`, `calendar`, `wifi`, `social`, or `dynamic`) plus the field names `url`, `text`, `email`, `subject`, `body`, `phone`, `message`, `fullName`, `organization`, `title`, `contactPhone`, `contactEmail`, `website`, `appStoreUrl`, `playStoreUrl`, `eventTitle`, `eventStart`, `eventEnd`, `eventLocation`, `eventDescription`, `wifiSsid`, `wifiPassword`, `wifiSecurity` (`WPA`, `WEP`, or `nopass`), `wifiHidden` (`true`), `socialPlatform`, and `socialHandle`. Example: `/generate?type=wifi&wifiSsid=Cafe&wifiPassword=secret123&wifiSecurity=WPA` ## Save and track Saving a code and counting scans needs an account. On the generator, use the button named "Save". With an API key, `POST /api/v1/qr-codes`. The OpenAPI document is `/api/v1/openapi.json` and the readable reference is `/docs`. ## Optional - [API reference](/docs) - [OpenAPI](/api/v1/openapi.json) - [Agent task](/agent.json)