Vai al contenuto

POST /api/qr/ai/generate

Stesso renderer di /api/qr/generate, ma descrivi ciò che vuoi con una frase e il motore sceglie forme, colori e occhi dei marcatori.

L'endpoint IA ha tre varianti: scegli quella che corrisponde alla tua autenticazione.

Marketplace: usi la tua chiave 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"
  }'

Le credenziali LLM le fornisci tu. Il motore convalida la configurazione risultante, applica la garanzia di scansione e genera il QR.

Marketplace: IA gestita, senza chiave 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"
  }'

Non servono llmProvider / llmApiKey. Il server usa i propri modelli con una catena di riserva Groq → Gemini → OpenAI. La risposta include "managed": true e la chiamata conta per la quota di IA gestita del tuo piano.

Consumer: chiave LLM lato server

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

Non servono llmProvider / llmApiKey. Il server prova nell'ordine Groq (gpt-oss-120b, poi gpt-oss-20b) → OpenAI → Gemini. In caso di successo viene scalato un credito IA dal tuo saldo; in caso di errore non si consuma nessun credito.

Esempi di codice

Corpo della richiesta

CampoTipoPredefinitoNote
contentstringobbligatorioCosa codificare (URL / testo).
promptstringobbligatorioDescrizione in linguaggio naturale, ≤ 10000 caratteri.
stylePresetstringluxuryUno tra minimal artistic corporate playful luxury tech nature.
creativitynumber0.50–1. Influisce sulla temperatura dell'LLM e sull'audacia delle scelte di design.
strictScannabilitybooleantrueSe attivo, il motore corregge in automatico qualsiasi problema di scansionabilità. Se disattivo, mostra un avviso.
logoUrlstring—Inserito al centro, moduli sottostanti liberati, ECC alzato a H.
logoBase64string—Come sopra, ma in base64 inline.
backgroundImageUrlstring—Immagine di sfondo tenue (fusa dietro il QR).
centerTextobject—{ text, color?, backgroundColor?, fontSize? }. Banner che attraversa il QR.
ctaTextstring—Didascalia sotto.
fileFormatstringpngpng jpg svg pdf webp.
outputWidthnumber800Pixel.
responseTypestringbase64base64 o binary.

L'endpoint marketplace richiede inoltre:

CampoTipoNote
llmProviderstringopenai anthropic google mistral cohere groq xai deepseek qwen local
llmApiKeystringLa chiave del tuo provider
llmModelstringFacoltativo: per impostazione predefinita, il modello predefinito del provider (vedi /api/qr/ai/providers); è accettato qualsiasi ID di modello offerto dal provider

Risposta

{
  "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 è il QrConfig completo prodotto dall'IA: utile se vuoi portare quella configurazione nella Modalità manuale e ritoccarla a mano.

Vedi anche