POST /api/qr/generate
Gera um QR code a partir de uma configuração explícita. Este é o endpoint principal de renderização — tanto a interface do editor quanto o endpoint de IA passam por ele.
Requisição
Content-Type: application/json ou multipart/form-data (para envio de logo / fundo em binário).
Formato do corpo: um objeto QrConfig.
Exemplo mínimo:
Envio multipart (logo em arquivo)
curl -X POST https://api.qr-branding.com/api/qr/generate \
-H "X-RapidAPI-Proxy-Secret: <secret>" \
-F 'config={"content":"https://yourbrand.com","logoSizePercent":18,"eccLevel":"H"}' \
-F "logoFile=@./brand-mark.png"
O campo config é uma string com JSON codificado. logoFile e backgroundFile são partes binárias (PNG / JPG / GIF / BMP / WebP de até 10 MB).
Resposta (modo base64 — padrão)
{
"success": true,
"qrBase64": "iVBORw0KGgoAAAANSUhEUgAA…",
"format": "png",
"contentType": "image/png",
"sizeBytes": 38291
}
Resposta (modo binário)
{ "responseType": "binary" }
Devolve os bytes brutos do arquivo com o Content-Type adequado e Content-Disposition: attachment; filename="qrcode.png".
Validação
O motor executa todo o processo da garantia de leitura. Motivos de rejeição comuns:
| Código | Significado | Solução |
|---|---|---|
CONTENT_TOO_LONG | Texto codificado com mais de 4296 caracteres | Encurte / use um encurtador de URL |
LOW_CONTRAST | Primeiro plano vs fundo abaixo de 4:1 | Escolha um primeiro plano mais escuro ou um fundo mais claro |
LOGO_TOO_LARGE | logoSizePercent acima de 25 com ECC abaixo de H | Suba para H ou reduza o logo |
INVALID_HEX | A cor não é #RGB, #RRGGBB, #RRGGBBAA | Corrija a cor |
INVALID_LLM_MODEL | Só no endpoint de IA | Veja Modo IA |
Veja também
- Referência de QrConfig — todos os parâmetros aceitos
- POST /api/qr/ai/generate — mesmo motor, configuração gerada pela IA