POST /api/qr/generate
Génère un QR code à partir d'une configuration explicite. C'est l'endpoint de rendu principal : l'interface de l'éditeur comme l'endpoint IA passent par lui.
Requête
Content-Type: application/json ou multipart/form-data (pour envoyer un logo ou un fond en binaire).
Structure du corps : un objet QrConfig.
Exemple minimal :
Envoi multipart (logo en fichier)
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"
Le champ config est une chaîne encodée en JSON. logoFile et backgroundFile sont des parties binaires (PNG / JPG / GIF / BMP / WebP jusqu'à 10 MB).
Réponse (mode base64, par défaut)
{
"success": true,
"qrBase64": "iVBORw0KGgoAAAANSUhEUgAA…",
"format": "png",
"contentType": "image/png",
"sizeBytes": 38291
}
Réponse (mode binaire)
{ "responseType": "binary" }
Renvoie les octets bruts du fichier avec le Content-Type approprié et Content-Disposition: attachment; filename="qrcode.png".
Validation
Le moteur exécute toute la chaîne de la garantie de scan. Motifs de rejet courants :
| Code | Signification | Solution |
|---|---|---|
CONTENT_TOO_LONG | Chaîne encodée > 4296 caractères | Raccourcissez / utilisez un raccourcisseur d'URL |
LOW_CONTRAST | premier plan vs arrière-plan < 4:1 | Choisissez un premier plan plus foncé ou un fond plus clair |
LOGO_TOO_LARGE | logoSizePercent > 25 avec un ECC < H | Passez en H ou réduisez le logo |
INVALID_HEX | Couleur qui n'est pas au format #RGB, #RRGGBB, #RRGGBBAA | Corrigez la couleur |
INVALID_LLM_MODEL | Uniquement sur l'endpoint IA | Voir le mode IA |
Voir aussi
- Référence QrConfig : tous les paramètres acceptés
- POST /api/qr/ai/generate : même moteur, configuration pilotée par l'IA