Skip to main content
OpenAI Images Generations API наразі підтримує різні моделі генерації зображень, включаючи класичну 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.
Про параметр n gpt-image-2 наразі не підтримує n > 1: цей параметр ігнорується, незалежно від того, чи передано n=1 чи n=10, у відповіді повертається лише одне зображення, тарифи нараховуються за одне. Якщо потрібно отримати кілька варіантів, слід робити кілька паралельних запитів (рекомендується змінювати prompt або seed, інакше зображення будуть дуже схожими). Це обмеження також стосується моделей gpt-image-1 / gpt-image-1.5 та серії nano-banana. Єдина модель, що підтримує n > 1dall-e-2; dall-e-3 підтримує лише n = 1.
Нижче наведено кілька реальних прикладів, що демонструють можливості gpt-image-2.

Сценарій 1: Кінематографічний портрет

У підказці можна використовувати кінематографічні терміни (35mm плівка, мала глибина різкості, неонове світло) для точного контролю атмосфери та текстури. Приклад виклику на Python:
Приклад відповіді:
Згенероване зображення:

Сценарій 2: Вінтажний туристичний постер (з рендерингом тексту)

gpt-image-2 стабільно виконує верстку та рендеринг шрифтів, що ідеально підходить для постерів, меню, листівок з текстом.
Зображення за посиланням у відповіді:

Модель точно відтворила візуальний стиль Art Deco, а текст AMALFI і ITALIA 1958 чітко та коректно відображено.

Сценарій 3: Складна композиція та підрахунок

Цей запит перевіряє здатність моделі слідувати структурованим інструкціям щодо кількості та розташування.
Згенероване зображення:

Кількість книг на трьох полицях (1 / 3 / 7) повністю відповідає запиту — це було складно стабільно реалізувати в епоху 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 / 256x2561:1
    • 1792x102416:9
    • 1024x17929: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 у запиті:
Після виконання отримаємо миттєву відповідь:
Через деякий час на Webhook URL надійде результат генерації:
У відповіді є поле task_id та data з результатом генерації, що дозволяє зв’язати завдання по ID.

Обробка помилок

При виклику API у разі помилки повертається відповідний код та повідомлення. Наприклад:
  • 400 token_mismatched: Неправильний запит, можливо, через відсутність або некоректність параметрів.
  • 400 api_not_implemented: Неправильний запит, можливо, через відсутність або некоректність параметрів.
  • 401 invalid_token: Неавторизований, недійсний або відсутній токен авторизації.
  • 429 too_many_requests: Занадто багато запитів, перевищено ліміт.
  • 500 api_error: Внутрішня помилка сервера.

Приклад відповіді з помилкою

Висновок

Цей документ допоміг вам ознайомитися з використанням OpenAI Images Generations API для легкого застосування офіційної функції генерації зображень OpenAI DALL-E. Сподіваємося, що він допоможе вам успішно інтегрувати та використовувати API. Якщо у вас виникнуть питання, будь ласка, звертайтеся до нашої технічної підтримки.