Документация

Генерация изображений: как использовать

Гайд по /v1/images/generations и /v1/images/edits — параметры, base64-ответ, редактирование через multipart и JSON, лимит 20 МБ.

Обновлено 13 июля 2026 г.

Картинки генерируются запросом POST /v1/images/generations: обязательны model и prompt, ответ приходит в data[].b64_json. Редактирование — это POST /v1/images/edits: multipart с файлами, как в OpenAI SDK, или JSON с base64 (суммарно до 20 МБ). Для редактирования модель должна принимать картинки на вход — например, google/gemini-2.5-flash-image. Списание — после успешной генерации.

Как сгенерировать картинку?

По умолчанию response_format = b64_json, то есть картинка приходит прямо в теле ответа — остаётся декодировать base64 и сохранить. В usage — расход токенов (состав зависит от модели: gpt-image даёт полный разбор, gemini — только total_tokens, imagen токены не считает).

Какие параметры поддерживаются?

Основные: n (количество картинок), size («1024x1024» и т.п.), quality, response_format (b64_json | url). Это passthrough-поля — что именно умеет конкретная модель, решает она сама. Полная таблица полей — в референсе images/generations.

Генерировать умеют модели с пометкой «image» в каталоге: семейства gpt-image, gemini-*-image, imagen. Текстовая модель в этом эндпоинте ответит 400 unsupported_capability.

Как отредактировать картинку?

Эндпоинт POST /v1/images/edits принимает два формата тела:

  • multipart/form-data — так работает client.images.edit() в OpenAI SDK: файл image (можно несколько), опционально mask, плюс prompt и model;
  • application/json — то же тело, что у generations, с полем image (массив картинок как base64 или URL) — удобно для curl и бэкендов, где файла на диске нет.

Суммарный размер файлов — не больше 20 МБ.

JSON-вариант того же запроса — картинка объектом { "type": "base64", "data": "<...>", "mime_type": "image/png" } или { "type": "url", "data": "https://..." } в массиве image. Все поля — в референсе images/edits.

Тот же режим редактирования включается и в /v1/images/generations, если передать туда непустое поле image, — /v1/images/edits существует для совместимости с SDK, внутри это один путь.

Какая модель подходит для редактирования?

Та, что принимает картинки на вход (capability image_input) — сейчас это семейство gemini-*-image. Модель без этой возможности (например, imagen-4) ответит 400 unsupported_capability — подробнее про коды в гайде «Ошибки API». Актуальные пометки по каждой модели — в каталоге моделей.

Сколько стоит генерация?

Зависит от модели: где-то тариф за картинку, где-то по токенам. Цены в рублях — на странице цен для разработчиков, списание только после успешного ответа. Пощупать генерацию и редактирование без кода можно в генераторе изображений на сайте.