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.
Сцена перша: Кінематографічний портрет
У підказках можна використовувати кінематографічні терміни (35mm плівка, мала глибина різкості, неонове світло тощо) для точного контролю атмосфери та якості. Python приклад виклику коду:
Сцена друга: Вінтажний туристичний постер (з текстовою обробкою)
gpt-image-2 стабільно виконує завдання з верстки та рендерингу шрифтів, що робить його ідеальним для створення постерів, меню, листівок та інших дизайнів з текстом.
url у повернутому результаті відповідає зображенню нижче:

AMALFI та ITALIA 1958 був чітко та правильно відрендерений.
Сцена третя: Складна композиція та підрахунок
Наступна підказка використовується для тестування здатності моделі дотримуватись структурованих інструкцій, таких як “кількість” та “позиція”.
dall-e-3.
Сцена четверта: Стиль ілюстрації (горизонтальний)
Вказуючи художні медіа та емоційні ключові слова, можна направити модель на створення стилізованої ілюстрації.
Асинхронність та зворотний виклик
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 негайно повертає результат, що містить інформацію про поле task_id, що представляє поточний 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:Внутрішня помилка сервера, щось пішло не так на сервері.

