POST /api/qr/ai/generate
Derselbe Renderer wie bei /api/qr/generate, aber du beschreibst in einem Satz, was du willst, und die Engine wählt Formen, Farben und Marker-Augen.
Es gibt drei Varianten des KI-Endpunkts – wähle die, die zu deiner Authentifizierung passt.
Marketplace – eigener LLM-Schlüssel
POST https://api.qr-branding.com/api/qr/ai/generate
curl -X POST https://api.qr-branding.com/api/qr/ai/generate \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Proxy-Secret: <secret>" \
-d '{
"content": "https://yourbrand.com",
"prompt": "art deco gold leaf, geometric chevrons, ivory background",
"llmProvider": "openai",
"llmApiKey": "sk-...",
"creativity": 0.6,
"strictScannability": true,
"stylePreset": "luxury"
}'
Du lieferst die LLM-Zugangsdaten. Die Engine prüft die resultierende Konfiguration, wendet die Scan-Garantie an und rendert den QR-Code.
Marketplace – verwaltete KI, ohne LLM-Schlüssel
curl -X POST https://api.qr-branding.com/api/qr/ai/generate-managed \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Proxy-Secret: <secret>" \
-d '{
"content": "https://yourbrand.com",
"prompt": "art deco gold leaf, geometric chevrons, ivory background",
"creativity": 0.6,
"strictScannability": true,
"stylePreset": "luxury"
}'
Kein llmProvider / llmApiKey nötig. Der Server nutzt eigene Modelle mit einer Ausweichkette Groq → Gemini → OpenAI. Die Antwort enthält "managed": true, und der Aufruf zählt auf das Kontingent für verwaltete KI deines Plans.
Consumer – serverseitiger LLM-Schlüssel
POST https://qr-branding.com/api/qr/ai/generate/server
curl -X POST https://qr-branding.com/api/qr/ai/generate/server \
-H "Content-Type: application/json" \
-d '{
"content": "https://yourbrand.com",
"prompt": "art deco gold leaf, geometric chevrons, ivory background",
"stylePreset": "luxury",
"creativity": 0.6
}'
Kein llmProvider / llmApiKey nötig. Der Server versucht der Reihe nach Groq (gpt-oss-120b, dann gpt-oss-20b) → OpenAI → Gemini. Bei Erfolg wird ein KI-Credit von deinem Guthaben abgebucht; bei einem Fehler wird kein Credit verbraucht.
Codebeispiele
Request-Body
| Feld | Typ | Standard | Hinweise |
|---|---|---|---|
content | string | Pflicht | Was codiert wird (URL / Text). |
prompt | string | Pflicht | Beschreibung in natürlicher Sprache, ≤ 10000 Zeichen. |
stylePreset | string | luxury | Eines von minimal artistic corporate playful luxury tech nature. |
creativity | number | 0.5 | 0–1. Beeinflusst die LLM-Temperatur + wie mutig das Design ausfällt. |
strictScannability | boolean | true | Wenn an, korrigiert die Engine jedes Scanbarkeitsproblem automatisch. Wenn aus, warnt sie nur. |
logoUrl | string | — | Wird mittig eingebettet, Module darunter freigeräumt, ECC auf H erhöht. |
logoBase64 | string | — | Wie oben, aber als Inline-base64. |
backgroundImageUrl | string | — | Dezentes Hintergrundbild (hinter dem QR-Code eingeblendet). |
centerText | object | — | { text, color?, backgroundColor?, fontSize? }. Banner quer über den QR-Code. |
ctaText | string | — | Bildunterschrift darunter. |
fileFormat | string | png | png jpg svg pdf webp. |
outputWidth | number | 800 | Pixel. |
responseType | string | base64 | base64 oder binary. |
Der Marketplace-Endpunkt verlangt zusätzlich:
| Feld | Typ | Hinweise |
|---|---|---|
llmProvider | string | openai anthropic google mistral cohere groq xai deepseek qwen local |
llmApiKey | string | Dein Anbieter-Schlüssel |
llmModel | string | Optional – Standard ist das Standardmodell des Anbieters (siehe /api/qr/ai/providers); jede Modell-ID des Anbieters wird akzeptiert |
Antwort
{
"success": true,
"qrBase64": "iVBORw0KGgo…",
"format": "png",
"contentType": "image/png",
"sizeBytes": 38291,
"generatedConfig": { "moduleShape": "diamond", "finderOuterShape": "octagon", "...": "..." },
"aiExplanation": "Diamond modules and octagonal finders for the geometric art deco feel; gold-on-ivory keeps contrast at 6.4:1.",
"llmProviderUsed": "openai",
"llmModelUsed": "gpt-6-luna"
}
generatedConfig ist die vollständige QrConfig, die die KI erzeugt hat – praktisch, wenn du diese Konfiguration in den manuellen Modus übernehmen und von Hand nachjustieren willst.
Siehe auch
- POST /api/qr/generate – der Render-Endpunkt darunter
- QrConfig-Referenz – vollständige Liste der Parameter, aus denen die KI wählen darf