```python
import requests
url = "https://api.acedata.cloud/openai/images/generations"
headers = {
"accept": "application/json",
"authorization": "Bearer {token}",
"content-type": "application/json"
}
payload = {
"model": "gpt-image-2",
"prompt": "A cinematic portrait of a young woman standing in a convenience store at night, illuminated by soft pink and cyan neon signs through the window. Shot on 35mm film, shallow depth of field, slight grain, melancholic mood.",
"size": "1024x1536"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
```
Результат відповіді виглядає так:
```json
{
"success": true,
"task_id": "ab58a5df-6f46-4874-bff6-93169e2849a3",
"created": 1777048800,
"data": [
{
"revised_prompt": "A cinematic portrait of a young woman standing in a convenience store at night, illuminated by soft pink and cyan neon signs through the window. Shot on 35mm film, shallow depth of field, slight grain, melancholic mood.",
"url": "https://platform.cdn.acedata.cloud/gpt-image/ab58a5df-6f46-4874-bff6-93169e2849a3_0.png"
}
]
}
```
Згенероване зображення показано нижче:
<p><img src="https://platform.cdn.acedata.cloud/gpt-image/ab58a5df-6f46-4874-bff6-93169e2849a3_0.png" width="500" class="m-auto"></p>
### Сценарій 2: Вінтажний туристичний постер (із рендерингом тексту)
`gpt-image-2` стабільно працює з версткою та рендерингом шрифтів, тому чудово підходить для створення постерів, меню, листівок та інших макетів із текстом.
```python
payload = {
"model": "gpt-image-2",
"prompt": "A vintage travel poster of the Amalfi Coast, Italy. Stylized art-deco illustration of cliffside lemon-yellow houses cascading down to a turquoise sea, with a small white sailboat in the harbor. Bold typography at the top reads AMALFI and at the bottom ITALIA 1958. Limited color palette: cream, sea-blue, lemon yellow, terracotta. Slight paper-grain texture.",
"size": "1024x1536"
}
```
Зображення, що відповідає полю `url` у результаті відповіді, наведено нижче:
<p><img src="https://platform.cdn.acedata.cloud/gpt-image/c6061f92-3fae-498e-af8e-688e7f415ba3_0.png" width="500" class="m-auto"></p>
Можна побачити, що модель не лише точно відтворила візуальний стиль постера Art Deco, але й чітко та правильно відрендерила заголовки `AMALFI` і `ITALIA 1958`.
### Сценарій 3: Складна композиція та підрахунок
Наведений нижче промпт використовується для перевірки здатності моделі дотримуватися структурованих інструкцій, таких як «кількість» і «розташування».
```python
payload = {
"model": "gpt-image-2",
"prompt": "A wooden bookshelf consisting of three shelves: On the top shelf, there should be one book. On the second shelf, there should be three books. On the bottom shelf, there should be seven books. Soft warm lighting, photorealistic, cozy library atmosphere.",
"size": "1024x1024"
}
```
Згенероване зображення:
<p><img src="https://platform.cdn.acedata.cloud/gpt-image/64a3b932-a082-4cad-9f85-9d30474b104d_0.png" width="500" class="m-auto"></p>
Можна побачити, що кількість книг на трьох полицях (1 / 3 / 7) повністю відповідає промпту, чого в епоху `dall-e-3` було дуже важко досягти стабільно.
### Сценарій 4: Стиль ілюстрації (горизонтальний формат)
Вказавши художній стиль і ключові слова, що описують настрій, можна спрямувати модель на створення стилізованих ілюстрацій.
```python
payload = {
"model": "gpt-image-2",
"prompt": "A soft, poetic children's book illustration of a small fox reading a book under a glowing mushroom in a moonlit forest. Watercolor and pencil texture, gentle pastel colors, dreamy atmosphere, hand-drawn feel.",
"size": "1536x1024"
}
```
Згенерована горизонтальна ілюстрація показана нижче:

### Асинхронність і зворотний виклик
Один виклик `gpt-image-2` зазвичай займає 60–90 секунд. Якщо ви не хочете підтримувати довготривале з'єднання, можна скористатися механізмом асинхронного зворотного виклику `callback_url`, який буде описано далі в цій статті. Процес виклику повністю збігається з іншими моделями.
## Серія моделей Nano Banana
Серія `nano-banana` — це моделі генерації зображень на основі Gemini, уже підключені через той самий інтерфейс `/openai/images/generations`. Перемикати endpoint не потрібно — достатньо змінити значення `model` на будь-яке з наведених у таблиці нижче.
| Модель | Вартість (Credits / виклик) | Сценарії використання |
| -------------------- | --------------------------- | ----------------------------------------- |
| `nano-banana` | 0.14 | Звичайна генерація зображень, найвища швидкість і найнижча вартість |
| `nano-banana-2-lite` | 0.14 | Легка модель зображень Gemini 3.1, підтримує лише 1K, низька затримка генерації |
| `nano-banana-2` | 0.28 | Помітно покращена якість і деталізація |
| `nano-banana-pro` | 0.35 | Флагман серії, найкраща композиція, деталізація та рендеринг тексту |
> **Важливо: підтримуваний діапазон параметрів**
> Nano Banana підключається до протоколу OpenAI через шар сумісності й, порівняно з `gpt-image-*`, підтримує лише такі параметри: `model`, `prompt`, `size`.
> - `size` буде зіставлено з внутрішнім `aspect_ratio` згідно з наведеною нижче таблицею. Розміри, яких немає в списку, буде перетворено на `1:1`:
> - `1024x1024` / `512x512` / `256x256` → `1:1`
> - `1792x1024` → `16:9`
> - `1024x1792` → `9:16`
> - Не підтримуються параметри `n`, `quality`, `style`, `response_format`, `background`, `output_format` тощо; навіть якщо їх указати, вони будуть проігноровані.
> - Структура відповіді відповідає формату OpenAI (`data[].url`), але значення `created` завжди дорівнює `0`, `b64_json` не повертається, а `revised_prompt` завжди дорівнює початковому `prompt`.
### Базовий виклик
```python
import requests
url = "https://api.acedata.cloud/openai/images/generations"
headers = {
"accept": "application/json",
"authorization": "Bearer {token}",
"content-type": "application/json"
}
payload = {
"model": "nano-banana",
"prompt": "a small red apple on a white table, photoreal",
"size": "1024x1024"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
```
Результат відповіді виглядає так:
```json
{
"created": 0,
"data": [
{
"url": "https://platform.cdn.acedata.cloud/nanobanana/6870b330-65c4-436c-bb80-819fdae7a7a4.png",
"revised_prompt": "a small red apple on a white table, photoreal"
}
]
}
```