GPT-Image-2 OpenAI

Флагман генерации изображений OpenAI: отличный рендер текста, понимание русских промптов, редактирование диалогом и многоступенчатая правка. Доступ через OpenAI-совместимые /v1/images/generations и /v1/images/edits — официальный SDK без правок.

Три варианта

В каталоге три модели одного семейства. Способ вызова одинаков, отличия — в размере, качестве и скорости:

МодельРазмерКачество / maskКогда выбрать
gpt-image-2Любое разрешение, вкл. 2K и 4K (3840×2160)quality + mask (локальная перерисовка)Нужен точный контроль size/quality, 4K, mask
gpt-image-2-allПараметра size нет — соотношение пишется в промптнет«Из коробки», предсказуемая цена, быстрее всех
gpt-image-2-vip30 фиксированных размеров (10 соотношений × 1K/2K/4K)нетНужен строгий размер или 4K с фикс-ценой
Когда нужны quality или mask (локальная перерисовка) — берите gpt-image-2. Нужен предсказуемый фикс-прайс — gpt-image-2-all (размер словами) или gpt-image-2-vip (строгий размер/4K). Доступны и предыдущие gpt-image-1.5, gpt-image-1, gpt-image-1-mini.

Сколько ждать и что делать при ошибке

Генерация изображения — долгая операция, и разные варианты модели работают с заметно разной скоростью. Это главное, на что стоит смотреть при выборе.

МодельТипичное времяКогда брать
gpt-image-2-all 30–60 секунд По умолчанию. Самая быстрая, размер задаётся словами в промпте
gpt-image-2-vip 90–150 секунд, на 4K дольше Только когда нужен строгий размер из списка или 4K
gpt-image-2 100–120 секунд Когда нужны quality или маска для локальной перерисовки
Ставьте таймаут клиента не меньше 300 секунд. Значение по умолчанию во многих HTTP-библиотеках — 30 или 60 секунд, и запрос оборвётся на вашей стороне, хотя изображение уже генерируется. На нашей стороне ожидание — до 15 минут.
Если приходит ошибка. Разрешение 4K заметно чаще упирается в ограничения по мощности — попробуйте сначала 2K, качество отличается меньше, чем кажется. Размер у gpt-image-2-vip принимается только из фиксированного списка: произвольное значение вроде 1024x768 вернёт ошибку с перечнем допустимых. За неудачные генерации деньги не списываются.

Текст → изображение

from openai import OpenAI
client = OpenAI(api_key="sk-nexus-...", base_url="https://megaapi.ru/v1")

resp = client.images.generate(
    model="gpt-image-2",
    prompt="Постер кофейни в стиле минимализм, крупный заголовок «MORNING»",
    size="1024x1024",
    quality="high",
)
print(resp.data[0].url)
ПараметрОписание
sizeДля gpt-image-2: любой валидный (стороны кратны 16, соотношение ≤ 3:1), пресеты 1K/2K/4K. Для -vip: один из 30 фикс-размеров. Для -all: не задаётся (опишите соотношение в промпте).
qualityauto/low/medium/high — только у gpt-image-2 и gpt-image-1*.
output_formatpng (по умолчанию) / jpeg / webp — только у gpt-image-2. У -all и -vip параметра нет.
output_compression0–100, действует только с jpeg и webp. Только gpt-image-2.
backgroundopaque / auto. Прозрачный фон не поддерживается — вырезайте после генерации.
moderationauto / low (пониженная строгость проверки).
nТолько 1. Несколько вариантов — несколько отдельных запросов.
response_formatb64_json (по умолчанию) или url. У -all и -vip это единственный параметр вывода.
Чего эти модели не принимают. input_fidelity у gpt-image-2 даёт ошибку — высокая точность включена всегда (при переходе с gpt-image-1.5 строку надо удалить). background: "transparent" не поддерживается: вырезайте фон после генерации. quality не принимает старые значения DALL·E standard/hd — они либо дают ошибку, либо молча трактуются как auto, и расход становится непредсказуемым.

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

У gpt-image-2-vip отказы приходят из двух разных мест, и лечатся они по-разному. Ниже — то, что подтверждено и нашими замерами, и указаниями поставщика.

Что видно в ответеПочемуЧто делать
«Запрос отклонён фильтром безопасности» Фильтр отклонил уже сгенерированную картинку — это про содержимое, а не про параметры. Чаще всего срабатывает на реальных именах, узнаваемых персонажах и чувствительных темах. Менять описание. Если у вас поток запросов от людей — отсеивайте такие темы до отправки и предупреждайте в своём интерфейсе: попытка не бесплатна по времени, ждать отказа приходится до двух минут.
«Модель сейчас перегружена» на 4K Колебания мощности у производителя, а не ваши параметры: тот же запрос в 2K обычно проходит. Чем больше и тяжелее входные картинки, тем чаще отказ именно на 4K. Брать 2K (например 2048×1360 или 2048×2048) — цена та же $0.03 за картинку, а доходит заметно чаще. Входные картинки сжимать до 1.5 МБ и передавать их меньше.
4K нужен обязательно Линия -vip к большому выходу чувствительнее. Брать gpt-image-2: дороже за картинку, зато стабильнее на 4K.
За неудачную попытку денег не берём. Отказ фильтра и перегрузка приходят с ошибкой — холд возвращается целиком, в журнале вызовов такая попытка стоит $0. Списываем только за ответ, в котором есть картинка.

Редактирование и фьюжн

Эндпоинт POST https://megaapi.ru/v1/images/edits (multipart): загрузите 1–N референсов и инструкцию правки. Поддерживается мульти-картиночное редактирование и mask (локальная перерисовка — у gpt-image-2). В промпте ссылайтесь «image 1», «image 2» и опишите, что сохранить и что изменить.

curl -X POST "https://megaapi.ru/v1/images/edits" \
  -H "Authorization: Bearer sk-nexus-..." \
  -F model="gpt-image-2" \
  -F image[]=@photo1.png \
  -F image[]=@photo2.png \
  -F prompt="Объедини товар из image 1 с фоном image 2, сохрани логотип"

Генерация через чат (image gen в диалоге)

Варианты -all и -vip также работают через /v1/chat/completions — удобно передавать URL картинок прямо в сообщении и править результат диалогом.

Всё доступно без кода в MegaAPI Chat: вкладка «Генерация», прикрепите фото-референсы. Модель по умолчанию — gpt-image-2-all (лучшая цена/качество для старта). Списываем только за успешную картинку.

Открыть в MegaAPI Chat → Обзор всех моделей Цены