Zum Inhalt springen

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

FeldTypStandardHinweise
contentstringPflichtWas codiert wird (URL / Text).
promptstringPflichtBeschreibung in natürlicher Sprache, ≤ 10000 Zeichen.
stylePresetstringluxuryEines von minimal artistic corporate playful luxury tech nature.
creativitynumber0.50–1. Beeinflusst die LLM-Temperatur + wie mutig das Design ausfällt.
strictScannabilitybooleantrueWenn an, korrigiert die Engine jedes Scanbarkeitsproblem automatisch. Wenn aus, warnt sie nur.
logoUrlstring—Wird mittig eingebettet, Module darunter freigeräumt, ECC auf H erhöht.
logoBase64string—Wie oben, aber als Inline-base64.
backgroundImageUrlstring—Dezentes Hintergrundbild (hinter dem QR-Code eingeblendet).
centerTextobject—{ text, color?, backgroundColor?, fontSize? }. Banner quer über den QR-Code.
ctaTextstring—Bildunterschrift darunter.
fileFormatstringpngpng jpg svg pdf webp.
outputWidthnumber800Pixel.
responseTypestringbase64base64 oder binary.

Der Marketplace-Endpunkt verlangt zusätzlich:

FeldTypHinweise
llmProviderstringopenai anthropic google mistral cohere groq xai deepseek qwen local
llmApiKeystringDein Anbieter-Schlüssel
llmModelstringOptional – 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