Saltar al contenido

POST /api/qr/generate

Genera un código QR a partir de una configuración explícita. Es el endpoint principal de renderizado: tanto la interfaz del editor como el endpoint de IA acaban pasando por él.

Petición

Content-Type: application/json o multipart/form-data (para subir el logo o el fondo como binario).

Forma del cuerpo: un objeto QrConfig.

Ejemplo mínimo:

Subida multipart (logo como archivo)

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"

El campo config es una cadena con JSON codificado. logoFile y backgroundFile son partes binarias (PNG / JPG / GIF / BMP / WebP de hasta 10 MB).

Respuesta (modo base64, por defecto)

{
  "success": true,
  "qrBase64": "iVBORw0KGgoAAAANSUhEUgAA…",
  "format": "png",
  "contentType": "image/png",
  "sizeBytes": 38291
}

Respuesta (modo binario)

{ "responseType": "binary" }

Devuelve los bytes del archivo tal cual, con el Content-Type correspondiente y Content-Disposition: attachment; filename="qrcode.png".

Validación

El motor ejecuta el proceso completo de la garantía de escaneo. Motivos de rechazo habituales:

CódigoSignificadoSolución
CONTENT_TOO_LONGCadena codificada > 4296 caracteresAcórtala o usa un acortador de URL
LOW_CONTRASTPrimer plano frente a fondo < 4:1Elige un primer plano más oscuro o un fondo más claro
LOGO_TOO_LARGElogoSizePercent > 25 con ECC < HSube a H o reduce el logo
INVALID_HEXEl color no es #RGB, #RRGGBB ni #RRGGBBAACorrige el color
INVALID_LLM_MODELSolo en el endpoint de IAConsulta el modo IA

Véase también