Aller au contenu

POST /api/qr/ai/generate

Même moteur de rendu que /api/qr/generate, mais vous décrivez ce que vous voulez en une phrase et le moteur choisit les formes, les couleurs et les yeux des marqueurs.

L'endpoint IA existe en trois variantes : choisissez celle qui correspond à votre authentification.

Marketplace : vous apportez votre propre clé LLM

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"
  }'

Vous fournissez les identifiants du LLM. Le moteur valide la configuration obtenue, applique la garantie de scan et fait le rendu du QR.

Marketplace : IA gérée, sans clé LLM

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"
  }'

Ni llmProvider ni llmApiKey ne sont nécessaires. Le serveur utilise ses propres modèles avec une chaîne de repli Groq → Gemini → OpenAI. La réponse contient "managed": true et l'appel compte dans le quota d'IA gérée de votre offre.

Grand public : clé LLM côté serveur

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
  }'

Ni llmProvider ni llmApiKey ne sont nécessaires. Le serveur essaie Groq (gpt-oss-120b, puis gpt-oss-20b) → OpenAI → Gemini, dans cet ordre. Un crédit IA est déduit de votre solde en cas de succès ; en cas d'échec, aucun crédit n'est consommé.

Exemples de code

Corps de la requête

ChampTypeDéfautRemarques
contentstringobligatoireCe qu'il faut encoder (URL / texte).
promptstringobligatoireDescription en langage courant, ≤ 10000 caractères.
stylePresetstringluxuryL'une des valeurs minimal artistic corporate playful luxury tech nature.
creativitynumber0.50–1. Influe sur la température du LLM et l'audace des choix de design.
strictScannabilitybooleantrueActivé, le moteur corrige automatiquement tout problème de lisibilité. Désactivé, il avertit.
logoUrlstring—Intégré au centre, modules dégagés en dessous, ECC relevé à H.
logoBase64string—Comme ci-dessus, mais en base64 dans la requête.
backgroundImageUrlstring—Image de fond discrète (fondue derrière le QR).
centerTextobject—{ text, color?, backgroundColor?, fontSize? }. Bandeau en travers du QR.
ctaTextstring—Légende en dessous.
fileFormatstringpngpng jpg svg pdf webp.
outputWidthnumber800Pixels.
responseTypestringbase64base64 ou binary.

L'endpoint de la marketplace exige en plus :

ChampTypeRemarques
llmProviderstringopenai anthropic google mistral cohere groq xai deepseek qwen local
llmApiKeystringVotre clé de fournisseur
llmModelstringFacultatif : par défaut, le modèle par défaut du fournisseur (voir /api/qr/ai/providers) ; tout identifiant de modèle proposé par le fournisseur est accepté

Réponse

{
  "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 est le QrConfig complet produit par l'IA : pratique si vous voulez reprendre cette configuration en mode manuel pour l'ajuster à la main.

Voir aussi