Лимиты, очередь и цены

Лимиты запросов

Лимиты считаются скользящим окном в 60 секунд.

Что ограниченоЛимит
Все запросы с одного IP120 в минуту
Все запросы по ключу60 в минуту
Создание задач (включая dry_run)20 в минуту
Загрузка файлов20 в минуту, до 200 МБ в минуту

В каждом ответе есть заголовки X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset (секунд до сброса). При превышении — код 429 rate_limited и заголовок Retry-After: подождите указанное число секунд и повторите.

Очередь аккаунта

Сколько задач выполняется одновременно, определяет ваш тариф. Лимит общий для студии и API: если в студии идёт генерация, API использует оставшиеся слоты. Задачи сверх лимита не отклоняются, а ждут в очереди аккаунта со статусом pending и запускаются автоматически по мере освобождения слотов, в порядке создания.

ПараметрЗначение
Одновременных задачПо тарифу (см. GET /v1/account → plan.concurrency_limit)
Максимум задач в очереди аккаунта50 (ожидающие и выполняющиеся)
Максимальное ожидание в очереди1440 мин. — затем задача отменяется с полным возвратом

Для тяжёлых моделей (видео, собственные модели Нейроново) действует общий пул задач API на всю платформу. Если пул занят, задача тоже подождёт в статусе pending — это защищает скорость работы студии.

Цены и списание

  • Стоимость в Мыслях совпадает со студией. Актуальные цены — в GET /v1/models и на страницах моделей.
  • Мысли списываются при создании задачи. Поэтому в очередь нельзя поставить больше, чем позволяет баланс.
  • При ошибке генерации Мысли возвращаются автоматически по правилам возвратов сервиса. При отмене задачи из очереди возврат полный.
  • У ключа может быть дневной лимит трат — задачи сверх него получат 402 daily_limit_exceeded.

Идемпотентность

Передавайте заголовок Idempotency-Key (8–128 символов, например UUID) в запросах на создание задач. Если соединение оборвалось и вы повторили запрос с тем же ключом, API вернёт ту же задачу, а не создаст новую и не спишет Мысли дважды. Ключ действует 24 часа. Повтор с тем же ключом, но другим телом получит 409 idempotency_conflict.

Проверка без списания (dry_run)

Добавьте в тело "dry_run": true. API проверит параметры, наличие файлов, баланс, дневной лимит и очередь, вернёт стоимость и остаток баланса, но задачу не создаст и Мысли не спишет.

{
  "object": "dry_run",
  "valid": true,
  "type": "image",
  "model": "nanobanana-pro",
  "cost": { "credits": 20 },
  "balance": { "credits": 480, "after": 460 },
  "daily_limit": { "limit": 1000, "spent": 120, "remaining": 860 },
  "queue": { "pending": 0, "active": 1, "max": 50 },
  "input": { "resolution": "2K", "aspect_ratio": "16:9", "images": 0 }
}