Перейти до вмісту

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.


Провайдери й моделі ШІ

ПровайдерМоделі
OpenAIgpt-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
Anthropicclaude-fable-5-1, claude-opus-5-5, claude-sonnet-5-5, claude-haiku-4-5
Googlegemini-3.1-pro-preview, gemini-3.8-flash, gemini-3.5-flash-lite, gemini-3.5-flash
Mistralmistral-large-latest, mistral-medium-latest, mistral-small-latest
Coherecommand-a-plus-05-2026, command-a-03-2025, command-a-reasoning-08-2025, command-r7b-12-2024
Groqopenai/gpt-oss-120b, openai/gpt-oss-20b, llama-3.3-70b-versatile
xAIgrok-4.7, grok-4.3, grok-4.20-0309-non-reasoning
DeepSeekdeepseek-v4-pro, deepseek-flash
Qwenqwen3.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 категоріях.

Параметри запиту:

ПараметрТипОбов’язковийОпис
categorystringНіФільтр за категорією (наприклад, 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-код за готовим шаблоном. Візуальний дизайн шаблону зберігається; за бажання можна перевизначити налаштування виводу.

Параметри шляху:

ПараметрТипОбов’язковийОпис
templateIdstringТакІдентифікатор шаблону з ендпоінту «Список шаблонів» (наприклад, 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