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з тією ж пропорцією. Якщо повторно передати цей розмір уsize, тарифи не зміняться. Виклик на 4K зазвичай займає 4–8 хвилин, рекомендується використовувати асинхронний зворотний виклик черезcallback_url.
Про параметрНижче наведено кілька реальних прикладів, що демонструють можливостіngpt-image-2наразі не підтримуєn > 1: цей параметр ігнорується, незалежно від того, чи переданоn=1чиn=10, у відповіді повертається лише одне зображення, тарифи нараховуються за одне. Якщо потрібно отримати кілька варіантів, слід робити кілька паралельних запитів (рекомендується змінювати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 стабільно виконує верстку та рендеринг шрифтів, що ідеально підходить для постерів, меню, листівок з текстом.
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за таблицею:
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 (модель OpenAI DALL-E, яку хочете використовувати; тут доступна одна модель, див. наш перелік моделей) та prompt (текстова підказка для генерації зображення).
Зверніть увагу, що праворуч генерується код виклику, який можна скопіювати та виконати, або натиснути кнопку «Try» для тестування.
Приклад виклику на Python:
created— унікальний ID генерації зображення.data— інформація про результат генерації.
data міститься інформація про згенероване зображення, поле url містить посилання на зображення.
Параметр якості зображення quality
Далі розглянемо, як налаштувати параметри якості згенерованого зображення. Параметр quality має два значення: standard — стандартна якість, та hd — зображення з більшою деталізацією та узгодженістю.
Приклад налаштування якості standard:
Знову ж таки, праворуч генерується код виклику, який можна скопіювати або натиснути «Try».
Приклад виклику:
standard:
Якщо змінити параметр якості на hd, отримаємо зображення з більшою деталізацією:
Параметр розміру зображення size
Можна також налаштувати розмір згенерованого зображення.
Приклад налаштування розміру 1024x1024:
Код виклику:
1024x1024:
Якщо змінити розмір на 1792x1024, отримаємо інше співвідношення:
Детальніше про підтримувані розміри дивіться у документації на сайті.
Параметр стилю зображення 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 — це HTTP-сервіс, який приймає запити. Розробник повинен замінити URL на свій сервер. Для демонстрації можна використати публічний сервіс https://webhook.site/, де після відкриття сайту отримуємо Webhook URL:
Скопіюйте цей URL, наприклад https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab, і використайте як callback_url у запиті:
task_id та data з результатом генерації, що дозволяє зв’язати завдання по ID.
Обробка помилок
При виклику API у разі помилки повертається відповідний код та повідомлення. Наприклад:400 token_mismatched: Неправильний запит, можливо, через відсутність або некоректність параметрів.400 api_not_implemented: Неправильний запит, можливо, через відсутність або некоректність параметрів.401 invalid_token: Неавторизований, недійсний або відсутній токен авторизації.429 too_many_requests: Занадто багато запитів, перевищено ліміт.500 api_error: Внутрішня помилка сервера.

