> ## 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 2.6

> Выбор моделей GPT Image 2.6 Flare и Sunburst, а также управление сложностью, векторный вывод в SVG, анимированные GIF, редактирование с помощью разметки, интерактивные примеры и реальные результаты.

> [!NOTE]
>
> В Playground представлено три готовых примера: **растровый PNG со сложной графикой, SVG и двухкадровый GIF**. Введите `Bearer sk-xxx` в поле **Authorization**, выберите пример, отредактируйте prompt и отправьте запрос.

> [!WARNING]
>
> `data[0].b64_json` не содержит префикса `data:`, а ответы для SVG и GIF также закодированы в base64. Браузерный Playground может не отобразить длинный base64-ответ, даже если запрос завершился успешно. Используйте приведенный ниже пример на Python, чтобы декодировать и сохранить результат локально.

## Выбор модели

GPT Image 2.6 была выпущена 2026-11-04. Она сохраняет `/v1/images/generations` и `/v1/images/edits`, а также добавляет управление сложностью, вывод SVG, вывод анимированных GIF и редактирование на основе разметки.

| Модель | Назначение | Оптимально для |
| - | - | - |
| `gpt-image-2.6-flare` | Быстрые итерации | Черновики, пакетная генерация, контент для соцсетей и быстрое сравнение prompt |
| `gpt-image-2.6-sunburst` | Детализированная визуальная работа | Сложные макеты, плотный текст, готовые материалы и точное редактирование |

Актуальные тарифы на tokens смотрите в [каталоге цен на модели](https://docs.apiyi.com/ru/models/index.md). Фактическая стоимость зависит от размера, качества, формата вывода и использования tokens. Для SVG также взимается плата за authoring-модель, поэтому его стоимость несопоставима со стандартным PNG.

## Новые возможности

> [card] [Управление сложностью](#complexity-control-planning)
>
> Управляет планированием перед рендерингом независимо от настройки качества.

> [card] [Векторный вывод SVG](#svg-generate-editable-vector-files)
>
> Возвращает редактируемые контуры, фигуры и цвета для иконок, иллюстраций и элементов интерфейса.

> [card] [Вывод анимированных GIF](#gif-generate-looping-animations)
>
> Создает готовый GIF за один запрос с возможностью настройки количества кадров и длительности кадра.

> [card] [Редактирование по разметке](#markup-guided-edits)
>
> Использует прозрачный слой аннотаций для определения области редактирования, пока prompt описывает изменения.

## complexity: управление планированием

`complexity` управляет тем, насколько детально модель планирует перед рендерингом. Он предназначен для плотного текста, сложных макетов и связей между объектами. `quality` вместо этого управляет качеством рендеринга; эти две настройки служат разным целям.

| Официальный уровень | Рекомендуемое использование |
| - | - |
| `low` | Точечные правки, простые композиции и быстрые черновики |
| `medium` | Баланс для обычных макетов и множества ограничений |
| `high` | Плотный текст, сложные макеты и связи между объектами; используется по умолчанию, если complexity не указан |

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

> [accordion] Примечание к тестам апстрима: дополнительные поддерживаемые уровни
>
> В нашем тесте ответ с ошибкой от апстрима также содержал `none`, `xhigh` и `max`, и текущий маршрут их принял. В общедоступном руководстве OpenAI задокументированы `low / medium / high`; в продакшн-запросах следует использовать эти официальные уровни, а не полагаться на дополнительные значения как на гарантию долгосрочной совместимости.

## SVG: генерация редактируемых векторных файлов

Установите `output_format: "svg"`. Текущий апстрим также требует вложенное поле `svg.model` для выбора текстовой модели, которая формирует векторный код:

```json theme={null}
{
  "model": "gpt-image-2.6-sunburst",
  "prompt": "A minimal flat vector icon of a rocket, exactly three solid colors, geometric editable shapes, no text, no raster texture, transparent background.",
  "output_format": "svg",
  "svg": {
    "model": "gpt-5.6-terra"
  },
  "quality": "low",
  "size": "1024x1024",
  "n": 1
}
```

![Vector rocket icon with red fins, a blue window, and a white body](https://mintcdn.com/apiyillc/I9X_C01jz8OkWw6c/images/gpt-image-2-6/rocket.svg?fit=max\&auto=format\&n=I9X_C01jz8OkWw6c\&q=85\&s=c2dc54229ae6495d2926adcc44513fa4)

A real SVG generated through APIYI's passthrough route: editable path and circle elements

### Выбор модели генерации кода и тарификация

Клиент указывает `svg.model`; APIYI не выбирает ее случайным образом. Набор поддерживаемых моделей зависит от апстрима и текущей группы, поэтому поддержка гарантируется не для каждой текстовой модели OpenAI. На этой странице проверены `gpt-5.6-terra`, `gpt-6-luna` и `gpt-4.1-mini`; протестируйте другие модели в вашей рабочей группе. Оплата за генерацию кода рассчитывается по тарифам входных и выходных токенов выбранной текстовой модели:

* Стоимость генерации кода = `svg_usage.input_tokens` × тариф за входные токены + `svg_usage.output_tokens` × тариф за выходные токены.
* Итоговая стоимость SVG = стоимость эталонного изображения + стоимость модели генерации кода. Модель генерации изображений создает эталонное изображение перед тем, как текстовая модель сформирует SVG.
* Успешные ответы содержат как `usage`, так и `svg_usage`: `usage` покрывает эталонное изображение, а `svg_usage` покрывает модель генерации кода. Оба значения влияют на стоимость.
* `svg_usage.reasoning_tokens` уже включен в `svg_usage.output_tokens`. Не прибавляйте его повторно.

В сквозном тесте APIYI от 05.11.2026 с использованием `gpt-image-2.6-sunburst` и `gpt-5.6-terra` ответ содержал следующие поля использования:

```json theme={null}
{
  "output_format": "svg",
  "usage": {
    "input_tokens": 100,
    "output_tokens": 824,
    "total_tokens": 924
  },
  "svg_usage": {
    "model": "gpt-5.6-terra",
    "input_tokens": 1572,
    "output_tokens": 850,
    "reasoning_tokens": 350,
    "total_tokens": 2422
  }
}
```

При текущих тарифах в каталоге для `gpt-5.6-terra` в размере \$2 за миллион входных токенов и \$12 за миллион выходных токенов расчетная стоимость генерации кода составляет `1572 ÷ 1000000 × 2 + 850 ÷ 1000000 × 12 = \$0.013344`, без учета стоимости эталонного изображения.

Следующие модели генерации кода были протестированы с одним и тем же prompt. Все они вернули настоящий SVG без скриптов, встроенных растровых изображений или внешних ссылок:

| `svg.model` | Результат | Входные / выходные токены | Токены рассуждения (reasoning) | Затраченное время | Расчетная стоимость генерации кода |
| - | - | -: | -: | -: | -: |
| `gpt-5.6-terra` | УСПЕШНО | 1,572 / 850 | 350 | 29.196s | \$0.013344 |
| `gpt-6-luna` | УСПЕШНО | 1,572 / 1,618 | 1,110 | 53.436s | \$0.0009662 |
| `gpt-4.1-mini` | УСПЕШНО | 2,005 / 513 | 0 | 23.777s | \$0.0016228 |

Все три запроса вернули одинаковые показатели использования для эталонного изображения: 100 входных токенов, 824 выходных токена и 924 токена суммарно, которые тарифицируются отдельно. Имя модели в ответе для `gpt-4.1-mini` было `gpt-4.1-mini-2025-04-14`. Цены могут меняться, а многоуровневые тарифы могут различаться в зависимости от группы. Актуальную стоимость смотрите в [каталоге цен на модели](https://docs.apiyi.com/ru/models/index.md) и в вашем счете. Одно изображение на модель не является рейтингом качества.

### Ограничения

* SVG доступен только через `/v1/images/generations` с параметром `n=1`. Эндпоинт редактирования не поддерживает вывод в формате SVG или использование SVG в качестве растрового входа.
* Потоковая передача (streaming), частичные изображения, `output_compression` и `prompt_rewriter` не поддерживаются.
* Результат представляет собой статический векторный XML без скриптов, внешних ресурсов или встроенных растровых изображений. Декодируйте и сохраняйте его как `.svg`, а не как PNG.

## GIF: генерация зацикленных анимаций

Задайте `output_format: "gif"` и опишите объект, движение и зацикливание в prompt. Этот экономичный пример должен сгенерировать **2 кадра длительностью 100 мс каждый, общей продолжительностью 0,2 секунды**:

```json theme={null}
{
  "model": "gpt-image-2.6-sunburst",
  "prompt": "A minimal two-frame looping animation of a yellow circle moving slightly right and returning to its starting position on a plain white background, no text, seamless loop.",
  "output_format": "gif",
  "quality": "low",
  "size": "512x512",
  "frame_count": 2,
  "frame_duration_ms": 100,
  "n": 1
}
```

![Двухкадровая зацикленная анимация: желтый круг перемещается вправо и возвращается в исходное положение](https://mintcdn.com/apiyillc/I9X_C01jz8OkWw6c/images/gpt-image-2-6/two-frame-loop.gif?s=d010bf9dbb9b5c3a3e9b915bb2164a3d)

A real GIF generated through APIYI's passthrough route: 2 frames and 0.2 seconds

| Параметр | Официальный диапазон и значение по умолчанию | Примечания |
| - | - | - |
| `frame_count` | 2–64, по умолчанию 9 | Большее количество кадров, как правило, увеличивает задержку и стоимость |
| `frame_duration_ms` | 20–2000 мс, по умолчанию 200 мс, округляется до 10 мс | Общая продолжительность приблизительно равна произведению количества кадров на длительность кадра |
| `size` | `auto` или допустимый формат WIDTHxHEIGHT | Размер каждого готового кадра; количество кадров, размер кадра и общий лимит пикселей должны укладываться в ограничения |

Формат GIF поддерживает только генерацию и не поддерживает потоковую передачу, частичные изображения, пользовательские `output_compression` или `prompt_rewriter`. Не используйте `frame_count` или `frame_duration_ms` с PNG, JPEG, WebP или SVG.

### Проверка фактического количества кадров

Не полагайтесь только на HTTP 200 или `output_format` ответа. Если маршрут отбрасывает поля кадров, он все равно может вернуть стандартный GIF из 9 кадров длительностью 1,8 секунды. Проверьте фактический файл с помощью `ffprobe`:

```bash theme={null}
ffprobe -v error -select_streams v:0 -count_frames \
  -show_entries stream=codec_name,width,height,nb_read_frames,duration \
  -of json result.gif
```

В данном примере ожидаются `nb_read_frames=2` и `duration=0.200000`.

## Редактирование с помощью разметки

GPT Image 2.6 также поддерживает редактирование с помощью разметки через поле `markup` в `/v1/images/edits`:

1. Оставьте исходное изображение в качестве первого входного файла.
2. Создайте прозрачный PNG с теми же размерами и добавьте круги, стрелки или наброски вокруг области, которую нужно изменить.
3. Загрузите этот слой аннотаций как `markup`, затем опишите в `prompt` желаемые изменения и детали, которые необходимо сохранить.
4. Разметка применяется к первому входному изображению и не может сочетаться с `mask` или `prompt_rewriter`.

Для обычного редактирования, объединения нескольких изображений и работы с масками см. [API редактирования изображений](https://docs.apiyi.com/ru/api-capabilities/gpt-image-2/image-edit.md). Пересылку разметки необходимо проверять отдельно на целевом маршруте; на этой странице она не приводится в качестве протестированного интерактивного примера.

## Декодирование на стороне клиента

Все форматы вывода используют `data[0].b64_json`; меняется только расширение файла:

```python theme={null}
import base64
from pathlib import Path

payload = response.json()
fmt = payload["output_format"]
raw = base64.b64decode(payload["data"][0]["b64_json"])
Path(f"result.{fmt}").write_bytes(raw)
```

SVG декодируется в UTF-8 XML, в то время как GIF и растровые форматы декодируются в бинарные файлы. В продакшн-коде также следует проверять HTTP-статус, поле `error` и фактическую сигнатуру файла, а не полагаться только на расширение.

## Совместимость маршрутов и устранение неполадок

> [!WARNING]
>
> Новые поля 2.6 требуют нативной сквозной передачи JSON. Совместимость может различаться в зависимости от апстрим-маршрутов, и эти публичные примеры не гарантируют идентичного поведения в каждой группе. Проверьте их в той группе, которую фактически использует ваш аккаунт.

| Симптом | Что проверить в первую очередь |
| - | - |
| `SVG generation requires 'svg.model'`, хотя значение было передано | Не отфильтровал и не переписал ли маршрут вложенный объект `svg` |
| Запрос на 2 кадра по 100 мс возвращает 9 кадров и 1,8 секунды | Не были ли проигнорированы `frame_count` и `frame_duration_ms` в пользу значений по умолчанию |
| Недопустимая строка complexity по-прежнему возвращает 200 | Поведение валидации может различаться у разных апстримов; само по себе это не доказывает, что поле было отброшено. Сравните поведение при корректных значениях и проверьте логи апстрима |
| Playground отображает `unable to complete request` | Проверьте, действительно ли код ответа был 200; длинная строка base64 может превышать возможности отображения браузера, поэтому выполните декодирование локально |
| Стоимость SVG выше ожидаемой | Проверьте как `usage`, так и `svg_usage`, а не только tokens референсных изображений |

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

* [Обзор GPT-Image-2.5 / 2](https://docs.apiyi.com/ru/api-capabilities/gpt-image-2/overview.md)
* [Playground стандартной генерации изображений по тексту](https://docs.apiyi.com/ru/api-capabilities/gpt-image-2/text-to-image.md)
* [Playground редактирования изображений](https://docs.apiyi.com/ru/api-capabilities/gpt-image-2/image-edit.md)
* [Основы и лучшие практики Image API](https://docs.apiyi.com/ru/api-capabilities/image-api-best-practices.md)
* [Справочник цен на модели](https://docs.apiyi.com/ru/models/index.md)


## OpenAPI

````yaml api-reference/gpt-image-2-6-generate-openapi-en.yaml POST /v1/images/generations
openapi: 3.1.0
info:
  title: GPT Image 2.6 Text-to-Image and New Capabilities API
  description: >
    Text-to-image with OpenAI `gpt-image-2.6-flare` / `gpt-image-2.6-sunburst`,
    including raster images, complexity control, SVG vector output, and animated
    GIF output.


    - Complexity: official low / medium / high levels, default high, with no
    separate fee

    - SVG: set output_format=svg and provide svg.model; generations only, n=1

    - GIF: set output_format=gif and optionally frame_count and
    frame_duration_ms

    - Responses contain data[0].b64_json for client-side base64 decoding


    **Authentication**: Add `Authorization: Bearer YOUR_API_KEY` to request
    headers


    **Get an API Key**: Visit the [APIYI Console](https://api.apiyi.com/token)
  version: 1.0.0
servers:
  - url: https://api.apiyi.com
    description: Primary endpoint
security:
  - bearerAuth: []
paths:
  /v1/images/generations:
    post:
      tags:
        - GPT Image 2.6
      summary: 'GPT Image 2.6: generate PNG, SVG, or GIF'
      description: >
        Generate images from text prompts with GPT Image 2.6. The three named
        request examples demonstrate complexity, SVG, and GIF.


        Complexity controls planning before rendering and is independent of
        rendering quality. SVG requires the nested svg.model field. GIF frame
        controls apply only when output_format=gif. SVG and GIF do not support
        streaming, partial images, or output_compression.
      operationId: generateGptImage26
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Image26Request'
            examples:
              complexityPng:
                summary: Raster PNG + low complexity
                description: >-
                  Use a four-panel infographic to inspect complexity;
                  quality=low controls cost
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: >-
                    A clean 2x2 technical infographic on a white background.
                    Top-left: a red circle labeled 'A'. Top-right: a blue square
                    labeled 'B'. Bottom-left: a green triangle labeled 'C'.
                    Bottom-right: a yellow hexagon labeled 'D'. A black arrow
                    connects A to B to C to D in that order. Exactly four
                    labels, balanced grid, no other text.
                  output_format: png
                  complexity: low
                  quality: low
                  size: 1024x1024
                  'n': 1
              svgVector:
                summary: SVG vector icon
                description: >-
                  Keep the nested svg.model object; the response also contains
                  svg_usage
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: >-
                    A minimal flat vector icon of a rocket, exactly three solid
                    colors, geometric editable shapes, no text, no raster
                    texture, transparent background.
                  output_format: svg
                  svg:
                    model: gpt-5.6-terra
                  quality: low
                  size: 1024x1024
                  'n': 1
              gifAnimation:
                summary: Two-frame looping GIF
                description: >-
                  The finished file should contain 2 frames and last 0.2
                  seconds, not the default 9 frames
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: >-
                    A minimal two-frame looping animation of a yellow circle
                    moving slightly right and returning to its starting position
                    on a plain white background, no text, seamless loop.
                  output_format: gif
                  quality: low
                  size: 512x512
                  frame_count: 2
                  frame_duration_ms: 100
                  'n': 1
      responses:
        '200':
          description: >-
            Generation succeeded; returns base64-encoded PNG, JPEG, WebP, SVG,
            or GIF
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Image26Response'
        '400':
          description: >-
            Invalid parameters, or the active route did not forward new fields
            such as svg.model
        '401':
          description: Unauthorized - invalid API Key
        '403':
          description: Content moderation block
        '429':
          description: Rate limit or insufficient quota
        '500':
          description: Internal server error
      security:
        - bearerAuth: []
components:
  schemas:
    Image26Request:
      type: object
      required:
        - model
        - prompt
      properties:
        model:
          type: string
          description: >-
            Flare is optimized for fast iteration; Sunburst is intended for
            detailed visual work
          enum:
            - gpt-image-2.6-flare
            - gpt-image-2.6-sunburst
          default: gpt-image-2.6-sunburst
        prompt:
          type: string
          maxLength: 32000
          description: >-
            Prompt text in English or Chinese. For GIF, describe the subject,
            motion, and loop
          example: A minimal flat vector icon of a rocket, three solid colors, no text
        complexity:
          type: string
          description: >-
            Planning complexity before rendering, independent of quality.
            Official levels are low / medium / high, with high as the default
            when omitted. No separate fee
          enum:
            - low
            - medium
            - high
          default: high
        size:
          type: string
          description: >-
            Output size as a preset or a valid WIDTHxHEIGHT string. The GIF
            example uses 512x512; frame count, frame size, and the total pixel
            budget must all fit
          example: 1024x1024
          default: auto
        quality:
          type: string
          description: >-
            Rendering quality, independent of complexity. For SVG, controls the
            reference image quality
          enum:
            - auto
            - low
            - medium
            - high
            - xhigh
            - max
          default: auto
        output_format:
          type: string
          description: >-
            Output format. SVG and GIF are generation-only and do not support
            edits, streaming, partial images, or output_compression
          enum:
            - png
            - jpeg
            - webp
            - svg
            - gif
          default: png
        output_compression:
          type: integer
          description: Compression level for jpeg / webp only; do not use with SVG or GIF
          minimum: 0
          maximum: 100
          example: 85
        background:
          type: string
          description: >-
            Background mode. transparent requires a compatible output format;
            JPEG does not support transparency
          enum:
            - auto
            - opaque
            - transparent
          default: auto
        moderation:
          type: string
          description: Moderation strength
          enum:
            - auto
            - low
          default: auto
        'n':
          type: integer
          description: Number of results. The examples and SVG output use 1
          enum:
            - 1
          default: 1
        svg:
          type: object
          description: >-
            SVG-specific configuration. The current upstream requires svg.model
            when output_format=svg
          properties:
            model:
              type: string
              description: >-
                Text model that authors the SVG vector code. Verified with
                gpt-5.6-terra, gpt-6-luna, and gpt-4.1-mini; test other models
                in your actual group. The example uses gpt-5.6-terra
              example: gpt-5.6-terra
              default: gpt-5.6-terra
          required:
            - model
        frame_count:
          type: integer
          description: >-
            GIF frame count. Official documented range: 2–64; default: 9. Only
            valid when output_format=gif
          minimum: 2
          maximum: 64
          default: 9
          example: 2
        frame_duration_ms:
          type: integer
          description: >-
            Duration of each GIF frame in milliseconds, 20–2000, rounded to
            10ms; default 200. Only valid when output_format=gif
          minimum: 20
          maximum: 2000
          default: 200
          example: 100
    Image26Response:
      type: object
      properties:
        created:
          type: integer
          description: Unix timestamp
        background:
          type: string
          description: Effective background mode
          example: opaque
        data:
          type: array
          description: Generated results
          items:
            type: object
            properties:
              b64_json:
                type: string
                description: >-
                  Raw base64 without a data: prefix. Save using output_format;
                  SVG decodes to UTF-8 XML
              generation_id:
                type: string
                description: Generation ID, when provided
        output_format:
          type: string
          example: gif
        quality:
          type: string
          example: low
        size:
          type: string
          example: 512x512
        usage:
          $ref: '#/components/schemas/ImageUsage'
        svg_usage:
          $ref: '#/components/schemas/SvgUsage'
    ImageUsage:
      type: object
      description: Token usage for the image model
      properties:
        input_tokens:
          type: integer
          example: 59
        output_tokens:
          type: integer
          example: 555
        total_tokens:
          type: integer
          example: 614
        input_tokens_details:
          type: object
          properties:
            text_tokens:
              type: integer
              example: 59
            image_tokens:
              type: integer
              example: 0
        output_tokens_details:
          type: object
          properties:
            text_tokens:
              type: integer
              example: 0
            image_tokens:
              type: integer
              example: 555
    SvgUsage:
      type: object
      description: >-
        Authoring-model usage returned for SVG output. The client selects the
        model through svg.model, and charges use that text model's input and
        output token rates. reasoning_tokens is already included in
        output_tokens and must not be added again
      properties:
        model:
          type: string
          example: gpt-5.6-terra
        input_tokens:
          type: integer
          example: 1572
        output_tokens:
          type: integer
          example: 850
        reasoning_tokens:
          type: integer
          example: 350
        total_tokens:
          type: integer
          example: 2422
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API Key obtained from the APIYI Console

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.