Aller au contenu

Référence QrConfig

Le corps que vous envoyez en POST à /api/qr/generate (et que les modèles et l'endpoint IA remplacent). Tout ce qui n'est pas défini prend la valeur par défaut du moteur : aucun champ n'est obligatoire à part content.

Source de vérité : Models/QrModels.cs dans le backend .NET. La liste ci-dessous couvre tous les champs publics ; pour un export complet du schéma, avec les types et la nullabilité, exécutez pnpm docs:schema dans le dépôt du frontend : cette commande régénère cette page à partir des modèles C#.

Contenu

ChampTypeDéfautRemarques
contentstringobligatoireURL ou texte à encoder. 4296 caractères maximum.
eccLevelenumMCorrection d'erreurs. L 7% · M 15% · Q 25% · H 30%. Passez à H si vous ajoutez un logo.

Sortie

ChampTypeDéfautRemarques
fileFormatenumpngpng, jpg, svg, pdf, webp.
responseTypeenumbase64base64 renvoie du JSON ; binary renvoie le fichier brut.
outputWidthint800Pixels. Jusqu'à 4096.
outputHeightint—Vaut outputWidth par défaut. À remplacer uniquement si vous avez besoin d'un format non carré.
pixelsPerModuleint10Résolution par module du QR. Augmente outputWidth s'il n'est pas défini.
qualityint90Qualité JPG/WebP de 1 à 100.
transparentBackgroundboolfalsePNG/SVG/WebP uniquement.

Couleurs

ChampTypeDéfautRemarques
primaryColorhex#000000Couleur des modules. #RGB, #RRGGBB, #RRGGBBAA.
secondaryColorhex—Utilisée par les dégradés et les modules connectés.
backgroundColorhex#FFFFFFCouleur de la zone de silence.
foregroundStyleenumsolidsolid, linearGradient, radialGradient, sweepGradient.
gradientTypeenumlinearForme abrégée équivalente à foregroundStyle.
gradientDirectionenumverticalvertical, horizontal, diagonal, diagonal-reverse.
gradientColorshex[]—De 2 à 6 arrêts.
gradientStopsfloat[]réguliersPositions de 0 à 1. Doit correspondre à gradientColors.length.
gradientAngleint0Degrés ; remplace gradientDirection s'il est défini.

Modules (les points)

ChampTypeDéfautRemarques
qrShapeenumsquareZone extérieure : square, roundedsquare, circle.
qrShapeRadiusint0Rayon des coins lorsque qrShape: roundedsquare.
moduleShapeenumsquareUne valeur parmi 27. Voir Motifs.
moduleScalefloat1.00.5–1.0. Réduit chaque module pour un rendu plus aéré.
moduleRotationfloat0Degrés.
moduleStyleenumsolidsolid, outline, striped.
modulePatternenumstandardstandard, checker, alternating.
moduleSizeVariationfloat00–0.3 ajoute une variation organique à chaque module.
connectedStyleenumnonenone, fluid, sharp, round. Relie les modules adjacents.

Motifs de repérage (les 3 grands yeux)

ChampTypeDéfautRemarques
finderOuterShapeenumsquaresquare, roundedsquare, circle, diamond, octagon, target, double.
finderInnerShapeenumsquaresquare, roundedsquare, circle, diamond, star, dot.
finderOuterColorhex—Vaut primaryColor par défaut.
finderInnerColorhex—Vaut primaryColor par défaut.
finderStyleenumstandardstandard, flat, embossed.
ChampTypeDéfautRemarques
logoUrlurl—URL publique récupérée côté serveur. PNG/JPG/GIF/BMP/WebP, ≤ 10 MB.
logoBase64string—Alternative en data URI dans la requête.
logoFilemultipart—Partie binaire si vous utilisez multipart/form-data.
logoShapeenumsquaresquare, circle, rounded.
logoSizePercentfloat185–30. Relevez toujours eccLevel à H à partir de 20.
logoBorderWidthint0Épaisseur de la bordure en pixels.
logoBorderColorhex#FFFFFF
logoShadowboolfalseOmbre portée sous le logo.
logoBackgroundenumnonenone, solid, match-bg.
cleanBehindLogobooltrueEfface les modules sous le logo pour qu'il n'entre pas en conflit avec le QR.

Textes superposés

ChampTypeRemarques
centerTextobjectBandeau au centre : { text, color?, backgroundColor?, height?, fontSize?, bold?, fontFamily? }.
circularTextobjectTexte incurvé autour du QR : { text, color?, fontSize?, position? }.
ctaTextstringLégende sous le QR (par exemple « SCAN ME »).
ctaTextStyleobject{ color?, fontSize?, fontFamily?, bold?, italic? }.

Cadres

ChampTypeRemarques
frameobject{ enabled, shape, color, width, padding, cornerRadius, fillColor? }. Formes : rectangle, speech-bubble, badge, shield, circle.

Image de fond

ChampTypeRemarques
backgroundImageUrl / backgroundImageBase64url/stringImage discrète rendue derrière le QR.
backgroundImageBlendModeenumnormal, multiply, screen, overlay.
backgroundImageOpacityfloat0–1.
backgroundImageBlurintPixels.
backgroundImageFitenumcover, contain, stretch.

Effets

ChampTypeRemarques
shadowobject{ color, blur, offsetX, offsetY }.
glowobject{ color, blur, intensity }.
embossobject{ depth, lightAngle, lightColor?, shadowColor? }.
noisefloat0–0.3 ajoute un grain argentique.
blurintPixels.
edgeFadefloat0–0.5 estompe le bord de la zone.
colorFilterenumnone, sepia, bw, cool, warm.

Spécifique à l'IA (uniquement sur /api/qr/ai/generate*)

ChampTypeRemarques
promptstringDescription en langage courant.
stylePresetenumminimal, artistic, corporate, playful, luxury, tech, nature.
creativityfloat0–1. Contrôle la température du LLM et l'audace.
strictScannabilityboolÀ true, le moteur corrige automatiquement l'ECC et le contraste.
llmProviderenumMarketplace uniquement : openai, anthropic, google, mistral, cohere, groq.
llmApiKeystringMarketplace uniquement. Transmise une seule fois, jamais journalisée.
llmModelstringFacultatif ; par défaut, le modèle phare économique du fournisseur.

Ordre de validation

  1. JSON bien formé → INVALID_JSON sinon.
  2. Types et bornes des champs → VALIDATION_ERROR avec details[].
  3. Contraste des couleurs → LOW_CONTRAST si < 4:1 et strictScannability: true.
  4. Taille du logo par rapport à l'ECC → LOGO_TOO_LARGE si elle est trop agressive.
  5. Aller-retour de décodage ISO 18004 → QR_GENERATION_FAILED si le rendu ne peut pas être relu.

Consultez Erreurs pour la matrice complète des codes d'erreur.

Régénérer cette page

cd frontend
pnpm docs:schema   # reads ../Models/QrModels.cs and rewrites this file

Le script est tools/gen-docs-schema.ts. Tout champ ajouté au modèle C# avec un attribut [Description] apparaît ici automatiquement.