Skip to main content

Краткий ответ

Это нормально. Изображение 4K с качеством high по своей природе дорого обходится в GPT Image, и даже одно выходное изображение может потреблять большое количество output_tokens. Image output tokens не рассчитываются просто как «один выходной файл» или как фиксированное линейное соотношение от общего числа пикселей. На них в основном влияют:
  1. quality: low, medium, high, or auto
  2. Размеры выходного изображения и соотношение сторон
  3. Количество генераций n
  4. Внутреннее разбиение холста модели и сложность изображения
usage.output_tokens означает image tokens, использованные для генерации выходного изображения, а не входное изображение-референс. Изображения-референсы указываются отдельно в usage.input_tokens_details.image_tokens.

Почему одно изображение может использовать так много tokens?

«Одно изображение» описывает число возвращаемых результатов, а не объём работы по генерации. Модель должна сгенерировать весь холст в своём внутреннем пространстве представления изображений. Более высокое качество и большее разрешение обычно требуют больше вычислений для изображения и выходных tokens. Например, оба запроса возвращают одно изображение:
Второй запрос по-прежнему возвращает только одно изображение, но он использует 4K landscape canvas и high-quality tier. Ожидается гораздо больший счётчик output-token.

Четыре основных фактора стоимости

1. Параметр quality

quality обычно является самым заметным фактором стоимости:
С quality: "auto" или без явного quality модель может выбрать другой уровень на основе prompt. Поэтому вызовы с одинаковыми размерами и reference images могут различаться по output_tokens в несколько раз. Чтобы затраты были предсказуемыми, явно задайте low, medium или high.
В документации проекта приведён реальный пример: три запроса использовали по 1061 input token, а их output token составили 1286, 5146 и 1287. Средний вызов автоматически выбрал более высокий уровень качества и обошёлся примерно в 3,5 раза дороже, чем два других.

2. Размеры вывода

Более высокое разрешение обычно означает больший внутренний холст и больше output tokens. Запрос 4K high может стоить гораздо дороже, чем запрос 1K low. Однако следующая формула не может предсказать точный результат:
Число пикселей полезно только для приблизительной оценки затрат. Модель определяет фактический output_tokens во время генерации, а usage.output_tokens ответа является источником истины.

3. Соотношение сторон и разбиение внутреннего холста

Output tokens также зависят от того, как внутренний холст разбивается на тайлы, масштабируется и покрывается. Поэтому расход token не всегда строго монотонно зависит от итогового числа пикселей. На одном и том же уровне качества более крупное изображение с нестандартным соотношением сторон иногда может потребовать меньше output tokens, чем меньшее или более квадратное изображение. Это не противоречие: модель использует дискретные правила холста или тайлинга, а не тарифицирует каждый итоговый пиксель по отдельности.
При сравнении размеров учитывайте и quality, и соотношение сторон. Не сравнивайте только метку «4K» или «2K» либо общее число пикселей.

4. Количество генераций n

Как правило, генерация большего числа изображений увеличивает общий расход output tokens. N сгенерированных изображений примерно несут N наборов затрат на output. Однако текущий gpt-image-2 endpoint поддерживает только n=1. Чтобы сгенерировать несколько изображений, отправляйте несколько независимых запросов; каждый запрос тарифицируется отдельно по input и output tokens. Поддерживает ли другая image model n>1, зависит от документации этой модели.

Какие token затрагиваются референсными изображениями?

Количество референсных изображений в первую очередь влияет на токены входного изображения, а не на токены выходного изображения: gpt-image-2 обрабатывает reference images с высокой точностью. Чем больше reference images, тем количество input image tokens увеличивается примерно линейно, тогда как output_tokens итогового вывода по-прежнему в основном определяются качеством вывода, размерами, соотношением сторон и внутренним процессом генерации модели. Если в записи тарификации явно указано, что большое значение относится к «image output», его не следует относить на счет количества референсов. Стоимость reference-image должна отображаться отдельно в поле token входного изображения.

Как рассчитать реальную стоимость

Используя текущую структуру тарификации gpt-image-2:
Пример ответа:
Это означает:
  • 16 tokens были получены из текста prompt
  • 1024 tokens были получены из reference image
  • 5146 tokens были получены из сгенерированного изображения
  • Было возвращено только одно изображение, но его качество и полотно потребовали 5146 выходных токенов изображения
Не существует универсального фиксированного количества token на изображение 2K или 4K для всех размеров и содержимого. Бюджетные таблицы — лишь оценки. При окончательной тарификации следует использовать фактические значения usage, возвращаемые API или отображаемые в журналах консоли.

Как сократить использование token

1

Задайте явный уровень качества

Избегайте auto. Передавайте low, medium или high явно, чтобы модель неожиданно не выбрала более дорогой уровень.
2

Избегайте ненужного разрешения

Используйте 1K или 2K для превью и внутреннего просмотра, а 4K high — только для финальной сдачи.
3

Выбирайте нужное соотношение сторон

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

Контролируйте количество результатов

Несколько кандидатов увеличивают общую стоимость вывода примерно линейно. Проверяйте prompt’ы на небольшой партии перед масштабированием.
5

Записывайте поля использования

Сохраняйте size, quality, output_tokens и стоимость каждого запроса, чтобы сформировать базовый уровень затрат на основе реальных production-данных.

Связанная документация