Pular para o conteúdo

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ódigoSignificadoSolução
CONTENT_TOO_LONGTexto codificado com mais de 4296 caracteresEncurte / use um encurtador de URL
LOW_CONTRASTPrimeiro plano vs fundo abaixo de 4:1Escolha um primeiro plano mais escuro ou um fundo mais claro
LOGO_TOO_LARGElogoSizePercent acima de 25 com ECC abaixo de HSuba para H ou reduza o logo
INVALID_HEXA cor não é #RGB, #RRGGBB, #RRGGBBAACorrija a cor
INVALID_LLM_MODELSó no endpoint de IAVeja Modo IA

Veja também