POST /api/qr/generate
Genera un codice QR da una configurazione esplicita. È l'endpoint di rendering principale: sia l'interfaccia dell'editor sia l'endpoint IA passano da qui.
Richiesta
Content-Type: application/json oppure multipart/form-data (per caricare logo / sfondo in binario).
Struttura del corpo: un oggetto QrConfig.
Esempio minimo:
Caricamento multipart (logo da file)
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"
Il campo config è una stringa codificata in JSON. logoFile e backgroundFile sono parti binarie (PNG / JPG / GIF / BMP / WebP fino a 10 MB).
Risposta (modalità base64, predefinita)
{
"success": true,
"qrBase64": "iVBORw0KGgoAAAANSUhEUgAA…",
"format": "png",
"contentType": "image/png",
"sizeBytes": 38291
}
Risposta (modalità binaria)
{ "responseType": "binary" }
Restituisce i byte grezzi del file con il Content-Type appropriato e Content-Disposition: attachment; filename="qrcode.png".
Convalida
Il motore esegue l'intera pipeline della garanzia di scansione. Motivi di rifiuto frequenti:
| Codice | Significato | Soluzione |
|---|---|---|
CONTENT_TOO_LONG | Stringa codificata > 4296 caratteri | Accorciala / usa un URL shortener |
LOW_CONTRAST | primo piano vs sfondo < 4:1 | Scegli un primo piano più scuro o uno sfondo più chiaro |
LOGO_TOO_LARGE | logoSizePercent > 25 con ECC < H | Passa a H o riduci il logo |
INVALID_HEX | Colore non in formato #RGB, #RRGGBB, #RRGGBBAA | Correggi il colore |
INVALID_LLM_MODEL | Solo sull'endpoint IA | Vedi Modalità IA |
Vedi anche
- Riferimento QrConfig: tutti i parametri accettati
- POST /api/qr/ai/generate: stesso motore, configurazione generata dall'IA