Перейти до вмісту

POST /api/qr/ai/generate

Той самий рендерер, що й /api/qr/generate, але ви описуєте бажаний результат одним реченням, а рушій добирає форми, кольори й «очі» маркерів.

Ендпоінт ШІ має три варіанти — виберіть той, що відповідає вашому способу автентифікації.

Маркетплейс — власний ключ 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"
  }'

Облікові дані LLM надаєте ви. Рушій перевіряє отриману конфігурацію, застосовує гарантію сканування та рендерить QR.

Маркетплейс — кероване ШІ, без ключа 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"
  }'

llmProvider / llmApiKey не потрібні. Сервер використовує власні моделі із запасним ланцюжком Groq → Gemini → OpenAI. Відповідь містить "managed": true, а виклик враховується в квоті керованого ШІ вашого плану.

Споживчий — серверний ключ LLM

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

llmProvider / llmApiKey не потрібні. Сервер по черзі пробує Groq (gpt-oss-120b, потім gpt-oss-20b) → OpenAI → Gemini. У разі успіху з вашого балансу списується один кредит ШІ; у разі невдачі кредит не витрачається.

Приклади коду

Тіло запиту

ПолеТипЗа замовчуваннямПримітки
contentstringобов’язковеЩо кодувати (URL / текст).
promptstringобов’язковеОпис звичайною мовою, ≤ 10000 символів.
stylePresetstringluxuryОдне з minimal artistic corporate playful luxury tech nature.
creativitynumber0.50–1. Впливає на temperature LLM і сміливість дизайнерських рішень.
strictScannabilitybooleantrueЯкщо увімкнено, рушій автоматично виправляє будь-які проблеми зі зчитуваністю. Якщо вимкнено — лише попереджає.
logoUrlstring—Вбудовується в центр, модулі під ним прибираються, ECC підвищується до H.
logoBase64string—Те саме, але вбудованим base64.
backgroundImageUrlstring—М’яке фонове зображення (змішується позаду QR).
centerTextobject—{ text, color?, backgroundColor?, fontSize? }. Банер поперек QR.
ctaTextstring—Підпис знизу.
fileFormatstringpngpng jpg svg pdf webp.
outputWidthnumber800Пікселі.
responseTypestringbase64base64 або binary.

Ендпоінт маркетплейсу додатково вимагає:

ПолеТипПримітки
llmProviderstringopenai anthropic google mistral cohere groq xai deepseek qwen local
llmApiKeystringКлюч вашого провайдера
llmModelstringНеобов’язкове — якщо не вказано, використовується модель провайдера за замовчуванням (див. /api/qr/ai/providers); приймається будь-який ID моделі, який пропонує провайдер

Відповідь

{
  "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 — це повний QrConfig, який створив ШІ. Корисно, якщо ви хочете перенести цю конфігурацію в ручний режим і доопрацювати вручну.

Див. також