Сервіс редагування зображень OpenAI дозволяє передавати будь-яку кількість зображень та інструкцій і отримувати змінені зображення. Наразі інтерфейс підтримуєDocumentation Index
Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
Use this file to discover all available pages before exploring further.
dall-e-2, gpt-image-1, найновіший gpt-image-2, а також серію моделей nano-banana / nano-banana-2 / nano-banana-pro, інтегрованих через той самий інтерфейс.
Цей документ описує процес використання OpenAI Images Edits API, що дозволяє легко користуватися офіційними функціями редагування зображень OpenAI.
Процес отримання доступу
Щоб використовувати OpenAI Images Edits API, спочатку перейдіть на сторінку OpenAI Images Edits API та натисніть кнопку «Acquire», щоб отримати необхідні для запиту облікові дані:
Якщо ви ще не увійшли або не зареєстровані, вас автоматично перенаправить на сторінку входу, де можна зареєструватися або увійти. Після входу ви повернетесь на цю сторінку.
При першому запиті надається безкоштовний ліміт для безкоштовного використання API.
Модель GPT-Image-2
gpt-image-2 у сценаріях редагування зображень має значні покращення порівняно з gpt-image-1:
- Стабільніше збереження структури: при зміні шкіри, кольорової гами, фону майже не порушується оригінальна композиція та макет.
- Точніше збереження тексту: інформаційні графіки, плакати, меню з текстом після редагування залишаються чіткими та читабельними.
- Підтримка прямої передачі URL: окрім традиційного завантаження файлів через
multipart/form-data,gpt-image-2додатково підтримує передачу URL зображення у форматі JSON, що дозволяє не завантажувати зображення локально — ідеально для серверних конвеєрів. - Підтримка високої роздільної здатності: можна передати 1K оригінал і через параметр
sizeзапросити 2K / 4K вихід, модель одночасно виконає масштабування під час редагування.
Підтримувані значення size та тарифи
Обмеження size у інтерфейсі редагування повністю збігаються з інтерфейсом генерації — gpt-image-2 приймає size як auto, порожнє або у форматі WIDTHxHEIGHT. Будь-який інший формат поверне помилку 400. Тарифи поділяються на два рівні, незалежно від роздільної здатності оригіналу, лише за значенням size:
- 1K стандартна ціна: будь-який рекомендований розмір 1K з таблиці нижче або поширені 1K псевдоніми (
1254x1254,1672x941,941x1672). - Інші тарифи (1.5×): рекомендовані 2K / 4K розміри з таблиці, а також будь-які ваші власні
WIDTHxHEIGHT.
| Співвідношення | 1K (стандартна ціна) | 2K рекомендоване (×1.5) | 4K рекомендоване (×1.5) |
|---|---|---|---|
| 1:1 | 1024x1024 | 2048x2048 | 2880x2880 |
| 4:3 | 1536x1024 | 2048x1536 | 3264x2448 |
| 3:4 | 1024x1536 | 1536x2048 | 2448x3264 |
| 16:9 | 1792x1024 | 2048x1152 | 3840x2160 |
| 9:16 | 1024x1792 | 1152x2048 | 2160x3840 |
Наприклад: якщо оригінал1024x1024, аsizeпередано як2048x2048, модель відредагує та виведе 2K зображення, тарифікується як «інші»; при3840x2160виводиться 4K горизонтальне зображення, також тарифікується як «інші»; приautoабо пропущеному параметрі тарифікується як 1K стандартна ціна.
Про параметрНижче наведено два реальних приклади, що демонструють можливості редагуванняnІнтерфейс редагуванняgpt-image-2наразі не підтримуєn > 1: цей параметр ігнорується, незалежно від значенняn, повертається лише одне зображення і тарифікується як одне. Якщо потрібно отримати кілька варіантів, слід робити кілька паралельних запитів. Це обмеження також діє дляgpt-image-1/gpt-image-1.5та серіїnano-banana. Лишеdall-e-2наразі підтримуєn > 1нативно.
gpt-image-2.
Варіант виклику 1: JSON + URL зображення (рекомендовано)
Надсилайте запит у форматіapplication/json, у полі image вказуйте URL зображення, модель завантажить його та відредагує за prompt.
Наприклад, оригінальне зображення — науково-популярна ілюстрація, створена gpt-image-2:


Підказка: полеimageтакож підтримує масив, наприклад"image": ["url1", "url2", "url3"], до 16 зображень для комплексного редагування.
Варіант виклику 2: JSON + кілька зображень для референсу
gpt-image-2 підтримує одночасне використання кількох зображень як референс, наприклад, об’єднати кілька товарів у кошик подарунків:
Приклад сценарію: зміна стилю + збереження структури
Ще один приклад — замінити дерев’яну книжкову полицю на сучасну, але зберегти кількість і розташування книг на кожній полиці. Оригінал (створенийgpt-image-2 дерев’яна полиця):

task_id: e9544dba-727e-44a2-81e1-223d49869380):

Варіант виклику 3: multipart/form-data (сумісність з OpenAI SDK)
Якщо ви користуєтесь офіційним OpenAI Python SDK, можна використовувати звичний спосіб завантаження черезmultipart/form-data, лише змініть model на gpt-image-2:
OPENAI_BASE_URL в https://api.xhuoapi.ai/v1/openai та OPENAI_API_KEY у значення отриманого токена:
Серія моделей Nano Banana
Серіяnano-banana також інтегрована через /openai/images/edits, достатньо вказати у model будь-яку з моделей таблиці:
| Модель | Вартість (Credits / запит) | Сценарій використання |
|---|---|---|
nano-banana | 0.14 | Звичайне редагування, найшвидший та найдешевший |
nano-banana-2 | 0.28 | Покращена якість і деталізація |
nano-banana-pro | 0.35 | Флагман серії, найкраще збереження структури, тексту, стилю |
Важливо: підтримувані параметри Nano Banana підключається через адаптер OpenAI протоколу і підтримує лише параметри:model,prompt,image.
imageможна передавати як файл черезmultipart/form-data(всередині worker конвертує уdata:<mime>;base64,...для upstream), або як URL рядок у формі.- Параметри
mask,n,size,response_formatне підтримуються і ігноруються.- Відповідь відповідає формату OpenAI (
data[].url), алеcreatedзавжди0,b64_jsonне повертається,revised_promptзавжди дорівнює оригінальномуprompt.
Виклик через форму + URL зображення

Виклик через форму + локальний файл
Асинхронний callback
Механізм асинхронного callback черезcallback_url також підтримується nano-banana, процес виклику ідентичний іншим моделям, див. розділ Асинхронний callback.
Базове використання
Далі можна викликати API кодом. Нижче приклад через CURL:authorization (вибирається зі списку), model (модель OpenAI, тут доступна одна — див. таблицю моделей), prompt (текстова підказка для генерації зображення), image (шлях до зображення для редагування). Приклад зображення:

OPENAI_BASE_URL в https://api.xhuoapi.ai/v1/openai та OPENAI_API_KEY зі значенням токена:
gift-basket.png. Результат:

dall-e-2, gpt-image-1 та gpt-image-2, остання є рекомендованою (див. розділ GPT-Image-2 модель).
Асинхронний callback
Оскільки редагування зображень може займати тривалий час, щоб уникнути тривалого утримання HTTP-з’єднання і зайвих ресурсів, API підтримує асинхронний callback. Процес: клієнт при запиті вказує полеcallback_url. API одразу повертає відповідь із task_id — ідентифікатором завдання. Після завершення редагування результат у форматі POST JSON надсилається на callback_url, включно з task_id для зв’язку результату із завданням.
Приклад:
Webhook callback — це HTTP-сервер, який приймає запити. Для демонстрації можна використати публічний сервіс https://webhook.site/, де після відкриття сайту отримаєте 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: Внутрішня помилка сервера.

