HiAPI
Блог

Руководство

Как пользоваться Nano Banana 2 API? Первое изображение за 5 минут

4 шага онлайн-теста, 4 шага подключения API, готовые к запуску примеры curl и Python, редактирование по референсному изображению и быстрый справочник частых ошибок.

Oct 12, 2026
Как пользоваться Nano Banana 2 API? Первое изображение за 5 минут

TL;DR

  • Что это: Nano Banana 2 от Google — генерация по тексту и редактирование по референсным изображениям используют один ID модели nano-banana-2, за один раз можно передать до 14 референсных изображений. Уже доступна на HiAPI: откройте страницу модели, введите промпт и генерируйте; новым пользователям при регистрации дарят 200 кредитов.
  • Сколько стоит: оплата за штуку — 1K $0.036, 2K $0.057, 4K $0.086, референсные изображения без наценки, при ошибке автоматический возврат средств.
  • Как вызывать API: POST https://api.hiapi.ai/v1/tasks, в model укажите nano-banana-2, получите taskId, затем опрашивайте или ждите callback, скачайте data.output[0].url.

Что умеет Nano Banana 2?

  • Одна модель, два режима. Только промпт — генерация по тексту; добавьте image_input — и это уже редактирование по референсу, переключать эндпоинт или режим не нужно.
  • До 14 референсных изображений за раз. Загружайте мног ракурсов продукта, фото модели, сцены вместе — подходит для смены сцены одного и того же товара, переодевания и брендовых серий.
  • 14 фиксированных соотношений сторон плюс auto. Помимо привычных 1:1, 4:5, 16:9, 21:9 есть 1:4, 4:1, 1:8, 8:1; если не уверены — используйте auto по умолчанию.
  • Три уровня: 1K, 2K, 4K. 1K — для отладки промпта, 2K и 4K — для финальных изображений; по умолчанию вывод в PNG.

Ниже пример изображения со страницы модели Nano Banana 2, соотношение 4:3, 1K:

A mystical tropical rainforest at night with hundreds of glowing fireflies, warm golden lights floating among dark green ferns and moss, soft mist, dreamy bokeh, cinematic fantasy photography, 4:3

Сгенерировать с этим промптом →

Два пути: онлайн-тест или API?

Сначала посмотрите результат — выберите онлайн-тест; если нужно встроить в продукт — API. Это одна и та же модель и одна и та же цена.

Онлайн-тест (около 1 минуты)

  1. Откройте страницу модели Nano Banana 2 или сразу нажмите ссылку под изображением выше — промпт заполнится автоматически.
  2. Зарегистрируйтесь или войдите; у нового аккаунта 200 кредитов.
  3. Выберите соотношение сторон и разрешение; по обычной цене 1K — 72 кредита за штуку.
  4. Нажмите «Сгенерировать», если нравится — скачивайте.

Подключение API (около 5 минут)

  1. В консоли HiAPI создайте API Key (sk-...).
  2. POST /v1/tasks создаёт задачу; в ответе получаете data.taskId.
  3. Опрашивайте через GET /v1/tasks/{id} или передайте callback.url в теле запроса и ждите уведомления.
  4. Когда data.status станет success, скачайте изображение по data.output[0].url.

1K стоит $0.036 за штуку; на $10 выйдет около 277 изображений — достаточно, чтобы отладить промпт. Полные параметры см. в документации на китайском.

Первое изображение: версия curl

Создание задачи:

curl --fail-with-body -sS -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano-banana-2",
    "input": {
      "prompt": "A mystical tropical rainforest at night with hundreds of glowing fireflies, warm golden lights floating among dark green ferns and moss, soft mist, dreamy bokeh, cinematic fantasy photography",
      "aspect_ratio": "4:3",
      "resolution": "1K",
      "output_format": "png"
    }
  }'

ID задачи возвращается в data.taskId:

{"code":200,"data":{"taskId":"tk-hiapi-..."},"message":"success"}

Запрос результата:

curl --fail-with-body -sS https://api.hiapi.ai/v1/tasks/YOUR_TASK_ID \
  -H "Authorization: Bearer sk-YOUR_KEY"

Обязателен только prompt. aspect_ratio по умолчанию auto, resolution по умолчанию 1K, output_format по умолчанию png (можно jpg).

Первое изображение: версия Python

Сначала установите requests (python3 -m pip install requests) и задайте в терминале HIAPI_API_KEY (export HIAPI_API_KEY="sk-YOUR_KEY"). Пример создаёт задачу, опрашивает до 10 минут и затем скачивает изображение; по истечении таймаута сохраните taskId и продолжайте запросы:

import os
import time
import uuid
import requests

API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}
HEADERS["Idempotency-Key"] = str(uuid.uuid4())  # Save with this business task before submitting.

payload = {
    "model": "nano-banana-2",
    "input": {
        "prompt": "A mystical tropical rainforest at night with hundreds of glowing fireflies, warm golden lights floating among dark green ferns and moss, soft mist, dreamy bokeh, cinematic fantasy photography",
        "aspect_ratio": "4:3",
        "resolution": "1K",
        "output_format": "png",
    },
}


def task_data(response):
    response.raise_for_status()
    body = response.json()
    if body.get("code") != 200:
        raise RuntimeError(f"HiAPI request failed: {body}")
    return body["data"]


task_id = task_data(requests.post(API, headers=HEADERS, json=payload, timeout=30))["taskId"]
print(f"taskId: {task_id}", flush=True)  # Save this ID for later queries.

deadline = time.monotonic() + 600
while time.monotonic() < deadline:
    task = task_data(requests.get(f"{API}/{task_id}", headers=HEADERS, timeout=30))
    if task["status"] == "success":
        image_url = task["output"][0]["url"]
        image = requests.get(image_url, timeout=60)
        image.raise_for_status()
        with open("nano-banana-2.png", "wb") as f:
            f.write(image.content)
        break
    if task["status"] == "fail":
        raise RuntimeError(f"task {task_id} failed: {task}")
    time.sleep(3)
else:
    raise TimeoutError(f"task {task_id} is still pending; query this ID instead of submitting again")

Редактирование по референсу: достаточно добавить image_input

Добавьте image_input в input — и тот же запрос становится редактированием. Ниже — размещение флакона сыворотки на белом фоне на поверхности ванной комнаты:

curl --fail-with-body -sS -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano-banana-2",
    "input": {
      "prompt": "Place this exact serum bottle, unchanged, on a white marble bathroom counter next to a folded beige linen towel, soft warm morning window light",
      "image_input": ["https://static.hiapi.ai/blog/nano-banana-ecommerce-product-images-hiapi/shot-1-listing.jpg"],
      "aspect_ratio": "4:3",
      "resolution": "1K"
    }
  }'

image_input — это массив URL, до 14 штук, ссылки должны открываться из публичной сети, SVG не поддерживается. Явно укажите в промпте, что сохранить (this exact serum bottle, unchanged), тогда этикетка и форма флакона будут стабильнее. Полные промпты и результаты для этой серии смены сцены — в сборнике промптов Nano Banana 2.

3 вещи, о которых стоит помнить перед запуском в продакшен

  1. На сервере используйте callback. Добавьте на верхний уровень тела запроса "callback": {"url": "https://yourapp.com/webhook", "when": "final"} — задача уведомит автоматически по завершении; callback приходит и при успехе, и при ошибке, дедуплицируйте по taskId.
  2. При повторах используйте ключ идемпотентности. Каждый POST /v1/tasks по умолчанию создаёт новую задачу и тарифицируется отдельно. Добавьте в заголовок Idempotency-Key, сгенерируйте и сохраните один ключ для одной бизнес-задачи; после сетевого таймаута повторите с тем же аккаунтом, тем же ключом и точно таким же телом запроса — задача создастся только один раз.
  3. Получив результат, сразу скачайте. Ссылки на вывод имеют срок действия; сначала сохраните изображение в своё хранилище, затем обрабатывайте дальше.

Частые ошибки, по одной на строку

  • 400 additional properties ... not allowed → опечатка в имени поля или использовано поле другой модели (например, image_urls из Nano Banana 2 Lite или size) → замените на image_input, resolution.
  • 400, неверное значение aspect_ratio → передано соотношение вне списка → выберите одно из 15 допустимых значений.
  • 401 permission_denied → Key отсутствует, неверен или отозван → проверьте заголовок Authorization: Bearer sk-..., при необходимости пересоздайте в консоли.
  • 402 → недостаточно средств, задача не создана и списание не произведено → пополните баланс и повторите.
  • Статус задачи fail → исправьте запрос по возвращённому error, не повторяйте как есть; предварительно списанная сумма автоматически возвращается полностью.

Частые вопросы

Как записывается ID модели? Пишите nano-banana-2. Имена параметров полностью совпадают с Nano Banana 2.1 — замените на gemini-nano-banana-2.1, чтобы переключиться на 2.1.

Берут ли доплату за референсные изображения? Нет. Цена зависит только от разрешения вывода: 1 референс или 14 — одинаково.

Сколько изображений за раз? Одна задача — одно изображение. Нужно больше — создавайте несколько задач параллельно, оплата за штуку.

Как получить акционную цену? Менять код не нужно. Скидка 50% ко Дню программиста действует до 2026-11-09 00:00 по пекинскому времени; API и онлайн-тест автоматически считаются со скидкой 50% — 1K стоит $0.018 за штуку.

Статьи серии Nano Banana 2

Попробуйте прямо сейчас: нажмите Сгенерировать с этим промптом → под изображением тропического леса выше — промпт уже заполнен, выберите соотношение 4:3 и разрешение 1K, запустите и скачайте результат; обычная цена — $0.036 за штуку.

Похожие статьи

Все статьи →

Начните работать с постоянными артефактами ИИ

Получите API-ключ и вызывайте модели изображений, видео и аудио через один API на основе tasks.

Читать документацию API