QR Branding API
Найгнучкіший у налаштуванні API для QR-кодів. Генеруйте вражаючі брендовані QR-коди, сумісні з ISO 18004, — 37 форм модулів, 118 шаблонів, дизайн за допомогою ШІ та 5 форматів виводу.
Підписка на RapidAPI: rapidapi.com/quartzondev/api/qr-branding. Плани та квоти наведено на сторінці RapidAPI.
Швидкий старт
1. Згенеруйте власний QR-код
curl -X POST "https://qr-branding.p.rapidapi.com/api/qr/generate" \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: qr-branding.p.rapidapi.com" \
-d '{
"content": "https://example.com",
"primaryColor": "#1a1a2e",
"backgroundColor": "#FFFFFF",
"moduleShape": "circle",
"fileFormat": "png",
"outputWidth": 512,
"eccLevel": "H"
}'
Відповідь:
{
"success": true,
"qrBase64": "iVBORw0KGgoAAAANSUhEUg...",
"format": "png",
"contentType": "image/png",
"sizeBytes": 15234
}
2. Згенеруйте із шаблону
curl -X POST "https://qr-branding.p.rapidapi.com/api/qr/templates/cyber-neon" \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: qr-branding.p.rapidapi.com" \
-d '{
"content": "https://mywebsite.com",
"outputWidth": 600
}'
3. QR-код, створений ШІ
curl -X POST "https://qr-branding.p.rapidapi.com/api/qr/ai/generate" \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: qr-branding.p.rapidapi.com" \
-d '{
"prompt": "A luxurious gold and black QR code with rounded modules and a subtle glow effect, suitable for a premium brand",
"content": "https://premium-brand.com",
"llmProvider": "openai",
"llmApiKey": "sk-your-openai-key",
"creativity": 0.7,
"strictScannability": true,
"stylePreset": "luxury"
}'
Відповідь:
{
"success": true,
"qrBase64": "iVBORw0KGgoAAAANSUhEUg...",
"format": "png",
"contentType": "image/png",
"sizeBytes": 28456,
"generatedConfig": { },
"aiExplanation": "I designed a premium QR code with...",
"llmProviderUsed": "openai",
"llmModelUsed": "gpt-6-luna"
}
Приклади коду
Python
import requests
url = "https://qr-branding.p.rapidapi.com/api/qr/generate"
headers = {
"Content-Type": "application/json",
"X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
"X-RapidAPI-Host": "qr-branding.p.rapidapi.com"
}
payload = {
"content": "https://example.com",
"primaryColor": "#FF6B35",
"moduleShape": "star",
"eccLevel": "H",
"outputWidth": 800,
"fileFormat": "png"
}
response = requests.post(url, json=payload, headers=headers)
data = response.json()
if data["success"]:
import base64
img_bytes = base64.b64decode(data["qrBase64"])
with open("my_qr.png", "wb") as f:
f.write(img_bytes)
print(f"QR saved! Size: {data['sizeBytes']} bytes")
JavaScript (Node.js)
const response = await fetch(
"https://qr-branding.p.rapidapi.com/api/qr/generate",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
"X-RapidAPI-Host": "qr-branding.p.rapidapi.com",
},
body: JSON.stringify({
content: "https://example.com",
primaryColor: "#0066FF",
moduleShape: "hexagon",
eccLevel: "H",
outputWidth: 600,
fileFormat: "png",
}),
}
);
const data = await response.json();
if (data.success) {
const buffer = Buffer.from(data.qrBase64, "base64");
require("fs").writeFileSync("qr_code.png", buffer);
console.log(`QR generated: ${data.sizeBytes} bytes`);
}
Огляд можливостей
| Категорія | Подробиці |
|---|---|
| Форми модулів | 37: square, circle, diamond, star, heart, hexagon, leaf, cross, dot, mosaic, clipped, edgecut, pointed, pill, rounded, japanese, octagon, shield, arrow, drop + власний SVG |
| Шаблони | 118 готових шаблонів у 28 категоріях |
| Провайдери ШІ | 9 провайдерів LLM і будь-яка кінцева точка, сумісна з OpenAI (власний ключ), або кероване ШІ без ключа |
| Формати виводу | PNG, JPEG, SVG, PDF, WebP |
| Максимальна роздільна здатність | 4 096 × 4 096 пікселів |
| Градієнти | Лінійні, радіальні, конічні з необмеженою кількістю опорних кольорів |
| Візуальні ефекти | Тінь, світіння/неон, тиснення/3D, шум, розмиття, згасання країв, кольорові фільтри |
| Підтримка логотипів | URL або Base64, круглі/квадратні/заокруглені форми, тінь, довільний розмір |
| Текстові накладки | Текст по колу, смуга в центрі, банери CTA |
| Рамки | Прямокутник, бульбашка діалогу, значок, щит, коло |
| Корекція помилок | L (7%), M (15%), Q (25%), H (30%) — ISO 18004 |
| Помічники для вмісту | Генератори рядків WiFi, vCard, геолокації |
| Фонові зображення | URL/Base64, режими змішування, режими вписування, розмиття |
| З’єднані модулі | З’єднання fluid, sharp, round для художніх дизайнів |
Категорії шаблонів (28)
Technology, Corporate, Social, Luxury, Nature, Artistic, Marketing, Events, Music, Fun, Background, Culture, Industry, Restaurant, Retail, Education, Travel, Automotive, Healthcare, Social Media, Art & Design, Business, Food & Drink, Finance, Health, Legal, Non-Profit, Real Estate.
Щоб відфільтрувати за категорією, використовуйте GET /api/qr/templates?category=luxury.
Провайдери й моделі ШІ
| Провайдер | Моделі |
|---|---|
| OpenAI | gpt-6-astra, gpt-6.1-sol, gpt-6-luna, gpt-6-sol, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-4.1-mini |
| Anthropic | claude-fable-5-1, claude-opus-5-5, claude-sonnet-5-5, claude-haiku-4-5 |
| gemini-3.1-pro-preview, gemini-3.8-flash, gemini-3.5-flash-lite, gemini-3.5-flash | |
| Mistral | mistral-large-latest, mistral-medium-latest, mistral-small-latest |
| Cohere | command-a-plus-05-2026, command-a-03-2025, command-a-reasoning-08-2025, command-r7b-12-2024 |
| Groq | openai/gpt-oss-120b, openai/gpt-oss-20b, llama-3.3-70b-versatile |
| xAI | grok-4.7, grok-4.3, grok-4.20-0309-non-reasoning |
| DeepSeek | deepseek-v4-pro, deepseek-flash |
| Qwen | qwen3.8-max, qwen3.7-plus, qwen3.8-flash |
| Local | Будь-яка кінцева точка, сумісна з OpenAI (Ollama, LM Studio, vLLM); вкажіть llmProvider: "local" і передайте localEndpoint |
Працює будь-який ID моделі, який пропонує ваш провайдер; у цьому списку — рекомендовані.
Примітка: на
/api/qr/ai/generateви надаєте власний ключ API вибраного провайдера LLM, а провайдер виставляє рахунок вам напряму; QR Branding не додає жодної націнки. На/api/qr/ai/generate-managedключ LLM не потрібен: моделі запускаємо ми, а ці виклики враховуються в окремій квоті керованого ШІ вашого плану.
Ендпоінти
POST /api/qr/generate — Генерація власного QR
Генерує повністю налаштовуваний QR-код із понад 100 параметрами, зокрема формами модулів, градієнтами, ефектами, логотипами, текстовими накладками, рамками тощо. Підтримує тіло JSON або multipart/form-data для завантаження файлу логотипа.
Тіло запиту:
{
"content": "https://example.com",
"eccLevel": "H",
"pixelsPerModule": 20,
"outputWidth": 512,
"fileFormat": "png",
"quality": 90,
"responseType": "base64",
"backgroundColor": "#FFFFFF",
"transparentBackground": false,
"primaryColor": "#000000",
"secondaryColor": null,
"foregroundStyle": "solid",
"gradientType": "linear",
"gradientDirection": "vertical",
"gradientColors": ["#FF0000", "#0000FF"],
"gradientStops": [0.0, 1.0],
"gradientAngle": 0,
"qrShape": "square",
"moduleShape": "square",
"moduleScale": 0.85,
"moduleRotation": 0,
"moduleStyle": "solid",
"modulePattern": "standard",
"connectedStyle": "none",
"finderOuterShape": "square",
"finderInnerShape": "square",
"finderOuterColor": "#000000",
"finderInnerColor": "#000000",
"finderStyle": "standard",
"logoUrl": "https://example.com/logo.png",
"logoShape": "circle",
"logoSizePercent": 18,
"logoBorderWidth": 2,
"logoBorderColor": "#FFFFFF",
"logoShadow": true,
"logoBackground": "solid",
"ctaText": "SCAN ME"
}
Відповідь 200:
{
"success": true,
"qrBase64": "iVBORw0KGgoAAAANSUhEUg...",
"format": "png",
"contentType": "image/png",
"sizeBytes": 15234
}
Відповідь 400:
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed with 1 error.",
"details": [
{
"field": "moduleShape",
"code": "INVALID_MODULE_SHAPE",
"message": "Invalid module shape 'triangle'. Valid shapes: square, circle, diamond, star, heart, hexagon, leaf, cross, dot, mosaic, clipped, edgecut, pointed, pill, rounded, japanese, octagon, shield, arrow, drop."
}
]
}
}
POST /api/qr/ai/generate — Генерація QR за допомогою ШІ
Опишіть свій ідеальний QR-код природною мовою — і ШІ створить дизайн за вас. Підтримує 9 провайдерів LLM і будь-яку кінцеву точку, сумісну з OpenAI (local); приймається будь-який ідентифікатор моделі, який пропонує ваш провайдер. Тут потрібен власний ключ API LLM; якщо не хочете його використовувати, скористайтеся POST /api/qr/ai/generate-managed (нижче).
Тіло запиту:
{
"prompt": "A modern tech-style QR code with hexagonal modules, a blue-to-purple gradient, subtle glow effect, and rounded finder patterns",
"content": "https://myapp.com",
"llmProvider": "openai",
"llmApiKey": "sk-your-api-key-here",
"llmModel": "gpt-6-luna",
"creativity": 0.7,
"strictScannability": true,
"stylePreset": "tech",
"fileFormat": "png",
"outputWidth": 800,
"logoUrl": "https://example.com/logo.png",
"ctaText": "Download App"
}
Відповідь 200:
{
"success": true,
"qrBase64": "iVBORw0KGgoAAAANSUhEUg...",
"format": "png",
"contentType": "image/png",
"sizeBytes": 28456,
"generatedConfig": {
"content": "https://myapp.com",
"moduleShape": "hexagon",
"primaryColor": "#4A90D9",
"gradientColors": ["#4A90D9", "#7B2FF7"],
"gradientType": "linear",
"gradientDirection": "vertical",
"finderOuterShape": "roundedsquare",
"finderInnerShape": "circle",
"eccLevel": "H"
},
"aiExplanation": "I designed a tech-inspired QR code with hexagonal modules...",
"llmProviderUsed": "openai",
"llmModelUsed": "gpt-6-luna"
}
POST /api/qr/ai/generate-managed — Кероване ШІ (без ключа LLM)
Формат запиту такий самий, як у /api/qr/ai/generate, але llmProvider, llmApiKey і llmModel ігноруються: ключ LLM не потрібен. Рушій використовує власні моделі із запасним ланцюжком (Groq → Gemini → OpenAI). Виклики враховуються в квоті керованого ШІ вашого плану.
{
"prompt": "A luxurious gold and black QR with rounded modules and a subtle glow effect",
"content": "https://premium-brand.com",
"creativity": 0.7,
"strictScannability": true,
"stylePreset": "luxury",
"fileFormat": "png",
"outputWidth": 800
}
Відповідь має той самий формат, що й /api/qr/ai/generate, плюс поле "managed": true.
GET /api/qr/ai/providers — Отримання провайдерів ШІ
Повертає всіх підтримуваних провайдерів LLM та їхні доступні моделі для генерації QR за допомогою ШІ.
Відповідь 200:
{
"success": true,
"count": 10,
"providers": [
{
"id": "openai",
"name": "OpenAI",
"defaultModel": "gpt-6-luna",
"availableModels": ["gpt-6-astra", "gpt-6.1-sol", "gpt-6-luna", "gpt-6-sol", "gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna", "gpt-4.1-mini"]
},
{
"id": "anthropic",
"name": "Anthropic",
"defaultModel": "claude-sonnet-5-5",
"availableModels": ["claude-fable-5-1", "claude-opus-5-5", "claude-sonnet-5-5", "claude-haiku-4-5"]
}
]
}
GET /api/qr/templates — Список шаблонів
Перегляньте 118 професійно розроблених шаблонів QR-кодів у 28 категоріях.
Параметри запиту:
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
category | string | Ні | Фільтр за категорією (наприклад, luxury, corporate, social) |
Відповідь 200:
{
"success": true,
"count": 118,
"categories": [
"Technology", "Corporate", "Social", "Luxury", "Nature",
"Artistic", "Marketing", "Events", "Music", "Fun"
],
"templates": [
{
"id": "cyber-neon",
"name": "Cyber Neon",
"category": "Technology",
"description": "Futuristic glowing neon style with diamond modules and vibrant cyan-pink gradient"
},
{
"id": "professional-blue",
"name": "Professional Blue",
"category": "Corporate",
"description": "Clean corporate style with blue gradient, ideal for business"
}
]
}
POST /api/qr/templates/{templateId} — Генерація із шаблону
Генерує QR-код за готовим шаблоном. Візуальний дизайн шаблону зберігається; за бажання можна перевизначити налаштування виводу.
Параметри шляху:
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
templateId | string | Так | Ідентифікатор шаблону з ендпоінту «Список шаблонів» (наприклад, cyber-neon) |
Тіло запиту:
{
"content": "https://mywebsite.com",
"fileFormat": "png",
"responseType": "base64",
"outputWidth": 600,
"logoUrl": "https://example.com/logo.png",
"ctaText": "Visit Us"
}
Відповідь 200:
{
"success": true,
"qrBase64": "iVBORw0KGgoAAAANSUhEUg...",
"format": "png",
"contentType": "image/png",
"sizeBytes": 22100
}
POST /api/qr/content/wifi — Генерація рядка WiFi
Генерує рядок підключення до WiFi для кодування в QR. Користувачам, які відсканують QR-код, автоматично буде запропоновано підключитися до мережі.
Тіло запиту:
{
"ssid": "MyNetwork",
"password": "MyP@ssw0rd!",
"encryption": "WPA",
"hidden": false
}
Відповідь 200:
{
"success": true,
"text": "WIFI:T:WPA;S:MyNetwork;P:MyP@ssw0rd!;H:false;;"
}
POST /api/qr/content/vcard — Генерація рядка vCard
Генерує контактний рядок vCard для кодування в QR. Після сканування QR-код запропонує користувачам зберегти контакт у телефоні.
Тіло запиту:
{
"firstName": "John",
"lastName": "Doe",
"phone": "+1-555-123-4567",
"email": "john.doe@example.com",
"org": "Acme Corp",
"url": "https://johndoe.com"
}
Відповідь 200:
{
"success": true,
"text": "BEGIN:VCARD\nVERSION:3.0\nN:Doe;John\nFN:John Doe\nTEL:+1-555-123-4567\nEMAIL:john.doe@example.com\nORG:Acme Corp\nURL:https://johndoe.com\nEND:VCARD"
}
POST /api/qr/content/geo — Генерація рядка геолокації
Генерує URI геолокації для кодування в QR. Після сканування QR-код відкриє місце в картографічному застосунку користувача за замовчуванням.
Тіло запиту:
{
"lat": 40.7128,
"lng": -74.0060
}
Відповідь 200:
{
"success": true,
"text": "geo:40.7128,-74.006"
}
Обробка помилок
Усі помилки мають однаковий формат:
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed with 2 errors.",
"details": [
{
"field": "primaryColor",
"code": "INVALID_COLOR_FORMAT",
"message": "Invalid color format. Use hex (#RRGGBB or #RRGGBBAA).",
"value": "not-a-color"
}
]
}
}
Коди помилок
Перевірка (400)
VALIDATION_ERROR · INVALID_JSON · MISSING_REQUIRED_FIELD · INVALID_FIELD_VALUE · INVALID_COLOR_FORMAT · INVALID_FILE_FORMAT · CONTENT_TOO_LONG · FILE_TOO_LARGE · INVALID_URL · INVALID_ECC_LEVEL · INVALID_MODULE_SHAPE · INVALID_GRADIENT_TYPE · INVALID_RESPONSE_TYPE · VALUE_OUT_OF_RANGE · MULTIPART_CONFIG_MISSING
Автентифікація (401)
UNAUTHORIZED · INVALID_API_KEY · MISSING_API_KEY
Не знайдено (404)
RESOURCE_NOT_FOUND · TEMPLATE_NOT_FOUND
Помилки ШІ/LLM (400/500)
INVALID_LLM_PROVIDER · INVALID_LLM_MODEL · LLM_API_KEY_INVALID · AI_GENERATION_FAILED · AI_CONFIG_INVALID · AI_REQUEST_TIMEOUT
Бюджет результату (422)
OUTPUT_TOO_COMPLEX — дизайн дав би SVG або PDF понад 20 MB чи полотно понад 5120 px на бік. Експортуйте в PNG, скоротіть вміст або виберіть простіші форми модулів
Потужність (503)
SERVER_BUSY · AI_QUOTA_EXCEEDED (керований ШІ вичерпав квоту в усіх провайдерів; спробуйте пізніше)
Помилки сервера (500)
INTERNAL_ERROR · QR_GENERATION_FAILED · LOGO_LOAD_FAILED · BACKGROUND_LOAD_FAILED