dall-e-3, модель с улучшенной способностью рендеринга текста gpt-image-1, новейшее поколение gpt-image-2, а также серию моделей nano-banana / nano-banana-2 / nano-banana-pro, подключаемых через тот же интерфейс. Все они способны создавать высококачественные изображения на основе текстовых описаний.
В этом документе описан процесс использования OpenAI Images Generations API, который позволяет легко применять функции генерации изображений серии OpenAI.
Процесс подачи заявки
Для использования OpenAI Images Generations API сначала перейдите на страницу OpenAI Images Generations API и нажмите кнопку «Acquire», чтобы получить необходимые учетные данные для запросов: Если вы не вошли в систему или не зарегистрированы, вас автоматически перенаправят на страницу входа, где можно зарегистрироваться и войти. После входа вы вернетесь на текущую страницу. При первом запросе предоставляется бесплатный лимит, позволяющий бесплатно использовать API.Модель GPT-Image-2
gpt-image-2 — новое поколение модели генерации изображений от OpenAI, которое по сравнению с dall-e-3 и gpt-image-1 имеет следующие улучшения:
- Улучшенное следование инструкциям: точное понимание сложных структурированных указаний, таких как композиция, подсчет объектов, позиционные отношения.
- Четкое рендеринг текста: английские буквы и цифры на постерах, меню, инфографике и логотипах практически не искажаются.
- Богатое стилевое исполнение: нативная поддержка множества стилей, включая кинематографичные портреты, винтажные постеры, детские иллюстрации, продуктовую фотографию, инфографику.
- Поддержка нескольких пропорций и высокого разрешения: 5 пропорций (1:1, 4:3, 3:4, 16:9, 9:16) и 3 уровня разрешения (1K / 2K / 4K).
model со значением gpt-image-2. В ответе поле url содержит постоянную ссылку на изображение, размещённое на platform.cdn.acedata.cloud, которую можно открыть в браузере или встроить на веб-страницу.
Поддерживаемые значения size
gpt-image-2 проверяет только формат size: если это не auto или пустая строка, значение должно соответствовать формату WIDTHxHEIGHT (например, 1024x1024, 2048x1152, 800x600); любое другое значение приведёт к ошибке 400. Все размеры (1K / 2K / 4K / пользовательские) тарифицируются одинаково за одно изображение, без наценок за размер.
Жёсткие ограничения на пользовательские размеры: ширина и высота должны быть кратны 16, максимальная длина стороны — 3840 пикселей, максимальное количество пикселей — 8,294,400. Превышение приведёт к отказу с ошибкой 4xx.
Вы также можете передатьsize: "auto"или опустить полеsize, тогда модель выберет размер по умолчанию. При 1K разрешении выходные изображения могут не строго соответствовать переданным пикселям — например, при запросе1024x1024может быть возвращено1254x1254с сохранением пропорций. Если использовать это значение повторно, плата не изменится. Вызов для 4K обычно занимает 4–8 минут, рекомендуется использовать асинхронныйcallback_urlдля обратного вызова.
О параметреНиже приведены реальные примеры, демонстрирующие возможностиnВgpt-image-2не поддерживаетсяn > 1: параметр игнорируется, и независимо от значенияnвозвращается только одно изображение, тарифицируемое как одно. Для получения нескольких вариантов необходимо самостоятельно параллельно отправлять несколько запросов (рекомендуется менятьpromptилиseed, чтобы избежать схожих результатов). Это ограничение также действует для моделейgpt-image-1/gpt-image-1.5и серииnano-banana. Единственная модель с нативной поддержкойn > 1—dall-e-2;dall-e-3поддерживает толькоn = 1.
gpt-image-2.
Сценарий 1: Кинематографичный портрет
В подсказках можно использовать кинотермины (35mm пленка, малая глубина резкости, неоновый свет и т.п.) для точного управления атмосферой и текстурой. Пример вызова на Python:Сценарий 2: Винтажный туристический постер (с рендерингом текста)
gpt-image-2 стабильно работает с типографикой и шрифтами, идеально подходит для постеров, меню, открыток с текстом.
url:
Модель точно воспроизвела стиль арт-деко, заголовки AMALFI и ITALIA 1958 чётко и правильно отрисованы.
Сценарий 3: Сложная композиция и подсчёт
Тестирование способности модели следовать структурированным указаниям по количеству и расположению объектов.dall-e-3.
Сценарий 4: Иллюстративный стиль (горизонтальный формат)
Указание художественных материалов и настроения позволяет получить стилизованные иллюстрации.Асинхронность и обратный вызов
Вызовgpt-image-2 обычно занимает 60–90 секунд. Чтобы не держать соединение открытым, можно использовать механизм асинхронного обратного вызова через callback_url. Процесс вызова идентичен другим моделям.
Серия моделей Nano Banana
Серияnano-banana основана на модели Gemini и подключена через тот же интерфейс /openai/images/generations, смена endpoint не требуется — достаточно указать нужное значение model из таблицы ниже.
Важное: поддерживаемые параметры Nano Banana адаптирована под протокол OpenAI и поддерживает только параметры:model,prompt,size.
sizeпреобразуется в внутреннийaspect_ratioсогласно таблице, неуказанные размеры приводятся к1:1:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16- Параметры
n,quality,style,response_format,background,output_formatне поддерживаются и игнорируются.- Ответ соответствует формату OpenAI (
data[].url), ноcreatedвсегда 0,b64_jsonотсутствует,revised_promptвсегда совпадает с исходнымprompt.
Пример базового вызова
url:
Обновление до флагманской модели nano-banana-pro
Достаточно изменить model на nano-banana-pro, остальные параметры остаются без изменений:
Асинхронный обратный вызов
Механизмcallback_url также поддерживается для nano-banana, процесс вызова идентичен другим моделям, см. раздел Асинхронный обратный вызов.
Базовое использование
Далее можно заполнить соответствующие поля в интерфейсе, как показано на изображении: При первом использовании API необходимо заполнить минимум три поля:authorization (выбирается из выпадающего списка), model (выбор модели OpenAI DALL-E, подробности в документации моделей), и prompt — текст подсказки для генерации изображения.
Справа отображается сгенерированный код вызова, который можно скопировать и запустить, либо нажать кнопку «Try» для теста.
Пример вызова на Python:
created— уникальный идентификатор задачи генерации изображения.data— содержит информацию о сгенерированном изображении.
data поле url содержит ссылку на сгенерированное изображение.
Параметр качества изображения quality
Далее рассмотрим, как настроить параметры качества результата генерации. Параметр quality имеет два значения: standard — стандартное качество, и hd — более детализированное и согласованное изображение.
Пример установки качества standard:
Справа отображается сгенерированный код вызова, который можно скопировать или запустить через кнопку «Try».
Пример кода на Python:
standard:
Аналогично, установив параметр качества в hd, получаем изображение с более детальной проработкой:
hd обеспечивает более тонкие детали и большую согласованность по сравнению с standard.
Параметр размера изображения size
Можно задать размер генерируемого изображения.
Пример установки размера 1024x1024:
Справа отображается код вызова, который можно скопировать или запустить:
Пример кода на Python:
1024x1024:
Аналогично, размер 1792x1024 даёт изображение с другими пропорциями:
Можно задавать и другие размеры, подробности в официальной документации.
Параметр стиля изображения style
Параметр style имеет два значения: vivid — более живое изображение, и natural — более естественное.
Пример установки стиля vivid:
Справа отображается код вызова:
Пример кода:
vivid:
Аналогично, параметр natural даёт более естественное изображение:
vivid создаёт более живые и яркие изображения по сравнению с natural.
Параметр формата ссылки на изображение response_format
Параметр response_format имеет два значения: b64_json — ссылка на изображение в Base64, и url — обычная ссылка на изображение.
Пример установки response_format в url:
Справа отображается код вызова:
Пример кода:
url доступна для прямого просмотра:
Аналогично, установка response_format в b64_json вернёт изображение в Base64, пример:
Асинхронный обратный вызов
Поскольку генерация изображений через OpenAI Images Generations API может занимать продолжительное время, при отсутствии ответа HTTP-соединение остаётся открытым, что приводит к дополнительным затратам ресурсов. Поэтому API поддерживает асинхронный обратный вызов. Процесс: клиент при запросе указывает полеcallback_url. API сразу возвращает ответ с полем task_id — идентификатором задачи. После завершения генерации результат в формате POST JSON отправляется на указанный callback_url, включая task_id для связывания результата с задачей.
Пример настройки webhook — используем публичный сервис https://webhook.site/, где можно получить URL для приёма запросов:
Скопируйте URL, например https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab, и используйте его в поле callback_url:
task_id и поле data с результатом генерации, что позволяет связать ответ с запросом.
Обработка ошибок
При ошибках API возвращает соответствующие коды и сообщения, например:400 token_mismatched: неверный запрос, возможно, отсутствуют или некорректны параметры.400 api_not_implemented: неверный запрос, возможно, отсутствуют или некорректны параметры.401 invalid_token: неавторизован, неверный или отсутствующий токен.429 too_many_requests: превышен лимит запросов.500 api_error: внутренняя ошибка сервера.

