dall-e-3, более мощный в текстовой рендеринге gpt-image-1, новейшее поколение gpt-image-2, а также серию моделей nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro, которые подключаются через тот же интерфейс. Все они могут генерировать высококачественные изображения на основе текстовых описаний.
Этот документ в основном описывает процесс использования OpenAI Images Generations API, с помощью которого мы можем легко использовать функции генерации изображений от OpenAI.
Процесс заявки
Чтобы использовать OpenAI Images Generations API, сначала перейдите в консоль Ace Data Cloud и получите ваш API Token для резервного копирования.
Если вы еще не вошли в систему или не зарегистрированы, вы будете автоматически перенаправлены на страницу входа, где вас пригласят зарегистрироваться и войти. После завершения вы будете автоматически возвращены на текущую страницу.
Один API Token позволяет вызывать все услуги платформы, не нужно отдельно запрашивать для каждой услуги. При первой заявке предоставляется бесплатный лимит, чтобы вы могли попробовать; при недостатке лимита можно пополнить общий баланс в консоли.
📘 Полная документация: OpenAI Images Generations 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, которую можно открыть в браузере или встроить на веб-страницу.
Варианты маршрутов (:official / :reverse)
gpt-image-2 по умолчанию использует стандартный маршрут. С помощью суффикса имени модели можно явно выбрать маршрут:
gpt-image-2:official: официальный канал, стабильный и соответствующий требованиям. Поддерживает реальное разрешение 2K / 4K, оплата за каждое изображение, цена составляет 2 раза больше, чем у стандартногоgpt-image-2. Если маршрут недоступен, возвращается ошибка, автоматического понижения не происходит.gpt-image-2:reverse: полностью эквивалентен стандартномуgpt-image-2, более выгодный по цене, цена остается прежней.
Поддерживаемые значения size
gpt-image-2 проверяет только формат size, если это не auto или пустая строка, то необходимо соответствовать WIDTHxHEIGHT (например, 1024x1024, 2048x1152, 800x600); любые другие формы вернут 400. Все размеры (1K / 2K / 4K / пользовательские) оплачиваются по единой ставке за одно изображение, без надбавки за размер.
Ограничения по размеру: пользовательские размеры должны удовлетворять условиям, что ширина и высота являются кратными 16, длинная сторона ≤ 3840, общее количество пикселей ≤ 8,294,400, превышение диапазона будет возвращено с кодом 4xx.
При явной передачеsize: "auto"платформа будет планировать холст в непрерывном пространстве соотношений и определять по следующему приоритету: явные пиксели или соотношения в подсказках, стандарты именования (бумага / печатные материалы / позиции платформы / реклама / устройства / фотография / кино), практики медиума, и только в последнюю очередь — вывод композиции. Поэтому, кроме распространенных1:1,4:5,9:16,21:9, также могут быть сохранены нестандартные соотношения, такие как1.91:1,1.85:1,2.39:1, ISO бумага1:√2; окончательный размер будет автоматически скорректирован до кратного 16 и пиксельного бюджета, поддерживаемого сервисом. Если автоматическое определение недоступно, будет возвращен стандартный формат модели, что не помешает генерации. Если полеsizeопущено, будет использован стандартный формат модели; если есть строгие требования к пикселям, рекомендуется напрямую передаватьWIDTHxHEIGHT. Выход в 1K не гарантирует строгого выравнивания пикселей — вы передаете1024x1024, но можете получить1254x1254, соотношение остается неизменным. Если вы снова передадите это какsize, оплата останется прежней. Однократный вызов 4K обычно требует 4–8 минут, рекомендуется использовать асинхронный обратный вызов сcallback_url, упомянутым ниже.
О параметреНиже приведены несколько различных реальных примеров, чтобы наглядно продемонстрировать возможностиngpt-image-2поддерживаетn > 1(значения от 1 до 10): один запрос может вернуть и выставить счет за соответствующее количество изображений. Чтобы результаты были различными, рекомендуется одновременно передавать разныеpromptилиseed. Это также применимо кgpt-image-1/gpt-image-1.5, а также к сериямnano-banana/nano-banana-2-lite/nano-banana-2/nano-banana-pro;dall-e-3поддерживает толькоn = 1. Обратите внимание, чтоresponse_format=b64_jsonподдерживает толькоn=1, приn>1используйте стандартный возврат URL. Если некоторые изображения не были сгенерированы, будут возвращены и выставлены счета только за успешные.
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, без необходимости переключать конечные точки, просто измените model на любое из приведенных ниже.
Важно: диапазон поддерживаемых параметров Nano Banana подключается к протоколу OpenAI через адаптер и, по сравнению сgpt-image-*, поддерживает только следующие параметры:model,prompt,size,n.
sizeбудет отображаться в соответствии с внутреннимaspect_ratio, не перечисленные размеры будут преобразованы в1:1:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16- Не поддерживаются параметры
quality,style,response_format,background,output_formatи т.д.; если они указаны, будут проигнорированы.n > 1поддерживается (1–10), будет возвращено и выставлено по количеству изображений.- Структура ответа соответствует формату OpenAI (
data[].url), ноcreatedфиксирован на0, и не будет возвращеноb64_json,revised_promptвсегда равен исходномуprompt.
Основной вызов
url:

Обновите до флагманской модели nano-banana-pro
Просто измените model на nano-banana-pro, остальные параметры остаются прежними:

Асинхронный обратный вызов
Механизм асинхронного обратного вызоваcallback_url также работает для nano-banana, процесс вызова полностью аналогичен другим моделям, подробности смотрите в разделе Асинхронный обратный вызов.
Основное использование
Теперь вы можете заполнить соответствующие поля на интерфейсе, как показано на изображении:
authorization, его можно выбрать из выпадающего списка. Другой параметр — model, model — это категория модели, которую мы выбираем для использования на сайте OpenAI DALL-E, здесь у нас в основном 1 модель, подробности можно посмотреть в предоставленных моделях. Последний параметр — prompt, prompt — это подсказка, которую мы вводим для генерации изображения.
Также вы можете заметить, что справа есть соответствующий сгенерированный код вызова, вы можете скопировать код и запустить его, или просто нажать кнопку «Попробовать» для тестирования.

created, ID, созданный для этой генерации изображения, используется для уникальной идентификации этой задачи.data, содержит информацию о результате генерации изображения.
data содержится конкретная информация о сгенерированном изображении, где url — это ссылка на детали сгенерированного изображения, как показано на изображении.

Параметр качества изображения quality
Теперь мы расскажем, как настроить некоторые детализированные параметры результата генерации изображения, среди которых параметр качества изображения quality включает два варианта: первый standard обозначает стандартное изображение, второй hd обозначает, что создаваемое изображение имеет более тонкие детали и большую согласованность.
Ниже устанавливается параметр качества изображения на standard, конкретные настройки показаны на изображении:


standard 的生成图片如下图所示:

hd ,可以得到如下图所示的图片:

hd 比 standard 生成的图片具有更精细的细节和更大的一致性。
图片大小尺寸参数 size
我们还可以设置生成图片的尺寸大小,我们可以进行下面的设置。
下面设置图片的尺寸大小为 1024 * 1024 ,具体设置如下图:


1024 * 1024 的生成图片如下图所示:

1792 * 1024 ,可以得到如下图所示的图片:
可以看到图片的尺寸大小很明显不一样,另外还可以设置更多尺寸大小,详情信息参考我们官网文档。
图片风格参数 style
图片风格参数 style 包含俩个参数,第一种 vivid 表示生成的图片是更加生动的,另一种 natural 表示生成的图片更加的自然一点。
下面设置图片风格参数为 vivid ,具体设置如下图:


vivid 的生成图片如下图所示:

natural ,可以得到如下图所示的图片:

vivid 比 natural 生成的图片具有更加生动逼真。
图片链接的格式参数 response_format
最后一个图片链接的格式参数 response_format 也有俩种,第一种 b64_json 是对图片链接进行 Base64 编码,另一种 url 就是普通的图片链接,可以直接查看图片。
下面设置图片链接的格式参数为 url ,具体设置如下图:


url для сгенерированного изображения — это URL изображения, который можно открыть напрямую, содержание изображения показано на следующем рисунке:

b64_json, можно получить результат с закодированной в Base64 ссылкой на изображение, конкретный результат показан на следующем рисунке:
Асинхронный обратный вызов
Поскольку время генерации изображений API OpenAI может быть относительно долгим, если API долго не отвечает, HTTP-запрос будет поддерживать соединение, что приведет к дополнительному расходу системных ресурсов, поэтому этот API также предоставляет поддержку асинхронных обратных вызовов. Общий процесс таков: когда клиент инициирует запрос, дополнительно указывается полеcallback_url, после того как клиент инициирует API-запрос, API немедленно возвращает результат, содержащий информацию о поле task_id, представляющем текущий идентификатор задачи. Когда задача завершена, результат генерации изображения будет отправлен на указанный клиентом callback_url в формате POST JSON, который также включает поле task_id, таким образом, результат задачи можно связать по ID.
Давайте рассмотрим пример, чтобы понять, как это работает.
Во-первых, Webhook-обратный вызов — это служба, которая может принимать HTTP-запросы, разработчики должны заменить его на URL своего собственного HTTP-сервера. Для удобства демонстрации используется публичный сайт примеров Webhook https://webhook.site/, открыв этот сайт, вы получите URL Webhook, как показано на рисунке:
Скопировав этот URL, вы можете использовать его в качестве Webhook, пример здесь — https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab.
Затем мы можем установить поле callback_url на указанный выше URL Webhook, а также заполнить соответствующие параметры, как показано в следующем коде:
task_id, поле data содержит такие же результаты генерации изображений, как и при синхронном вызове, с помощью поля task_id можно связать задачи.
Обработка ошибок
При вызове API, если возникнет ошибка, API вернет соответствующий код ошибки и информацию. Например:400 token_mismatched:Неверный запрос, возможно, из-за отсутствующих или недействительных параметров.400 api_not_implemented:Неверный запрос, возможно, из-за отсутствующих или недействительных параметров.401 invalid_token:Неавторизован, недействительный или отсутствующий токен авторизации.429 too_many_requests:Слишком много запросов, вы превысили лимит частоты.500 api_error:Внутренняя ошибка сервера, что-то пошло не так на сервере.

