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

API Genlaxy

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

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

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

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

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

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

Выбранная модельgoogle/gemini-omni-1.1-flash/image-to-video
Страница модели →
Поля
ИмяТипОбязательноеПо умолчанию
imageurl (image)да-
last_imageurl (image)нет-
prompttextда-
aspect_ratio16:9 | 9:16нет16:9
resolution360p | 720p | 1080p | 4kнет720p
duration3 | 4 | 5 | 6 | 7 | 8 | ...нет8

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": "google/gemini-omni-1.1-flash/image-to-video",
  "inputs": {
    "image": "https://example.com/input.png",
    "prompt": "a lighthouse on a cliff at dusk, soft light"
  }
}'

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

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

curl
curl -X POST https://genlaxy.ai/api/v1/api/catalog/quote \
  -H 'Authorization: Bearer gl_live_...' \
  -H 'Content-Type: application/json' \
  -d '{"modelId":"google/gemini-omni-1.1-flash/image-to-video","inputs":{"image":"https://example.com/input.png","prompt":"a lighthouse on a cliff at dusk, soft light"}}'

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.mp4

Эндпоинты

Базовый 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: слишком много запросов, снизьте частоту. Неудачная генерация возвращается на баланс автоматически.