POST /api/qr/ai/generate
El mismo renderizador que /api/qr/generate, pero describes lo que quieres en una frase y el motor elige las formas, los colores y los ojos de los marcadores.
Hay tres variantes del endpoint de IA: elige la que corresponda a tu autenticación.
Marketplace: aportas tu propia clave del 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"
}'
Tú aportas las credenciales del LLM. El motor valida la configuración resultante, aplica la garantía de escaneo y renderiza el QR.
Marketplace: IA gestionada, sin clave del 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"
}'
No hacen falta llmProvider ni llmApiKey. El servidor usa sus propios modelos con una cadena de respaldo Groq → Gemini → OpenAI. La respuesta incluye "managed": true y la llamada cuenta para la cuota de IA gestionada de tu plan.
Consumidor: clave del LLM del servidor
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
}'
No hacen falta llmProvider ni llmApiKey. El servidor prueba, por este orden, Groq (gpt-oss-120b y después gpt-oss-20b) → OpenAI → Gemini. Si la generación sale bien, se descuenta un crédito de IA de tu saldo; si falla, no se consume ningún crédito.
Ejemplos de código
Cuerpo de la petición
| Campo | Tipo | Por defecto | Notas |
|---|---|---|---|
content | string | obligatorio | Lo que se codifica (URL o texto). |
prompt | string | obligatorio | Descripción en lenguaje natural, ≤ 10000 caracteres. |
stylePreset | string | luxury | Uno de minimal artistic corporate playful luxury tech nature. |
creativity | number | 0.5 | 0–1. Afecta a la temperatura del LLM y a lo atrevidas que son las decisiones de diseño. |
strictScannability | boolean | true | Activado, el motor corrige automáticamente cualquier problema de escaneo. Desactivado, solo avisa. |
logoUrl | string | — | Se incrusta en el centro, se vacían los módulos de debajo y la ECC sube a H. |
logoBase64 | string | — | Igual que el anterior, pero en base64 en línea. |
backgroundImageUrl | string | — | Imagen de fondo suave (fundida detrás del QR). |
centerText | object | — | { text, color?, backgroundColor?, fontSize? }. Banda de texto sobre el QR. |
ctaText | string | — | Texto al pie. |
fileFormat | string | png | png jpg svg pdf webp. |
outputWidth | number | 800 | Píxeles. |
responseType | string | base64 | base64 o binary. |
El endpoint de Marketplace exige además:
| Campo | Tipo | Notas |
|---|---|---|
llmProvider | string | openai anthropic google mistral cohere groq xai deepseek qwen local |
llmApiKey | string | Tu clave del proveedor |
llmModel | string | Opcional; por defecto, el modelo predeterminado del proveedor (consulta /api/qr/ai/providers); se acepta cualquier ID de modelo que ofrezca el proveedor |
Respuesta
{
"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 es el QrConfig completo que ha producido la IA: te sirve si quieres llevar esa configuración al modo manual y retocarla a mano.
Véase también
- POST /api/qr/generate: el endpoint de renderizado que hay debajo
- Referencia de QrConfig: la lista completa de parámetros entre los que puede elegir la IA