---
title: Batch API генерации изображений: контроль бюджета
description: "Пакетная генерация GPT Image: надёжная очередь, ограниченный параллелизм, измерение затрат и лимиты ключа."
url: https://apitoken.sale/ru/docs/learn/batch-image-generation-api
language: ru
---

# Batch pipeline генерации изображений, который не выйдет за бюджет

Запускайте GPT Image 2, Flare или Sunburst через свою очередь задач. Задайте n=1, ограничьте число воркеров и попыток, сверяйте usage перед повтором запроса с неизвестным результатом.

## Очередь с одним изображением на задачу

GPT Image 2, GPT Image 2.5 Flare и GPT Image 2.5 Sunburst используют одни маршруты OpenAI Images, ключ и предоплаченный баланс. Flare подходит для быстрой повседневной работы, Sunburst — для более точного редактирования. Сравнивайте модели по результатам, которые прошли вашу проверку. У всех трёх одинаковые опубликованные ставки за токены.

Используйте n=1 для каждой задачи очереди, чтобы отслеживать изображение и его стоимость. Images принимает n=1..10 и выполняет последовательные нативные вызовы; это не асинхронный batch-сервис. Порядок очереди, параллелизм, повторы и бюджет контролирует ваше приложение.

## Один durable job на ассет, а не на prompt

1. Создайте stable asset ID и immutable brief — prompt, references, protected traits — до того, как что-либо попадёт в queue.
2. Зафиксируйте в job payload model, protocol, output size и maximum attempts, чтобы retry воспроизводил то же решение, а не принимал новое.
3. Дайте каждому worker ограниченный срез queue и резервируйте один provider request на один candidate; не просите модель о внутреннем batch.
4. Атомарно сохраняйте request ID, terminal usage, output checksum и validation verdict вместе с версией ассета.
5. Завершайте job только после того, как storage и downstream publication подтвердили одну и ту же версию ассета.

## Бюджет по измеренному расходу токенов

| Расход за 1 млн токенов | Официально | Обычный B2C · скидка 50% |
| --- | --- | --- |
| Входной текст | $5 | $2.50 |
| Кешированный текст | $1.25 | $0.625 |
| Входные изображения | $8 | $4 |
| Кешированные изображения | $2 | $1 |
| Выходные изображения | $30 | $15 |

Например, редактирование с 900 свежими текстовыми входными токенами, 1 200 входными токенами изображения и 4 000 выходными токенами изображения стоит $0.1341 официально, или $0.06705 для обычного B2C. Число токенов в примере не гарантируется для каждой картинки. Для своих расчётов используйте итоговый usage и списание по соответствующему запросу.

Для каталога или пакетной обработки разделите все списания на число принятых изображений. Включайте оплаченные результаты, которые не прошли проверку. У GPT Image нет бесплатного countTokens: измерьте небольшую оплачиваемую выборку и задайте лимит расхода до запуска очереди.

## Ограничьте каждый множитель, а не только цену

| Множитель | Guardrail |
| --- | --- |
| Assets | Явная queue length и campaign budget |
| Variants | Maximum candidates per asset |
| Retries | Только proven not-started; total deadline |
| Resolution | Проверяйте размеры результата; size задаёт пропорции |
| References | Только нужные brief файлы |
| Concurrency | Небольшой worker ceiling с 429 cooling |

> Lifetime spending limit ключа — последняя денежная граница, если откажут все application-level guardrails. Ставьте его равным бюджету кампании плюс измеренный запас, а не балансу аккаунта.

## Правила retry, cooling и observability

- Никогда не делайте retry после доставки image bytes или complete provider response — такой retry оплачивает второй candidate, а не восстановление.
- Ambiguous timeout — это reconciliation: сверьте request ID с charge в дашборде, прежде чем решить, что billable generation не было.
- На 429 соблюдайте Retry-After, provider cooling и jitter в пределах total deadline; немедленный fan-out усиливает capacity event.
- Считайте attempts, accepted assets, settled nanoUSD и причины validation failures; не допускайте prompts и keys в metrics.
- Алертьте на cost per accepted asset и failure share, а не только на HTTP success rate — полностью зелёный batch может оказаться дорогим.

> Settled cost per accepted asset — реальная unit economics batch: она складывает token price, resolution, retries и quality rejects в единственное число, которое бизнес действительно покупает.

## Изолируйте batch lane отдельным ключом и бюджетом

Запускайте batch worker на dedicated key с lifetime spending limit и expiration date: тогда баг в queue потратит максимум бюджет кампании, но не аккаунт. Prepaid balance не сгорает, а подписки, которую нужно подбирать по объёму, нет.

- Один ключ на workload: batch generation никогда не делит ключ с interactive или editing трафиком.
- Сверяйте каждый settled charge с его request ID до закрытия кампании.
- Перепроверяйте lifetime spending limit перед каждой новой кампанией, а не один раз при настройке.

[Prepaid-тарифы без сгорания: вносите ровно бюджет кампании](/plans)

## Частые вопросы

### Можно ли создать всю партию одним запросом?

Images принимает n=1..10 и выполняет последовательные нативные вызовы. Для больших партий используйте n=1 на задачу очереди и контролируйте параллелизм и бюджет в приложении. Асинхронного batch-маршрута Images нет.

### Как остановить runaway image batch?

Скомбинируйте dedicated key с lifetime spending limit, явную queue length, bounded workers, per-asset maximum attempts и total campaign budget. Каждый слой отказывает независимо, а key-level limit — граница, которая держится, даже если все остальные сломались.

### Нужно ли немедленно retry 429?

Нет. Соблюдайте Retry-After и provider cooling, добавляйте jitter и держите total deadline на job. Немедленный fan-out во время capacity event превращает замедление в outage, который вы сами оплатили.

### Хранить base64 payload или URL?

Ответ API — это транспорт, а не хранилище. Декодируйте base64 один раз, посчитайте checksum и сохраните байты в собственном object storage, затем публикуйте оптимизированные WebP/AVIF derivatives; сырый payload API нельзя отдавать как storefront asset.

### Скидка 50% действует на каждый call в batch?

Для обычных B2C — да, на official usage каждого admitted call, generation или edit. У B2B действует согласованная политика, а OpenKeys тарифицируются 1:1 по официальной цене. Скидка никогда не доказывает, что модель сейчас доступна конкретному ключу.

---
Get a key: https://apitoken.sale/register
More guides: https://apitoken.sale/ru/docs/learn
