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
| Campo | Tipo | Padrão | Observações |
|---|---|---|---|
content | string | obrigatório | O que codificar (URL / texto). |
prompt | string | obrigatório | Descrição em linguagem natural, ≤ 10000 caracteres. |
stylePreset | string | luxury | Um de minimal artistic corporate playful luxury tech nature. |
creativity | number | 0.5 | 0–1. Afeta a temperatura do LLM e a ousadia das escolhas de design. |
strictScannability | boolean | true | Ativado, o motor corrige automaticamente qualquer problema de legibilidade. Desativado, apenas avisa. |
logoUrl | string | — | Inserido no centro, com os módulos de baixo liberados e o ECC elevado para H. |
logoBase64 | string | — | Igual ao anterior, mas em base64 embutido. |
backgroundImageUrl | string | — | Imagem de fundo suave (mesclada atrás do QR). |
centerText | object | — | { text, color?, backgroundColor?, fontSize? }. Faixa atravessando o QR. |
ctaText | string | — | Legenda abaixo. |
fileFormat | string | png | png jpg svg pdf webp. |
outputWidth | number | 800 | Pixels. |
responseType | string | base64 | base64 ou binary. |
O endpoint do marketplace também exige:
| Campo | Tipo | Observações |
|---|---|---|
llmProvider | string | openai anthropic google mistral cohere groq xai deepseek qwen local |
llmApiKey | string | A chave do seu provedor |
llmModel | string | Opcional — 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
- POST /api/qr/generate — o endpoint de renderização por baixo
- Referência de QrConfig — a lista completa de parâmetros que a IA pode escolher