Skip to main content
POST
Image editing: edit or fuse reference images with instructions
Интерактивный Playground справа поддерживает прямую локальную загрузку файлов. Введите ваш API Key в поле Authorization (формат: Bearer sk-xxx), выберите изображения, заполните prompt и model, затем нажмите send.
Область применения: Эта страница предназначена для редактирования или объединения одного или нескольких опорных изображений. Запросы используют multipart/form-data. Для чистой генерации изображений по тексту используйте эндпоинт Text-to-Image.
🖥️ Ограничение браузерного Playground (режим по умолчанию b64_json)Этот эндпоинт по умолчанию использует response_format: "b64_json", поэтому ответ содержит base64-строку размером в несколько МБ, и браузерный Playground может показывать 请求时发生错误: unable to complete requestзапрос на самом деле завершился успешно; браузер просто не может отрисовать такую длинную base64-строку.Рекомендуемый рабочий процесс:
  • Нужно только посмотреть изображение в Playground? Явно передайте "response_format": "url" — ответом будет одна ссылка R2, и она отобразится без проблем.
  • Нужны base64 или загрузка больших опорных изображений? Скопируйте кодовый пример ниже и запустите его локально — код автоматически обрабатывает загрузку и декодирование.
📎 Порядок нескольких изображений важенПоле image можно повторять для загрузки нескольких опорных изображений. Порядок определяет, как будут разрешаться «image1/image2/image3» в prompt. Мы рекомендуем ссылаться на них явно, например:
Поместите человека из image1 в сцену image2, используя художественный стиль image3
Рекомендуется ≤ 10MB на изображение, форматы png / jpg / webp. Слишком большие изображения могут упереться в лимиты шлюза.
🎯 Правки с сохранением формы: Соотношение сторон результата этого эндпоинта следует тому опорному изображению, которое prompt указывает как цель редактированияне обязательно первому в сценариях с несколькими изображениями.Например, при prompt «измените image2, измените одежду и шляпу image2, чтобы они соответствовали image1», если image2 имеет формат 1:1, выход тоже будет 1:1 (даже если image1 — пейзаж 16:9).Полезно для замены одежды, добавления аксессуаров, ретуши и других правок с сохранением формы. Поле size не влияет на эту модель (передача любого значения будет молча проигнорирована — для жесткой фиксации размера используйте gpt-image-2-vip). Если prompt не выбирает цель, модель решает сама.

Примеры кода

Python

Редактирование одного изображения:
Объединение нескольких изображений:

cURL

Редактирование одного изображения:
Объединение нескольких изображений:

Node.js (нативный fetch + FormData)

JavaScript в браузере (объекты File)

Краткая справка по параметрам

Итерация в несколько ходов: Подавайте предыдущее выходное изображение обратно как вход image с новыми инструкциями, чтобы итеративно уточнять результат.

Формат ответа

Как и у эндпоинта text-to-image: data[0] возвращает либо url, либо b64_json — никогда оба (зависит от response_format). Этот эндпоинт по умолчанию использует b64_json. b64_json режим (по умолчанию):
url режим (требует явного "response_format": "url"):
Проверено в июле 2026: поле b64_json — это необработанный base64 без префикса data: — декодируйте его или добавьте префикс вручную перед отображением. В более ранних версиях префикс действительно был включен, поэтому всегда сначала проверяйте startsWith('data:'), чтобы обработать оба варианта.

Авторизации

Authorization
string
header
обязательно

API Key from the API易 Console

Тело

multipart/form-data
model
enum<string>
по умолчанию:gpt-image-2-all
обязательно

Model name, fixed to gpt-image-2-all

Доступные опции:
gpt-image-2-all
prompt
string
обязательно

Edit/fusion instruction. For multi-image fusion, reference upload order as image1/image2/image3

Пример:

"Put the person from image1 into the scene of image2, using the art style of image3"

image
file[]
обязательно

Reference images. For a single image, send the field once; for multiple images, repeat the same image field (e.g., -F [email protected] -F [email protected]) — upload order maps to image1 / image2 / ... in the prompt. Recommended ≤ 10MB each, formats png / jpg / webp.

response_format
enum<string>
по умолчанию:b64_json

Response format. b64_json returns a base64 string already prefixed with a data URL header (default); url returns an R2 CDN link

Доступные опции:
b64_json,
url

Ответ

Image successfully generated. Defaults to base64 in data[0].b64_jsonurl is not returned in the same response.

Image editing response. data[0] returns either url or b64_json, never both (depends on response_format; this endpoint defaults to b64_json).

data
object[]

Result array (this model returns 1 image per call)

created
integer

Unix timestamp (seconds)

usage
object

Token usage statistics