Pular para o conteúdo

API do QR Branding

A API de QR codes mais personalizável do mercado. Gere QR codes impressionantes, com a sua marca e em conformidade com a ISO 18004, com 37 formas de módulo, 118 modelos, design com IA e 5 formatos de saída.

Assine no RapidAPI: rapidapi.com/quartzondev/api/qr-branding. Os planos e as cotas estão listados na página do RapidAPI.


Início rápido

1. Gere um QR code personalizado

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"
  }'

Resposta:

{
  "success": true,
  "qrBase64": "iVBORw0KGgoAAAANSUhEUg...",
  "format": "png",
  "contentType": "image/png",
  "sizeBytes": 15234
}

2. Gere a partir de um modelo

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 code com IA

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"
  }'

Resposta:

{
  "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"
}

Exemplos de código

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`);
}

Visão geral dos recursos

CategoriaDetalhes
Formas de módulo37: square, circle, diamond, star, heart, hexagon, leaf, cross, dot, mosaic, clipped, edgecut, pointed, pill, rounded, japanese, octagon, shield, arrow, drop + SVG personalizado
Modelos118 modelos prontos em 28 categorias
Provedores de IA9 provedores de LLM mais qualquer endpoint compatível com OpenAI (traga a sua chave), ou IA gerenciada sem chave
Formatos de saídaPNG, JPEG, SVG, PDF, WebP
Resolução máxima4.096 × 4.096 pixels
DegradêsLinear, radial e cônico, com paradas de cor ilimitadas
Efeitos visuaisSombra, brilho/neon, relevo/3D, ruído, desfoque, esmaecimento das bordas, filtros de cor
Suporte a logotipoURL ou Base64, formas circular/quadrada/arredondada, sombra, tamanho personalizado
Textos sobrepostosTexto circular, faixa central, banners de CTA
MoldurasRetângulo, balão de fala, selo, escudo, círculo
Correção de errosL (7%), M (15%), Q (25%), H (30%) — ISO 18004
Auxiliares de conteúdoGeradores de strings de Wi-Fi, vCard e geolocalização
Imagens de fundoURL/Base64, modos de mesclagem, modos de ajuste, desfoque
Módulos conectadosConexões fluidas, retas ou arredondadas para designs artísticos

Categorias de modelos (28)

Tecnologia, Corporativo, Social, Luxo, Natureza, Artístico, Marketing, Eventos, Música, Diversão, Fundo, Cultura, Indústria, Restaurante, Varejo, Educação, Viagens, Automotivo, Assistência médica, Redes sociais, Arte e design, Negócios, Comida e bebida, Finanças, Saúde, Jurídico, Sem fins lucrativos, Imóveis.

Use GET /api/qr/templates?category=luxury para filtrar por categoria.


Provedores e modelos de IA

ProvedorModelos
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
LocalQualquer endpoint compatível com OpenAI (Ollama, LM Studio, vLLM); defina llmProvider: "local" e envie localEndpoint

Qualquer ID de modelo que o seu provedor ofereça funciona; esta lista mostra os recomendados.

Observação: em /api/qr/ai/generate você fornece a sua própria chave de API do provedor de LLM escolhido e o provedor cobra você diretamente; o QR Branding não adiciona nenhum acréscimo. Em /api/qr/ai/generate-managed não é preciso chave de LLM: nós executamos os modelos, e essas chamadas contam para a cota independente de IA gerenciada do seu plano.


Endpoints

POST /api/qr/generate — Gerar QR personalizado

Gere um QR code totalmente personalizável com mais de 100 parâmetros, incluindo formas de módulo, degradês, efeitos, logotipos, textos sobrepostos, molduras e muito mais. Aceita corpo JSON ou multipart/form-data para enviar o arquivo do logotipo.

Corpo da requisição:

{
  "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"
}

Resposta 200:

{
  "success": true,
  "qrBase64": "iVBORw0KGgoAAAANSUhEUg...",
  "format": "png",
  "contentType": "image/png",
  "sizeBytes": 15234
}

Resposta 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 — Gerar QR com IA

Descreva o seu QR code ideal em linguagem natural e deixe a IA criar o design para você. Compatível com 9 provedores de LLM e com qualquer endpoint compatível com OpenAI (local); aceita qualquer ID de modelo que o seu provedor ofereça. Aqui você fornece a sua própria chave de API do LLM; se preferir não usar uma, use POST /api/qr/ai/generate-managed (abaixo).

Corpo da requisição:

{
  "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"
}

Resposta 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 — IA gerenciada (sem chave de LLM)

Mesmo formato de requisição de /api/qr/ai/generate, mas llmProvider, llmApiKey e llmModel são ignorados: não precisa de chave de LLM. O motor usa os seus próprios modelos com uma cadeia de reserva (Groq → Gemini → OpenAI). As chamadas contam para a cota de IA gerenciada do seu plano.

{
  "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
}

A resposta tem o mesmo formato de /api/qr/ai/generate, mais o campo "managed": true.


GET /api/qr/ai/providers — Obter provedores de IA

Lista todos os provedores de LLM compatíveis e os modelos disponíveis para a geração de QR com IA.

Resposta 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 — Listar modelos

Explore 118 modelos de QR code com design profissional em 28 categorias.

Parâmetros de query:

ParâmetroTipoObrigatórioDescrição
categorystringNãoFiltra por categoria (por exemplo, luxury, corporate, social)

Resposta 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} — Gerar a partir de um modelo

Gere um QR code usando um modelo pronto. O design visual do modelo é preservado; opcionalmente, você pode substituir as configurações de saída.

Parâmetros de caminho:

ParâmetroTipoObrigatórioDescrição
templateIdstringSimID do modelo retornado pelo endpoint de listagem de modelos (por exemplo, cyber-neon)

Corpo da requisição:

{
  "content": "https://mywebsite.com",
  "fileFormat": "png",
  "responseType": "base64",
  "outputWidth": 600,
  "logoUrl": "https://example.com/logo.png",
  "ctaText": "Visit Us"
}

Resposta 200:

{
  "success": true,
  "qrBase64": "iVBORw0KGgoAAAANSUhEUg...",
  "format": "png",
  "contentType": "image/png",
  "sizeBytes": 22100
}

POST /api/qr/content/wifi — Gerar string de Wi-Fi

Gere uma string de conexão Wi-Fi para codificar no QR. Quem ler o QR code verá automaticamente a opção de se conectar à rede.

Corpo da requisição:

{
  "ssid": "MyNetwork",
  "password": "MyP@ssw0rd!",
  "encryption": "WPA",
  "hidden": false
}

Resposta 200:

{
  "success": true,
  "text": "WIFI:T:WPA;S:MyNetwork;P:MyP@ssw0rd!;H:false;;"
}

POST /api/qr/content/vcard — Gerar string de vCard

Gere uma string de contato vCard para codificar no QR. Ao ler o QR code, o usuário verá a opção de salvar o contato no celular.

Corpo da requisição:

{
  "firstName": "John",
  "lastName": "Doe",
  "phone": "+1-555-123-4567",
  "email": "john.doe@example.com",
  "org": "Acme Corp",
  "url": "https://johndoe.com"
}

Resposta 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 — Gerar string de geolocalização

Gere uma URI de geolocalização para codificar no QR. Ao ler o QR code, a localização é aberta no app de mapas padrão do usuário.

Corpo da requisição:

{
  "lat": 40.7128,
  "lng": -74.0060
}

Resposta 200:

{
  "success": true,
  "text": "geo:40.7128,-74.006"
}

Tratamento de erros

Todos os erros seguem um formato consistente:

{
  "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"
      }
    ]
  }
}

Códigos de erro

Validação (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

Autenticação (401) UNAUTHORIZED · INVALID_API_KEY · MISSING_API_KEY

Não encontrado (404) RESOURCE_NOT_FOUND · TEMPLATE_NOT_FOUND

Erros de IA/LLM (400/500) INVALID_LLM_PROVIDER · INVALID_LLM_MODEL · LLM_API_KEY_INVALID · AI_GENERATION_FAILED · AI_CONFIG_INVALID · AI_REQUEST_TIMEOUT

Orçamento de saída (422) OUTPUT_TOO_COMPLEX — o design produziria um SVG ou PDF com mais de 20 MB ou uma tela com mais de 5120 px por lado. Exporte em PNG, encurte o conteúdo ou use formatos de módulo mais simples

Capacidade (503) SERVER_BUSY · AI_QUOTA_EXCEEDED (a IA gerenciada ficou sem cota em todos os provedores; tente mais tarde)

Erros do servidor (500) INTERNAL_ERROR · QR_GENERATION_FAILED · LOGO_LOAD_FAILED · BACKGROUND_LOAD_FAILED