Saltar al contenido

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

CampoTipoPor defectoNotas
contentstringobligatorioLo que se codifica (URL o texto).
promptstringobligatorioDescripción en lenguaje natural, ≤ 10000 caracteres.
stylePresetstringluxuryUno de minimal artistic corporate playful luxury tech nature.
creativitynumber0.50–1. Afecta a la temperatura del LLM y a lo atrevidas que son las decisiones de diseño.
strictScannabilitybooleantrueActivado, el motor corrige automáticamente cualquier problema de escaneo. Desactivado, solo avisa.
logoUrlstring—Se incrusta en el centro, se vacían los módulos de debajo y la ECC sube a H.
logoBase64string—Igual que el anterior, pero en base64 en línea.
backgroundImageUrlstring—Imagen de fondo suave (fundida detrás del QR).
centerTextobject—{ text, color?, backgroundColor?, fontSize? }. Banda de texto sobre el QR.
ctaTextstring—Texto al pie.
fileFormatstringpngpng jpg svg pdf webp.
outputWidthnumber800Píxeles.
responseTypestringbase64base64 o binary.

El endpoint de Marketplace exige además:

CampoTipoNotas
llmProviderstringopenai anthropic google mistral cohere groq xai deepseek qwen local
llmApiKeystringTu clave del proveedor
llmModelstringOpcional; 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