Как считается цена генерации изображения

Изображение стоит фиксированно за штуку, а не за токены. Разбираем, откуда взять точную цену конкретной модели и как проверить, сколько списалось на самом деле.

4 мин · · Обновлено · изображения · оплата

Обновление, октябрь 2026. Генерация изображений через Zukko временно недоступна. Актуальный список моделей — страница «Модели» или GET https://api.zukko.pro/v1/models. Ближайшая замена: прямой замены среди доступных моделей нет; для анализа изображений (vision) подойдут модели Claude и GPT, например claude-sonnet-5 или gpt-5.6-sol.

Текстовые модели считают стоимость по токенам на входе и выходе, и итоговую цену запроса заранее оценить можно только приблизительно — она зависит от длины ответа, которую сложно предсказать до генерации. Изображения устроены иначе: в каталоге моделей у них стоит kind=image, и это означает отдельную схему тарификации — фиксированная цена за готовую картинку, а не по токенам и не по длине prompt.

Почему это удобнее для планирования бюджета

Если заранее известно, сколько изображений нужно сгенерировать, итоговую стоимость можно посчитать точно, а не оценочно. Длинный подробный prompt стоит ровно столько же, сколько короткий — цена определяется исключительно выбранной моделью, а не объёмом текста в запросе. Это отличается от текстовых моделей, где расход растёт вместе с длиной диалога и объёмом сгенерированного ответа.

Где смотреть актуальную цену

Каталог моделей развивается, и цены меняются вместе с ним. Хардкодить конкретную цифру в коде или держать её в старой заметке — плохая идея: со временем она разойдётся с реальностью. Правильный источник — расширенный список моделей:

bash
curl https://api.zukko.pro/v1/models/info

Этот эндпоинт отдаёт не только идентификаторы моделей, но и лимиты с ценами, и не требует ключа — можно свериться с ним в любой момент, не тратя баланс. Обычный GET /v1/models без ключа тоже доступен, но для точной цены нужен именно /v1/models/info — базовый список ограничивается перечнем доступных моделей.

Разные модели каталога стоят по-разному в силу разных архитектур и качества: линейка nano-banana-2-* (базовая, developer- и lite-версии, edit, reference-to-image) и линейка openai-gpt-image-2 / openai-gpt-image-1.5 (text-to-image и edit) — это разные модели с разной ценой, а не варианты одной. Сравнение стоит делать по актуальной выдаче /v1/models/info, а не по предположению, что модели с похожим названием стоят одинаково.

Как узнать, сколько списалось за конкретный запрос

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

bash
curl -i https://api.zukko.pro/v1/images/generations \
  -H "Authorization: Bearer fetch_ваш_ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano-banana-2-text-to-image",
    "prompt": "город на закате, акварель"
  }'

В ответе будут заголовки X-Zukko-Cost-Micros — стоимость именно этого запроса в микродолларах (1 000 000 = $1) — и X-Fetch-Balance-Cents — остаток баланса на счёте после списания (несмотря на название, тоже в микродолларах; точный баланс в центах — GET /v1/balance). Если генераций много и нужен учёт расходов на своей стороне без похода в кабинет, логировать оба заголовка при каждом запросе — самый прямой способ.

Полная история списаний с курсорной пагинацией доступна отдельным эндпоинтом:

bash
curl https://api.zukko.pro/v1/usage \
  -H "Authorization: Bearer fetch_ваш_ключ"

Что происходит, если баланс не позволяет сгенерировать изображение

Баланс проверяется до обращения к модели, а не после. Если средств недостаточно даже для одной генерации по текущей цене модели, вернётся 402:

bash
{"error":{"message":"Недостаточно средств на балансе","code":"insufficient_balance"}}

Сама генерация в этом случае не запускается вообще, поэтому неудачный запрос не списывает ничего — можно спокойно пополнить баланс и повторить тот же вызов без риска, что часть средств уже потрачена впустую.

Кэш ответов сюда не относится

У шлюза есть кэш повторяющихся запросов — включается заголовком X-Zukko-Cache: true (или temperature: 0 для моделей, которые принимают это значение), для чата хранится до 7 суток и возвращает повтор с полностью совпадающим телом бесплатно. Кэш и Idempotency-Key работают только для POST /v1/chat/completions, /v1/messages и /v1/responses, поэтому для генерации изображений на них рассчитывать нельзя — повторный вызов /v1/images/generations с тем же prompt тарифицируется как отдельная генерация. Чтобы не платить дважды за один и тот же результат, сохраняйте готовые изображения на своей стороне и не перезапускайте уже выполненную задачу.

Разница между режимами не всегда очевидна

Одна и та же модель может стоить по-разному в зависимости не от режима как такового, а от конкретного идентификатора — например, обычная nano-banana-2-text-to-image и её developer- или lite-вариант в каталоге значатся отдельными позициями, и у каждой своя цена в /v1/models/info. Похожие имена не гарантируют похожую цену: суффикс в идентификаторе модели — это не косметическая деталь, а указание на отдельный тариф. Перед тем как закладывать конкретный вариант в продакшн-пайплайн, стоит свериться именно с его собственной строкой в каталоге, а не с ценой модели без суффикса.

Если нужно сравнить несколько моделей заранее

Для разовой прикидки не обязательно делать реальный платный запрос к каждой модели — достаточно один раз вытащить весь список цен из /v1/models/info и сравнить нужные идентификаторы между собой локально. Реальный тестовый запрос имеет смысл делать только для той модели, которая уже выбрана как основной кандидат, чтобы убедиться, что фактическое списание в X-Zukko-Cost-Micros совпадает с ожиданием из каталога.

Практический совет

Перед тем как закладывать генерацию изображений в бюджет проекта — например, при оценке стоимости обработки каталога из тысяч товарных карточек — стоит сгенерировать одно тестовое изображение нужной моделью, посмотреть точную сумму в X-Zukko-Cost-Micros и умножить на плановое количество, а не ориентироваться на приблизительную цифру из старой документации или чужой статьи, включая эту.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.