Модель рисует картинку по текстовому описанию. Для этого есть два эндпоинта: /v1/images/generations создаёт изображение с нуля, /v1/images/edits переделывает уже существующее по описанию.
Обязательных полей два: model и prompt с описанием того, что нужно нарисовать. Дополнительно задаются размер, качество и число вариантов.
curl "https://api.proxyapi.ru/v1/images/generations" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <КЛЮЧ>" \ -d '{ "model": "openai/gpt-image-1-mini", "prompt": "Деревянный маяк на скале, шторм, вечерний свет", "size": "1024x1024" }'
Изображение возвращается в поле data[0].b64_json — это картинка, закодированная в base64. Ссылки на файл в ответе нет: результат нигде не хранится, его нужно сохранить самостоятельно.
Поле n задаёт число вариантов в одном запросе. Каждый оплачивается отдельно.
/v1/images/edits принимает исходное изображение вместе с описанием изменений. Запрос отправляется не в JSON, а как форма с вложенным файлом.
curl "https://api.proxyapi.ru/v1/images/edits" \ -H "Authorization: Bearer <КЛЮЧ>" \ -F "model=openai/gpt-image-1" \ -F "image=@lighthouse.png" \ -F "prompt=Сделать утро вместо вечера, добавить чаек"
Часть моделей принимает несколько исходных изображений — тогда они служат образцами стиля или объектов, которые нужно перенести на результат.
- Потоковой генерации. Промежуточные кадры не отдаются, ответ приходит целиком, когда картинка готова.
- Некоторых параметров OpenAI у моделей других вендоров. Настройки вроде
moderation,styleиinput_fidelityподдерживаются не везде, и запрос с ними вернёт ошибку 400.
Генерация изображения занимает заметно больше времени, чем текстовый ответ, — таймаут в клиенте стоит выставлять с запасом.
Считается по-разному в зависимости от модели: у одних цена складывается из токенов описания и токенов самого изображения, у других это фиксированная сумма за картинку, зависящая от размера и качества. Что именно и по какой цене — видно в каталоге моделей.
- Распознавание изображений — обратная задача: показать модели картинку.
- Модели — какие модели доступны.
Частые вопросы
Почему в ответе нет ссылки на картинку?
Изображение возвращается прямо в теле ответа, в поле data[0].b64_json, закодированное в base64. Файл нигде не сохраняется, поэтому его нужно раскодировать и записать на своей стороне.
Можно ли получить несколько вариантов за один запрос?
Да, за это отвечает поле n. Каждый вариант считается отдельным изображением и оплачивается отдельно.
Как изменить уже существующее изображение?
Для этого есть эндпоинт /v1/images/edits: в него отправляется исходный файл вместе с описанием изменений. Запрос передаётся формой с вложением, а не JSON.
Почему запрос выполняется так долго?
Рисование занимает больше времени, чем генерация текста, и промежуточных результатов здесь не бывает. Таймаут в клиенте стоит увеличить, иначе запрос оборвётся раньше, чем придёт картинка.
Последняя редакция: 3 сентября 2026 г.