Перейти к содержимому
Инструменты

Цена gpt-image-2: как платить меньше за размер

Цена gpt-image-2: как платить меньше за размер

Цена gpt-image-2 устроена так, что картинка 1024×1536 обходится дешевле, чем 1024×1024, хотя пикселей в ней в полтора раза больше. Это не опечатка в прайсе, а свойство формулы, по которой OpenAI считает выходные токены.

Разница по официальной таблице: на quality medium квадрат стоит 0,053 доллара, портрет и ландшафт — 0,041. На high — 0,211 против 0,165. То есть примерно на 22% дешевле за картинку большего размера, и всё, что нужно сделать, — поменять одну строку в запросе.

Почему картинка большего размера стоит меньше

Документация подтверждает это прямым текстом: «A larger non-square resolution can sometimes produce fewer output tokens than a smaller or square resolution at the same quality setting». Причина в том, что стоимость складывается не только из площади. В расчёт входит ещё и соотношение сторон, причём целыми ступенями.

Официальной формулы OpenAI не публиковала — есть только калькулятор в разделе Cost and latency. Разработчик _j на форуме OpenAI восстановил алгоритм по поведению API: качеству соответствует целочисленный коэффициент (16 для low, 48 для medium, 96 для high), короткая сторона получает этот коэффициент, уменьшенный пропорционально отношению сторон и округлённый до целого, а площадь входит с фиксированным смещением в два миллиона пикселей. Это реконструкция, а не документ вендора, но она объясняет наблюдаемую пилу: при росте ширины токены плавно ползут вверх, а на границе ступени падают скачком.

Практический смысл один: не считайте стоимость на глаз по площади. Считайте калькулятором и сравнивайте соседние размеры — пара шагов по 16 пикселей в сторону может увести вас в более дешёвую полосу.

Что стоит одна генерация и где апгрейд оказывается дороже

Ставки: 30 долларов за миллион выходных токенов изображения, 5 долларов за миллион входных текстовых токенов, 8 долларов за миллион входных токенов изображений (2 доллара за кэшированные). За картинку это выглядит так.

gpt-image-2, квадрат 1024×1024: low — 0,006, medium — 0,053, high — 0,211 доллара. Портрет 1024×1536 и ландшафт 1536×1024: low — 0,005, medium — 0,041, high — 0,165.

А теперь то, о чём гайд OpenAI по промптингу умалчивает, рекомендуя gpt-image-2 «по умолчанию для большинства производственных процессов». На квадратных картинках апгрейд дорожает. У gpt-image-1.5 квадрат на medium стоит 0,034 доллара против 0,053 у gpt-image-2 — это плюс 56%. На high: 0,133 против 0,211, плюс 59%. На портрете картина обратная: 0,2 у версии 1.5 против 0,165 у второй, минус 17%. Вывод не «не переходите», а «посчитайте на своей раскладке размеров, прежде чем менять модель в проде».

Отдельно про gpt-image-1-mini. Кукбук пишет, что quality low на gpt-image-2 работает не хуже мини, и прайс это подтверждает: 0,005 доллара за портрет на low против 0,006 у мини. Мини остаётся дешевле только на medium и high, где картинка и так черновая. Держать ради этого вторую модель в коде обычно не окупается.

Какие размеры принимает модель и где документация сама себе противоречит

Правила для параметра size: обе стороны кратны 16, соотношение длинной и короткой стороны не больше 3:1, общее число пикселей от 655 360 до 8 294 400. Всё, что выше 2560×1440, OpenAI называет экспериментальным.

А вот с верхней границей разнобой. Кукбук по промптингу требует, чтобы максимальная сторона была меньше 3840 пикселей, и советует округлять 4K вниз до 3824×2144. Справочник API в том же домене пишет иначе: «the maximum supported resolution is 3840x2160». Причём 3840×2160 — это ровно 8 294 400 пикселей, то есть точно верхняя граница бюджета. Кто прав, по документам не определить. Если вам нужен 4K, дешевле один раз отправить пробный запрос, чем спорить с гайдом.

Как понять, что вы переплачиваете за генерацию

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

  • Везде стоит size="1024x1024", хотя финальный ассет всё равно кадрируется в вертикаль или горизонталь. Квадрат — самый дорогой из трёх стандартных размеров.
  • Везде стоит quality="high". Разница с medium на 1024×1536 — четырёхкратная: 0,165 против 0,041 доллара. High оправдан для мелкого текста, легенд и осей, а не для фонов и превью.
  • Включён стриминг с partial_images. Каждое промежуточное изображение добавляет 100 выходных токенов, и на трёх партиалах это лишние 300 токенов к каждой генерации.
  • Вы массово редактируете картинки и не смотрите на входные токены. gpt-image-2 всегда обрабатывает входные изображения в высокой точности, поэтому запросы к images.edit с референсами едят заметно больше входа, чем генерация с нуля.
  • Размер подобран «на глаз» и не проверен на соседних значениях, кратных 16.
  • Вы упёрлись в скорость, а не в деньги: лимиты изображений в минуту жёсткие — 5 на первом тарифном уровне, 20 на втором, 50 на третьем, 150 на четвёртом и 250 на пятом.

Что сделать сейчас

  • Выпишите, какие размеры и качество реально используются в вашем коде, и сверьте с прайсом: квадрат меняется на портрет или ландшафт там, где кадр это допускает.
  • Разделите задачи по качеству: черновики и превью — low, основной поток — medium, high оставьте только для картинок с мелким текстом и диаграммами.
  • Проверьте, не включены ли партиалы там, где интерактивность не нужна.
  • Померяйте реальный расход входных токенов на редактировании: если референсов много, это может оказаться дороже самой генерации.
  • Перед сменой модели посчитайте свой набор размеров на обеих: на квадратах gpt-image-2 дороже, чем gpt-image-1.5.

Если вы как раз собираете конвейер ассетов, посмотрите заодно, как работает прозрачный фон в gpt-image-2 — в примерах OpenAI он идёт вместе с самым дорогим режимом качества. А сократить число повторных генераций проще всего через шаблоны промптов для gpt-image-2: каждая лишняя попытка стоит ровно столько же, сколько удачная.

Источники