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: официальный маршрут. Поддерживаетn > 1(возвращает несколько изображений за раз) и истинное разрешение 2K / 4K, оплата за каждое изображение, цена составляет 2 раза больше, чем у стандартногоgpt-image-2. В настоящее время доступно только через канал openai-hk, при недоступности маршрута возвращается ошибка, не происходит понижения до обратного маршрута.gpt-image-2:reverse: полностью эквивалентно стандартномуgpt-image-2(обратный маршрут), используется для явного указания на использование обратного маршрута, цена остается неизменной.
Ограничения, упомянутые ниже в разделе “О параметреn”, применимы только к стандартному / обратному маршруту;gpt-image-2:officialподдерживаетn > 1и оплату за изображение.
Поддерживаемые значения 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, соотношение останется неизменным. Если вы снова передадите это какsize, оплата останется прежней. Однократный вызов 4K обычно требует 4–8 минут, рекомендуется использовать асинхронный обратный вызов сcallback_url, упомянутым ниже.
О параметреНиже приведены несколько реальных примеров из разных ракурсов, чтобы наглядно продемонстрировать возможностиnВ настоящее времяgpt-image-2не поддерживаетn > 1: этот параметр будет тихо проигнорирован, независимо от того, передаете ли выn=1илиn=10, однократный запрос всегда вернет 1 изображение и будет оплачен только за 1 изображение. Если вам нужно получить несколько кандидатных изображений за раз, пожалуйста, инициируйте несколько запросов параллельно (рекомендуется одновременно передавать разныеpromptили разныеseed, иначе полученные изображения могут быть очень похожи). Это ограничение также применяется кgpt-image-1/gpt-image-1.5, а также к сериямnano-banana/nano-banana-2-lite/nano-banana-2/nano-banana-pro.dall-e-2в настоящее время является единственной моделью, которая нативно поддерживаетn > 1;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, без необходимости переключения конечной точки, просто измените model на любое из приведенных ниже.
Важно: диапазон поддерживаемых параметров Nano Banana подключается к протоколу OpenAI через адаптер и, по сравнению сgpt-image-*, поддерживает только следующие параметры: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, процесс вызова полностью аналогичен другим моделям, подробности смотрите в разделе асинхронный обратный вызов.
Основное использование
Теперь вы можете заполнить соответствующие поля на интерфейсе, как показано на изображении:
authorization, его можно выбрать из выпадающего списка. Другой параметр — model, model — это категория модели, которую мы выбираем для использования на сайте OpenAI DALL-E, здесь у нас в основном есть 1 модель, подробности можно посмотреть в предоставленных моделях. Последний параметр — prompt, prompt — это текстовый запрос, который мы вводим для генерации изображения.
Также вы можете заметить, что справа есть соответствующий код вызова, который вы можете скопировать и запустить, или просто нажать кнопку «Try» для тестирования.

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, так что результат задачи можно связать по идентификатору.
Давайте рассмотрим пример, чтобы понять, как это работает.
Во-первых, 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:Внутренняя ошибка сервера, что-то пошло не так на сервере.

