Pular para o conteúdo

POST /api/qr/ai/generate

O mesmo renderizador de /api/qr/generate, mas você descreve o que quer em uma frase e o motor escolhe as formas, as cores e os olhos dos marcadores.

Há três variantes do endpoint de IA — escolha a que corresponde à sua autenticação.

Marketplace — traga a sua própria chave de 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"
  }'

Você fornece as credenciais do LLM. O motor valida a configuração resultante, aplica a garantia de leitura e renderiza o QR.

Marketplace — IA gerenciada, sem chave de 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"
  }'

Não é preciso llmProvider / llmApiKey. O servidor usa os seus próprios modelos, com uma cadeia de reserva Groq → Gemini → OpenAI. A resposta inclui "managed": true e a chamada conta para a cota de IA gerenciada do seu plano.

Consumidor — chave de LLM do 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
  }'

Não é preciso llmProvider / llmApiKey. O servidor tenta Groq (gpt-oss-120b e depois gpt-oss-20b) → OpenAI → Gemini, nessa ordem. Um crédito de IA é descontado do seu saldo quando dá certo; se falhar, nenhum crédito é consumido.

Exemplos de código

Corpo da requisição

CampoTipoPadrãoObservações
contentstringobrigatórioO que codificar (URL / texto).
promptstringobrigatórioDescrição em linguagem natural, ≤ 10000 caracteres.
stylePresetstringluxuryUm de minimal artistic corporate playful luxury tech nature.
creativitynumber0.50–1. Afeta a temperatura do LLM e a ousadia das escolhas de design.
strictScannabilitybooleantrueAtivado, o motor corrige automaticamente qualquer problema de legibilidade. Desativado, apenas avisa.
logoUrlstring—Inserido no centro, com os módulos de baixo liberados e o ECC elevado para H.
logoBase64string—Igual ao anterior, mas em base64 embutido.
backgroundImageUrlstring—Imagem de fundo suave (mesclada atrás do QR).
centerTextobject—{ text, color?, backgroundColor?, fontSize? }. Faixa atravessando o QR.
ctaTextstring—Legenda abaixo.
fileFormatstringpngpng jpg svg pdf webp.
outputWidthnumber800Pixels.
responseTypestringbase64base64 ou binary.

O endpoint do marketplace também exige:

CampoTipoObservações
llmProviderstringopenai anthropic google mistral cohere groq xai deepseek qwen local
llmApiKeystringA chave do seu provedor
llmModelstringOpcional — por padrão, o modelo padrão do provedor (veja /api/qr/ai/providers); qualquer ID de modelo oferecido pelo provedor é aceito

Resposta

{
  "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 é o QrConfig completo que a IA produziu — útil se você quiser levar essa configuração para o Modo manual e ajustá-la à mão.

Veja também