Nano Banana 2

nano-banana-2 Хит

Gemini 3.1 Flash Image: быстрая генерация и редактирование, точный текст на картинке, до 14 референсов.

Цена: $0.02 за изображение · неудачные задачи — $0 · ~1.5 мин

Запустить через API
Загрузите фото и опишите, что изменить. Модель API: nano-banana-2

Ввод

image_input * — ваше фото (обязательно) ?
Нажмите, чтобы выбрать фото
или перетащите сюда · JPG, PNG, WebP до 15 МБ · до 14 шт.
Примеры:
aspect_ratio — форма картинки ?
resolution — качество ?
output_format — формат файла ?

Результат

Nano Banana 2 — Google

Здесь появится результат.
Обычно это занимает ~1.5 мин.

Пример результата

Маленький робот поливает цветы на подоконнике, акварель, утренний свет

“Уютная кофейня в стиле Studio Ghibli, дождь за окном”
“Реалистичное фото кота в костюме астронавта на Луне”
“Постер «Лето в Москве» с крупной надписью, яркие цвета”

1. Создать задачу POST /api/v1/jobs/createTask

curl -X POST https://ai.aimixmedia.site/api/v1/jobs/createTask \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-123" \
  -d '{
  "model": "nano-banana-2",
  "callBackUrl": "https://your-app.example/callback",
  "input": {
    "prompt": "Маленький робот поливает цветы на подоконнике, акварель, утренний свет",
    "image_input": [
      "https://example.com/photo.jpg"
    ],
    "aspect_ratio": "auto",
    "resolution": "1K",
    "output_format": "jpg"
  }
}'
import time, requests

API = "https://ai.aimixmedia.site/api/v1"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}

task = requests.post(f"{API}/jobs/createTask", headers=HEADERS, json={
    "model": "nano-banana-2",
    "callBackUrl": "https://your-app.example/callback",
    "input": {
        "prompt": "Маленький робот поливает цветы на подоконнике, акварель, утренний свет",
        "image_input": [
            "https://example.com/photo.jpg"
        ],
        "aspect_ratio": "auto",
        "resolution": "1K",
        "output_format": "jpg"
    }
}).json()
task_id = task["data"]["taskId"]

while True:
    info = requests.get(f"{API}/jobs/recordInfo", headers=HEADERS, params={"taskId": task_id}).json()["data"]
    if info["state"] in ("success", "fail"):
        break
    time.sleep(4)
print(info["state"], info.get("resultJson") or info.get("failMsg"))
const API = "https://ai.aimixmedia.site/api/v1";
const headers = { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" };

const { data } = await fetch(`${API}/jobs/createTask`, {
  method: "POST", headers,
  body: JSON.stringify({
    "model": "nano-banana-2",
    "callBackUrl": "https://your-app.example/callback",
    "input": {
      "prompt": "Маленький робот поливает цветы на подоконнике, акварель, утренний свет",
      "image_input": [
        "https://example.com/photo.jpg"
      ],
      "aspect_ratio": "auto",
      "resolution": "1K",
      "output_format": "jpg"
    }
  }),
}).then((r) => r.json());

let info;
do {
  await new Promise((r) => setTimeout(r, 4000));
  info = (await fetch(`${API}/jobs/recordInfo?taskId=${data.taskId}`, { headers }).then((r) => r.json())).data;
} while (!["success", "fail"].includes(info.state));
console.log(info.state, info.resultJson ?? info.failMsg);

Ответ: {"code":200,"msg":"success","data":{"taskId":"task_..."}}. callBackUrl и Idempotency-Key необязательны.

2. Статус и результат GET /api/v1/jobs/recordInfo

curl "https://ai.aimixmedia.site/api/v1/jobs/recordInfo?taskId=TASK_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"

data.state: waiting | queuing | generating | success | fail. При успехе data.resultJson — строка JSON с resultUrls.

3. Загрузить фото (необязательно) POST /api/v1/files/upload

curl -X POST https://ai.aimixmedia.site/api/v1/files/upload \
  -H "Authorization: Bearer YOUR_API_KEY" -F "file=@photo.jpg"

Возвращает data.url — передайте его в input.image_input. Подойдут и любые публичные https-ссылки.

Параметры input

ПолеТипЗначения
prompt *stringдо 20000 символов
image_input *string[] (URL)до 14 URL
aspect_ratiostringauto | 1:1 | 2:3 | 3:2 | 1:4 | 4:1 | 3:4 | 4:3 | 4:5 | 5:4 | 1:8 | 8:1 | 9:16 | 16:9 | 21:9 · по умолч. auto
resolutionstring1K | 2K | 4K · по умолч. 1K
output_formatstringjpg | png · по умолч. jpg
Нужен API-ключ ? — создать в кабинете.

Документация модели Callback и подпись

Nano Banana 2 — Google

Nano Banana 2 (Gemini 3.1 Flash Image) — основная image-модель Google. Хорошо держит сходство персонажа, пишет читаемый текст на изображениях, понимает длинные промпты (до 20 000 символов) и принимает до 14 изображений-референсов для редактирования, объединения и переноса стиля.

Разрешение 1K — быстрее и легче, 2K — максимальная детализация. Генерация обычно занимает 1–2,5 минуты.

Цена

Image to Image · nano-banana-2$0.02
Text to Image · nano-banana-2$0.02
Задача завершилась ошибкой$0 (авто-возврат)
Повтор с тем же Idempotency-Key$0

Хранение

Результаты хранятся 30 дней, история запусков — бессрочно. Скачайте важные файлы заранее.

ID модели для API: nano-banana-2 · алиасы: google/nano-banana-2