Génération de QR Code
L'endpoint /qrcode génère un QR Code à partir d'une URL fournie en paramètre. Cet endpoint est pratique pour générer rapidement une image au format PNG.
curl -X GET \ "https://api.moxon.dev/v6/qrcode"Envoyez la requête pour voir la réponse ici.
urlstringrequisL'URL à encoder dans le QR Code. Doit contenir l'adresse complète
format"png" | "base64"optionnelFormat de réponse :
png(défaut, image directe) oubase64(data URL en JSON)sizenumberoptionnelTaille de l'image en pixels (50-2000, défaut 200)
marginnumberoptionnelZone de silence en modules (0-10, défaut 4)
correctionstringoptionnelNiveau de correction d'erreur :
L,M,QouH(défautM)- L
- M
- Q
- H
darkstringoptionnelCouleur des modules en hexadécimal (ex.
000000)lightstringoptionnelCouleur de fond en hexadécimal (ex.
ffffff)iconstringoptionnelURL HTTPS d'une image à superposer au centre du QR Code
iconSizenumberoptionnelTaille de l'icône en pixels (défaut 20% de
size, max 40% desize)iconPaddingnumberoptionnelPadding blanc autour de l'icône en pixels (défaut 5, 0-50)
iconRadiusnumberoptionnelArrondi des coins du fond de l'icône en pixels (défaut 0, max = cercle parfait)
À savoir
Lorsqu'un icon est fourni, le niveau de correction est automatiquement forcé à H pour garantir la lisibilité. L'URL de l'icône doit utiliser HTTPS, avec un timeout de 5s et une limite de 2 Mo.
Garder l'icône petite
Un iconSize élevé combiné à un iconPadding généreux recouvre davantage de modules du QR Code, le rendant difficile à scanner. Gardez la zone icône + padding bien en dessous de 40% de la size totale pour un résultat fiable.
Par défaut (format=png), l'endpoint retourne une image PNG directe (Content-Type: image/png), utilisable dans une balise <img> :
<img src="https://api.moxon.dev/v6/qrcode?url=https://moxon.dev" alt="QR Code" />Avec format=base64, la réponse est un objet JSON :
resultstringURI data base64 de l'image PNG du QR Code
Si les paramètres sont manquants ou invalides, l'API retournera une erreur :
- 400
Please provide a valid URLLe paramètreurlest manquant ou invalide - 400
format must be one of: png, base64Valeur deformatinvalide - 400
size must be a numberLe paramètresizen'est pas un nombre - 400
size must be between 50 and 2000Lasizeest hors limites - 400
margin must be a numberLe paramètremarginn'est pas un nombre - 400
margin must be between 0 and 10Lamarginest hors limites - 400
correction must be one of: L, M, Q, HNiveau de correction invalide - 400
Invalid color (use hex like ff6600)Une couleurdarkoulightest mal formatée - 400
Icon URL must use HTTPSL'URL de l'iconn'utilise pas HTTPS - 400
Failed to fetch icon: HTTP {status}L'URL de l'icône a retourné une erreur - 400
Icon URL must point to an imageLe content-type de l'icône n'est pas une image - 400
Icon must be under 2MBL'icône dépasse la limite de 2 Mo - 400
iconSize must be a numberLe paramètreiconSizen'est pas un nombre - 400
iconSize must be between 10 and {max}LaiconSizeest hors limites (max = 40% de size) - 400
iconPadding must be a numberLe paramètreiconPaddingn'est pas un nombre - 400
iconPadding must be between 0 and 50LaiconPaddingest hors limites - 400
iconRadius must be a numberLe paramètreiconRadiusn'est pas un nombre - 400
iconRadius must be between 0 and {max}LeiconRadiusest hors limites
Mis à jour le 12 septembre 2026