> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apiyi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Почему у GPT Image так много output tokens?

> Объясняется, как GPT Image разделяет input и output tokens, и почему разрешение, качество, соотношение сторон и количество изображений могут значительно влиять на стоимость.

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

Это нормально. Изображение 4K с качеством `high` по своей природе дорого обходится в GPT Image, и даже одно выходное изображение может потреблять большое количество `output_tokens`.

Image output tokens не рассчитываются просто как «один выходной файл» или как фиксированное линейное соотношение от общего числа пикселей. На них в основном влияют:

1. `quality`: `low`, `medium`, `high`, or `auto`
2. Размеры выходного изображения и соотношение сторон
3. Количество генераций `n`
4. Внутреннее разбиение холста модели и сложность изображения

<Info>
  `usage.output_tokens` означает **image tokens, использованные для генерации выходного изображения**, а не входное изображение-референс. Изображения-референсы указываются отдельно в `usage.input_tokens_details.image_tokens`.
</Info>

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

«Одно изображение» описывает число возвращаемых результатов, а не объём работы по генерации. Модель должна сгенерировать весь холст в своём внутреннем пространстве представления изображений. Более высокое качество и большее разрешение обычно требуют больше вычислений для изображения и выходных tokens.

Например, оба запроса возвращают одно изображение:

```json theme={null}
{
  "size": "1024x1024",
  "quality": "low",
  "n": 1
}
```

```json theme={null}
{
  "size": "3840x2160",
  "quality": "high",
  "n": 1
}
```

Второй запрос по-прежнему возвращает только одно изображение, но он использует 4K landscape canvas и high-quality tier. Ожидается гораздо больший счётчик output-token.

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

### 1. Параметр `quality`

`quality` обычно является самым заметным фактором стоимости:

| Значение | Типичное использование                  | Тенденция output-token        |
| -------- | --------------------------------------- | ----------------------------- |
| `low`    | Быстрые предпросмотры и черновики       | Самая низкая                  |
| `medium` | Баланс качества и стоимости             | Средняя                       |
| `high`   | Тонкие текстуры, текст и сложные детали | Самая высокая                 |
| `auto`   | Модель выбирает уровень                 | Может меняться между вызовами |

<Warning>
  С `quality: "auto"` или без явного `quality` модель может выбрать другой уровень на основе prompt. Поэтому вызовы с одинаковыми размерами и reference images могут различаться по `output_tokens` в несколько раз. Чтобы затраты были предсказуемыми, явно задайте `low`, `medium` или `high`.
</Warning>

В документации проекта приведён реальный пример: три запроса использовали по 1061 input token, а их output token составили 1286, 5146 и 1287. Средний вызов автоматически выбрал более высокий уровень качества и обошёлся примерно в 3,5 раза дороже, чем два других.

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

Более высокое разрешение обычно означает больший внутренний холст и больше output tokens. Запрос 4K `high` может стоить гораздо дороже, чем запрос 1K `low`.

Однако следующая формула не может предсказать точный результат:

```text theme={null}
output tokens = width × height × fixed coefficient
```

Число пикселей полезно только для приблизительной оценки затрат. Модель определяет фактический `output_tokens` во время генерации, а `usage.output_tokens` ответа является источником истины.

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

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

На одном и том же уровне качества более крупное изображение с нестандартным соотношением сторон иногда может потребовать меньше output tokens, чем меньшее или более квадратное изображение. Это не противоречие: модель использует дискретные правила холста или тайлинга, а не тарифицирует каждый итоговый пиксель по отдельности.

<Tip>
  При сравнении размеров учитывайте и `quality`, и соотношение сторон. Не сравнивайте только метку «4K» или «2K» либо общее число пикселей.
</Tip>

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

Как правило, генерация большего числа изображений увеличивает общий расход output tokens. N сгенерированных изображений примерно несут N наборов затрат на output.

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

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

Количество референсных изображений в первую очередь влияет на **токены входного изображения**, а не на токены выходного изображения:

| Поле                                       | Значение                                                 |
| ------------------------------------------ | -------------------------------------------------------- |
| `usage.input_tokens_details.text_tokens`   | Текст prompt                                             |
| `usage.input_tokens_details.image_tokens`  | Входное reference-image                                  |
| `usage.output_tokens_details.image_tokens` | Выходное сгенерированное изображение                     |
| `usage.output_tokens`                      | Общее количество token выходного изображения для запроса |

`gpt-image-2` обрабатывает reference images с высокой точностью. Чем больше reference images, тем количество input image tokens увеличивается примерно линейно, тогда как `output_tokens` итогового вывода по-прежнему в основном определяются качеством вывода, размерами, соотношением сторон и внутренним процессом генерации модели.

Если в записи тарификации явно указано, что большое значение относится к «image output», его не следует относить на счет количества референсов. Стоимость reference-image должна отображаться отдельно в поле token входного изображения.

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

Используя текущую структуру тарификации `gpt-image-2`:

```text theme={null}
total cost
= text input tokens × text input rate
+ reference-image input tokens × image input rate
+ output image tokens × image output rate
```

Пример ответа:

```json theme={null}
{
  "usage": {
    "input_tokens": 1040,
    "input_tokens_details": {
      "text_tokens": 16,
      "image_tokens": 1024
    },
    "output_tokens": 5146,
    "output_tokens_details": {
      "text_tokens": 0,
      "image_tokens": 5146
    },
    "total_tokens": 6186
  }
}
```

Это означает:

* 16 tokens были получены из текста prompt
* 1024 tokens были получены из reference image
* 5146 tokens были получены из сгенерированного изображения
* Было возвращено только одно изображение, но его качество и полотно потребовали 5146 выходных токенов изображения

<Info>
  Не существует универсального фиксированного количества token на изображение 2K или 4K для всех размеров и содержимого. Бюджетные таблицы — лишь оценки. При окончательной тарификации следует использовать фактические значения `usage`, возвращаемые API или отображаемые в журналах консоли.
</Info>

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

<Steps>
  <Step title="Задайте явный уровень качества">
    Избегайте `auto`. Передавайте `low`, `medium` или `high` явно, чтобы модель неожиданно не выбрала более дорогой уровень.
  </Step>

  <Step title="Избегайте ненужного разрешения">
    Используйте 1K или 2K для превью и внутреннего просмотра, а 4K `high` — только для финальной сдачи.
  </Step>

  <Step title="Выбирайте нужное соотношение сторон">
    Используйте холст, который действительно нужен вашей задаче, вместо того чтобы увеличивать размеры лишь ради более детального вида.
  </Step>

  <Step title="Контролируйте количество результатов">
    Несколько кандидатов увеличивают общую стоимость вывода примерно линейно. Проверяйте prompt'ы на небольшой партии перед масштабированием.
  </Step>

  <Step title="Записывайте поля использования">
    Сохраняйте `size`, `quality`, `output_tokens` и стоимость каждого запроса, чтобы сформировать базовый уровень затрат на основе реальных production-данных.
  </Step>
</Steps>

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

* [Обзор и тарификация GPT-Image-2](/ru/api-capabilities/gpt-image-2/overview)
* [API GPT-Image-2 для преобразования текста в изображение](/ru/api-capabilities/gpt-image-2/text-to-image)
* [API GPT-Image-2 для редактирования изображений](/ru/api-capabilities/gpt-image-2/image-edit)
* [Как просмотреть API-логи?](/ru/faq/call-logs)
