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
| Champ | Type | Défaut | Remarques |
|---|---|---|---|
content | string | obligatoire | Ce qu'il faut encoder (URL / texte). |
prompt | string | obligatoire | Description en langage courant, ≤ 10000 caractères. |
stylePreset | string | luxury | L'une des valeurs minimal artistic corporate playful luxury tech nature. |
creativity | number | 0.5 | 0–1. Influe sur la température du LLM et l'audace des choix de design. |
strictScannability | boolean | true | Activé, le moteur corrige automatiquement tout problème de lisibilité. Désactivé, il avertit. |
logoUrl | string | — | Intégré au centre, modules dégagés en dessous, ECC relevé à H. |
logoBase64 | string | — | Comme ci-dessus, mais en base64 dans la requête. |
backgroundImageUrl | string | — | Image de fond discrète (fondue derrière le QR). |
centerText | object | — | { text, color?, backgroundColor?, fontSize? }. Bandeau en travers du QR. |
ctaText | string | — | Légende en dessous. |
fileFormat | string | png | png jpg svg pdf webp. |
outputWidth | number | 800 | Pixels. |
responseType | string | base64 | base64 ou binary. |
L'endpoint de la marketplace exige en plus :
| Champ | Type | Remarques |
|---|---|---|
llmProvider | string | openai anthropic google mistral cohere groq xai deepseek qwen local |
llmApiKey | string | Votre clé de fournisseur |
llmModel | string | Facultatif : 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
- POST /api/qr/generate : l'endpoint de rendu sous-jacent
- Référence QrConfig : liste complète des paramètres parmi lesquels l'IA peut choisir