В этой статье
GPT Image 2 редактирует фотографию через OpenAI API: вы передаёте исходный файл, текстовое описание правки и, если нужно, маску. На выходе API возвращает новое изображение. Для этого сценария нужен запрос к endpoint /v1/images/edits, а не окно ChatGPT Images. Описание модели и её возможностей смотрите в документации GPT-Image-2.
Ниже разберём аккуратную правку: на фотографии комнаты нужно убрать небольшое пятно со стены, сохранив мебель, окно, освещение и кадрирование.
Что подготовить до запроса
Соберите в одной папке:
room.jpg— исходную фотографию;mask.png— маску с отмеченной областью пятна;- API-ключ OpenAI, переданный в переменной окружения
OPENAI_API_KEY.
Сначала осмотрите исходник при увеличении. Отметьте, где заканчивается пятно, проходит ли рядом край мебели, тень или линия окна. Чем точнее вы понимаете сцену, тем спокойнее получится промпт: модель должна получить не только команду «убрать пятно», но и описание того, что в кадре нельзя сдвигать.
Маска нужна, чтобы направить внимание на локальную область. Она не превращается в жёсткую монтажную границу: модель может затронуть соседнюю фактуру или изменить деталь за пределами выделения. Поэтому маска — подсказка для редактирования, а не обещание пиксельной изоляции. Такой подход описан в руководстве по генерации изображений.
Сохраните маску в PNG с альфа-каналом и теми же размерами, что у room.jpg: область пятна должна быть полностью прозрачной, остальные участки — непрозрачными. Оставьте вокруг пятна небольшой запас. Если захватить половину стены, модель получит слишком много свободы и может незаметно перестроить фактуру или свет.
Если собственный API-код не нужен, есть отдельный пользовательский маршрут — оформить подписку ChatGPT через Amber Market. В карточке указаны варианты Go, Plus и Pro на один месяц; подключение заявлено на аккаунте покупателя, а актуальные сумму и условия нужно проверить перед заказом. Это подписка на пользовательский ChatGPT, а не пополнение OpenAI API и не замена endpoint GPT Image 2.
Как отправить фотографию на редактирование
Для запроса используйте модель gpt-image-2, исходное изображение, маску и ясный промпт. Пример через curl:
curl https://api.openai.com/v1/images/edits \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F "model=gpt-image-2" \
-F "image=@room.jpg" \
-F "mask=@mask.png" \
-F 'prompt=Уберите небольшое пятно на стене в отмеченной области. Восстановите естественную однородную фактуру стены. Сохраните без изменений мебель, окно, свет, тени, перспективу и кадрирование комнаты. Не добавляйте новых предметов и не меняйте цветовую температуру фотографии.' \
-F "size=1536x1024" \
-F "output_format=png" \
-o response.json
В запросе отдельно видны четыре важных решения:
model=gpt-image-2фиксирует нужную модель, а не просто любой доступный генератор изображений.image=@room.jpgпередаёт фотографию, с которой нужно работать.mask=@mask.pngуказывает область, требующую внимания.promptописывает не только действие, но и неподвижные элементы сцены.
Параметры размера и формата вывода выбирайте под задачу и текущие ограничения API. В справочнике Images API перечислены параметры запроса, включая модель, промпт, размер и формат результата. Лимиты, цены и доступность конкретного alias перед запуском стоит сверить там же: их нельзя считать постоянными.
Ответ содержит данные изображения в поле data. Если в вашей конфигурации API возвращается b64_json, сохранить PNG можно так:
jq -r '.data[0].b64_json' response.json | base64 --decode > room-edited.png
Проверьте структуру ответа перед декодированием. Если API вернул ошибку, сначала исправьте её причину — например, формат файла, размер или параметры запроса — и не принимайте пустой или неполный ответ за готовую фотографию.
Как написать промпт, чтобы не потерять сцену
В локальном редактировании важны два слоя описания. Первый говорит, что изменить: удалить пятно и восстановить фактуру стены. Второй фиксирует композицию: мебель, окно, свет, тени, перспективу и кадрирование должны остаться прежними.
Такой промпт лучше, чем короткое «сделай стену чистой». Короткая команда оставляет модели простор для интерпретации: она может выровнять соседнюю тень, поменять оттенок стены или слегка перестроить визуальный баланс комнаты. В кадре это заметно по краям — там, где спокойная поверхность встречается с ножкой стула, рамой окна или мягкой тенью.
Если пятно расположено рядом со сложной границей, добавьте её в текст отдельно: «не изменяйте контур шкафа», «сохраните тень от подоконника», «не ретушируйте отражение в стекле». Команда должна описывать наблюдаемую сцену, а не только желаемый результат.
Как проверить результат
Не оценивайте файл только по тому, исчезло ли пятно. Откройте room.jpg и room-edited.png рядом, а затем увеличьте изменённую область. Проверьте:
- границы маски и соседние участки стены;
- направление и мелкую фактуру поверхности;
- тени от мебели и окна;
- мебель, ручки, рамы и другие прямые линии;
- лица, если они случайно попали в кадр;
- текст и логотипы, если они были на исходной фотографии;
- размер, пропорции и кадрирование всего изображения.
Особенно внимательно смотрите на переход от исправленной стены к нетронутой. Если там появился мягкий ореол, повторяющийся узор или изменилась тень, сравните участок с исходником на том же масштабе. Маска помогает направить правку, но не гарантирует сохранение каждого пикселя.
При побочном изменении сузьте маску и сделайте промпт конкретнее. Например, выделите только пятно, уберите из описания лишние пожелания и добавьте запрет на изменение ближайшего края шкафа. Затем повторите запрос и снова сравните результат с room.jpg. Иногда полезнее сделать две небольшие правки последовательно, чем одной маской охватить всю стену.
Что важно не перепутать
Интерфейс ChatGPT Images и OpenAI API решают похожую задачу разными маршрутами. В ChatGPT можно загружать фотографию и описывать правку в диалоге, но это не способ выбрать именно модель gpt-image-2 и вызвать endpoint /v1/images/edits. Если вам нужны воспроизводимый запрос, маска, параметры вывода и проверяемый ответ для кода, используйте API.
И наоборот: подписка ChatGPT не даёт права автоматически считать API оплаченной или доступной. Для API отдельно проверяйте ключ, документацию, лимиты, цены и текущий идентификатор модели. Для пользовательского интерфейса можно открыть инструкцию по исправлению фото в ChatGPT, а если сначала нужно разобраться с загрузкой — инструкцию по загрузке фото в ChatGPT.
Итоговый рабочий цикл выглядит просто: подготовить исходник и узкую маску, отправить их на /v1/images/edits с точным промптом, сохранить ответ и сравнить его с оригиналом. Последний шаг здесь такой же важный, как сам запрос: взгляд замечает лишний блик, сдвинутую линию и чужую фактуру там, где автоматическая проверка видит только успешно сформированный файл.
Источники
- GPT-Image-2 ModelOpenAI Developers
- Generación de imágenesOpenAI Developers
- Create imageOpenAI Developers