OpenAI предлагает семейство моделей GPT Image для генерации и редактирования изображений:
- gpt-image-1 — базовая модель с хорошим качеством и умеренной стоимостью.
- gpt-image-1-mini — компактный вариант для быстрых черновиков и экспериментов.
- gpt-image-1.5 — улучшенное качество при схожей скорости.
- gpt-image-2 — самая новая модель, поддерживает практически любое разрешение и наиболее точное следование промпту.
Все модели работают через один и тот же эндпоинт и возвращают изображения в формате base64 (b64_json).
В отличие от старых моделей DALL·E, которые оплачивались за картинку, семейство GPT Image тарифицируется по токенам. Итоговая стоимость одного запроса складывается из трёх составляющих:
- Ввод (текст): токены текстового промпта.
- Изображение (ввод): токены входящих изображений в запросах редактирования. В модели
gpt-image-2входящие изображения всегда обрабатываются в режиме высокой точности, поэтому расход выше, чем в более ранних моделях. - Вывод: токены, в которые модель кодирует итоговое изображение. Растут с качеством (
quality) и разрешением.
Точное число токенов на одно изображение зависит от модели, quality и размера. Ориентиры для всех моделей семейства указаны в подсказках на странице цен.
Минимальный запрос к модели генерации:
curl -X POST "https://api.proxyapi.ru/openai/v1/images/generations" \ -H "Authorization: Bearer <КЛЮЧ>" \ -H "Content-type: application/json" \ -d '{ "model": "gpt-image-2", "prompt": "Стеклянная бутылка, внутри которой плывет корабль посреди шторма" }' | jq -r '.data[0].b64_json' | base64 --decode > image.png
Параметр n позволяет получить несколько изображений за один запрос. Для всех моделей семейства GPT Image ответ содержит массив data с полем b64_json у каждого элемента, а также объект usage с подробной разбивкой по токенам.
Эндпоинт редактирования позволяет:
- изменять существующее изображение по текстовому промпту,
- генерировать новое изображение, используя одно или несколько референсов,
- заменять отдельные области изображения с помощью маски (инпейтинг).
Редактирование поддерживается всеми моделями семейства GPT Image.
Вы можете передать одно или несколько изображений как референс для генерации нового изображения.
В примере используются 4 исходных изображения, чтобы сгенерировать подарочную корзину, содержащую предметы с референсов.
curl -s -D >(grep -i x-request-id >&2) \ -o >(jq -r '.data[0].b64_json' | base64 --decode > gift-basket.png) \ -X POST "https://api.proxyapi.ru/openai/v1/images/edits" \ -H "Authorization: Bearer <КЛЮЧ>" \ -F "model=gpt-image-2" \ -F "image[]=@body-lotion.png" \ -F "image[]=@bath-bomb.png" \ -F "image[]=@incense-kit.png" \ -F "image[]=@soap.png" \ -F 'prompt=Создай фотореалистичное изображение подарочной корзины на белом фоне, подписанной "Отдых и восстановление" с лентой и рукописным шрифтом, содержащей все предметы из референсных изображений'
В этом примере используются исходное изображение и маска, чтобы заменить только часть кадра.
curl -s -D >(grep -i x-request-id >&2) \ -o >(jq -r '.data[0].b64_json' | base64 --decode > clouds.png) \ -X POST "https://api.proxyapi.ru/openai/v1/images/edits" \ -H "Authorization: Bearer <КЛЮЧ>" \ -F "model=gpt-image-2" \ -F "mask=@mask.png" \ -F "image[]=@clouds.png" \ -F 'prompt=Небо в облаках, одно из которых напоминает слона'
- Исходное изображение и маска должны быть в одном формате и одного размера (до 50 МБ).
- Маска должна содержать альфа-канал. Если графический редактор его не создаёт, альфа-канал можно добавить программно — например, скопировав монохромное изображение маски в alpha-канал RGBA-версии.
Параметр input_fidelity управляет тем, насколько точно модель сохраняет детали входящих изображений при редактировании. Поддерживается моделями gpt-image-1, gpt-image-1-mini и gpt-image-1.5.
Модель gpt-image-2 всегда обрабатывает входящие изображения в режиме высокой точности, поэтому параметр input_fidelity для неё не принимается. Это одна из причин, по которой запросы к gpt-image-2 с референсами могут расходовать больше токенов на ввод изображения, чем в предыдущих моделях.
При генерации поддерживаются следующие параметры:
size— размер итогового изображения.quality— качество рендеринга (low,medium,high,auto).output_format— формат файла (png,jpeg,webp).output_compression— уровень сжатия (0–100%) дляjpegиwebp.background— фон:opaque,transparentилиauto.moderation— строгость модерации (auto,low).
Параметры size, quality и background поддерживают значение auto, при котором модель подбирает оптимальное значение сама.
Модели gpt-image-1, gpt-image-1-mini и gpt-image-1.5 принимают фиксированный набор значений:
1024x1024— квадрат (по умолчанию)1536x1024— альбомная1024x1536— портретнаяauto
Модель gpt-image-2 принимает практически любое разрешение, удовлетворяющее ограничениям:
- длинная сторона не более 3840 px;
- обе стороны кратны 16 px;
- соотношение сторон не больше 3:1;
- общее количество пикселей от 655 360 до 8 294 400.
Квадратные изображения обычно рендерятся быстрее. Разрешения выше 2560×1440 (≈3,7 МП) считаются экспериментальными — время рендеринга и точность могут варьироваться.
low— быстрые черновики и иконки.medium— компромисс между скоростью и качеством.high— финальные ассеты.auto— выбор оптимального уровня моделью.
- По умолчанию возвращается PNG с поддержкой прозрачности.
jpegзаметно быстрее PNG — стоит выбирать его, если критична задержка.- Для
jpegиwebpможно указатьoutput_compression(например,output_compression=50— сжатие 50%).
- Работает только с форматами
pngиwebp. - Включается параметром
background="transparent". - Не поддерживается моделью
gpt-image-2— запросы сbackground="transparent"к ней отклоняются.
Параметр moderation управляет строгостью фильтрации контента:
auto(по умолчанию) — стандартная фильтрация.low— менее строгая.
Все запросы и сгенерированные изображения в любом случае проходят проверку провайдера; значение low лишь ослабляет фильтр некоторых возрастных категорий.
Семейство GPT Image — мощный и универсальный инструмент, но у него есть известные ограничения:
- Задержка. Сложные запросы могут обрабатываться до 2 минут.
- Отображение текста. Качество рендеринга текста значительно улучшилось по сравнению с DALL·E, но модель всё ещё допускает неточности в расположении и чёткости букв.
- Постоянство. Модель хорошо сохраняет визуальную целостность внутри одной генерации, но может терять консистентность повторяющихся персонажей или элементов бренда между несколькими запросами.
- Контроль композиции. В структурированных макетах модель может ошибаться в точном расположении элементов.