Der Body, den du per POST an /api/qr/generate schickst (und den Vorlagen und der KI-Endpunkt
überschreiben). Alles, was du nicht setzt, fällt auf den Standardwert der Engine zurück – außer
content gibt es kein Pflichtfeld.
Maßgebliche Quelle: Models/QrModels.cs im .NET-Backend. Die Liste unten deckt
jedes öffentliche Feld ab; für einen vollständigen Schema-Dump mit Typen und Nullbarkeit führ
pnpm docs:schema im Frontend-Repo aus – das generiert diese Seite aus den
C#-Modellen neu.
| Feld | Typ | Standard | Hinweise |
|---|
content | string | Pflicht | URL oder Text, der codiert wird. Max. 4296 Zeichen. |
eccLevel | enum | M | Fehlerkorrektur. L 7% · M 15% · Q 25% · H 30%. Mit Logo auf H erhöhen. |
| Feld | Typ | Standard | Hinweise |
|---|
fileFormat | enum | png | png, jpg, svg, pdf, webp. |
responseType | enum | base64 | base64 liefert JSON; binary liefert die rohe Datei. |
outputWidth | int | 800 | Pixel. Bis 4096. |
outputHeight | int | — | Standard ist outputWidth. Nur überschreiben, wenn du kein Quadrat brauchst. |
pixelsPerModule | int | 10 | Auflösung pro QR-Modul. Erhöht outputWidth, wenn nicht gesetzt. |
quality | int | 90 | JPG/WebP-Qualität 1–100. |
transparentBackground | bool | false | Nur PNG/SVG/WebP. |
| Feld | Typ | Standard | Hinweise |
|---|
primaryColor | hex | #000000 | Modulfarbe. #RGB, #RRGGBB, #RRGGBBAA. |
secondaryColor | hex | — | Wird von Farbverläufen und verbundenen Modulen genutzt. |
backgroundColor | hex | #FFFFFF | Farbe der Ruhezone. |
foregroundStyle | enum | solid | solid, linearGradient, radialGradient, sweepGradient. |
gradientType | enum | linear | Kurzform, gleichbedeutend mit foregroundStyle. |
gradientDirection | enum | vertical | vertical, horizontal, diagonal, diagonal-reverse. |
gradientColors | hex[] | — | 2–6 Farbstopps. |
gradientStops | float[] | gleichmäßig | Positionen 0–1. Muss zu gradientColors.length passen. |
gradientAngle | int | 0 | Grad; überschreibt gradientDirection, wenn gesetzt. |
| Feld | Typ | Standard | Hinweise |
|---|
qrShape | enum | square | Äußere Fläche: square, roundedsquare, circle. |
qrShapeRadius | int | 0 | Eckradius bei qrShape: roundedsquare. |
moduleShape | enum | square | Eine von 27. Siehe Muster. |
moduleScale | float | 1.0 | 0.5–1.0. Verkleinert jedes Modul für einen luftigeren Look. |
moduleRotation | float | 0 | Grad. |
moduleStyle | enum | solid | solid, outline, striped. |
modulePattern | enum | standard | standard, checker, alternating. |
moduleSizeVariation | float | 0 | 0–0.3 sorgt für organische Variation pro Modul. |
connectedStyle | enum | none | none, fluid, sharp, round. Verbindet benachbarte Module. |
| Feld | Typ | Standard | Hinweise |
|---|
finderOuterShape | enum | square | square, roundedsquare, circle, diamond, octagon, target, double. |
finderInnerShape | enum | square | square, roundedsquare, circle, diamond, star, dot. |
finderOuterColor | hex | — | Standard ist primaryColor. |
finderInnerColor | hex | — | Standard ist primaryColor. |
finderStyle | enum | standard | standard, flat, embossed. |
| Feld | Typ | Standard | Hinweise |
|---|
logoUrl | url | — | Öffentliche URL, serverseitig geladen. PNG/JPG/GIF/BMP/WebP, ≤ 10 MB. |
logoBase64 | string | — | Alternative als Inline-Data-URI. |
logoFile | multipart | — | Binärer Teil bei multipart/form-data. |
logoShape | enum | square | square, circle, rounded. |
logoSizePercent | float | 18 | 5–30. Ab ≥ 20 immer eccLevel auf H setzen. |
logoBorderWidth | int | 0 | Rahmenstärke in Pixeln. |
logoBorderColor | hex | #FFFFFF | |
logoShadow | bool | false | Schlagschatten unter dem Logo. |
logoBackground | enum | none | none, solid, match-bg. |
cleanBehindLogo | bool | true | Entfernt die Module unter dem Logo, damit es nicht mit dem QR-Code kollidiert. |
| Feld | Typ | Hinweise |
|---|
centerText | object | Banner quer durch die Mitte: { text, color?, backgroundColor?, height?, fontSize?, bold?, fontFamily? }. |
circularText | object | Text im Bogen um den QR-Code: { text, color?, fontSize?, position? }. |
ctaText | string | Bildunterschrift unter dem QR-Code (z. B. „SCAN ME“). |
ctaTextStyle | object | { color?, fontSize?, fontFamily?, bold?, italic? }. |
| Feld | Typ | Hinweise |
|---|
frame | object | { enabled, shape, color, width, padding, cornerRadius, fillColor? }. Formen: rectangle, speech-bubble, badge, shield, circle. |
| Feld | Typ | Hinweise |
|---|
backgroundImageUrl / backgroundImageBase64 | url/string | Dezentes Bild, das hinter dem QR-Code gerendert wird. |
backgroundImageBlendMode | enum | normal, multiply, screen, overlay. |
backgroundImageOpacity | float | 0–1. |
backgroundImageBlur | int | Pixel. |
backgroundImageFit | enum | cover, contain, stretch. |
| Feld | Typ | Hinweise |
|---|
shadow | object | { color, blur, offsetX, offsetY }. |
glow | object | { color, blur, intensity }. |
emboss | object | { depth, lightAngle, lightColor?, shadowColor? }. |
noise | float | 0–0.3 fügt Filmkorn hinzu. |
blur | int | Pixel. |
edgeFade | float | 0–0.5 blendet den Rand der Fläche aus. |
colorFilter | enum | none, sepia, bw, cool, warm. |
| Feld | Typ | Hinweise |
|---|
prompt | string | Beschreibung in natürlicher Sprache. |
stylePreset | enum | minimal, artistic, corporate, playful, luxury, tech, nature. |
creativity | float | 0–1. Steuert LLM-Temperatur + Mut beim Design. |
strictScannability | bool | Bei true korrigiert die Engine ECC/Kontrast automatisch. |
llmProvider | enum | Nur Marketplace: openai, anthropic, google, mistral, cohere, groq. |
llmApiKey | string | Nur Marketplace. Einmal weitergeleitet, nie protokolliert. |
llmModel | string | Optional; Standard ist das günstige Hauptmodell des Anbieters. |
- JSON wohlgeformt → sonst
INVALID_JSON.
- Feldtypen + Grenzen →
VALIDATION_ERROR mit details[].
- Farbkontrast →
LOW_CONTRAST, wenn < 4:1 und strictScannability: true.
- Logogröße vs. ECC →
LOGO_TOO_LARGE, wenn zu aggressiv.
- ISO-18004-Decodierung als Gegenprobe →
QR_GENERATION_FAILED, wenn sich das gerenderte Ergebnis nicht wieder lesen lässt.
Die vollständige Matrix der Fehlercodes findest du unter Fehler.
cd frontend
pnpm docs:schema # reads ../Models/QrModels.cs and rewrites this file
Das Skript ist tools/gen-docs-schema.ts. Jedes Feld, das dem C#-Modell mit einem
[Description]-Attribut hinzugefügt wird, erscheint hier automatisch.