Разработчикам

API Genlaxy

Все модели каталога прямо из вашего кода. Один ключ, один баланс, те же цены, что и в студии.

1 · Авторизация

Создайте ключ в разделе Настройки, API-ключи. Передавайте его в каждом запросе как Bearer-токен. Ключи начинаются с gl_live_ и работают только на Genlaxy; храните их на своём сервере, а не в браузере или приложении.

curl
curl https://genlaxy.ai/api/v1/api/catalog/me \
  -H 'Authorization: Bearer gl_live_...'

2 · Выберите модель

Выберите модель, чтобы увидеть готовый запрос, собранный из её собственных полей. Обязательные поля заполнены, все необязательные настройки берут значения модели по умолчанию.

Выбранная модельkwaivgi/kling-image-o3/edit
Страница модели →
Поля
ИмяТипОбязательноеПо умолчанию
prompttextда-
imagesurl (image)да-
aspect_ratioauto | 16:9 | 9:16 | 1:1 | 4:3 | 3:4 | ...нетauto
resolution1k | 2k | 4kнет1k
num_imagesnumberнет1
output_formatpng | jpeg | webpнетpng

3 · Запустите генерацию

Один вызов рассчитывает цену именно ваших входных данных и списывает её с баланса. Ответ приходит сразу со статусом queued, а генерация идёт в фоне. Передавайте заголовок Idempotency-Key, чтобы повторный запрос никогда не списал деньги дважды.

curl
curl -X POST https://genlaxy.ai/api/v1/api/catalog/generations \
  -H 'Authorization: Bearer gl_live_...' \
  -H 'Content-Type: application/json' \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "modelId": "kwaivgi/kling-image-o3/edit",
  "inputs": {
    "prompt": "a lighthouse on a cliff at dusk, soft light",
    "images": [
      "https://example.com/input.png"
    ]
  }
}'

Сначала узнайте цену (необязательно)

Те же входные данные, оценённые без запуска генерации. Ответ в центах.

curl
curl -X POST https://genlaxy.ai/api/v1/api/catalog/quote \
  -H 'Authorization: Bearer gl_live_...' \
  -H 'Content-Type: application/json' \
  -d '{"modelId":"kwaivgi/kling-image-o3/edit","inputs":{"prompt":"a lighthouse on a cliff at dusk, soft light","images":["https://example.com/input.png"]}}'

4 · Опрос и загрузка

Запрашивайте генерацию каждые несколько секунд, пока статус не станет succeeded, failed или refunded. При успехе скачайте файл по contentUrl тем же ключом. Текстовая модель вместо этого возвращает ответ в textOutput.

curl
curl https://genlaxy.ai/api/v1/api/catalog/generations/GENERATION_ID \
  -H 'Authorization: Bearer gl_live_...'
curl
curl https://genlaxy.ai/api/v1/api/catalog/generations/GENERATION_ID/content \
  -H 'Authorization: Bearer gl_live_...' \
  -o result.png

Эндпоинты

Базовый URL: https://genlaxy.ai/api/v1/api/catalog

GET/meВаш ключ и баланс
GET/modelsВсе модели
GET/models/detail?id=MODEL_IDОдна модель и её поля
POST/quoteЦена для конкретных входных данных
POST/generationsЗапустить генерацию
GET/generationsВаши последние генерации
GET/generations/IDСтатус одной генерации
GET/generations/ID/contentФайл результата
DELETE/generations/IDУдалить генерацию

Цены и баланс

Генерации через API используют тот же баланс, что и студия, и стоят столько же. Все суммы в API указаны в евроцентах: costCents показывает, сколько списано за генерацию, balanceCents показывает остаток.

Ошибки и лимиты

Ошибки возвращаются в JSON с кодом и сообщением. 401: ключ не передан, неверен или отозван. 400: недопустимое поле (оно указано в деталях). 402: недостаточно средств на балансе. 409 API_KEY_DAILY_CAP: достигнут дневной лимит этого ключа. 429: слишком много запросов, снизьте частоту. Неудачная генерация возвращается на баланс автоматически.