HiAPI
Блог

Руководство по использованию

Создание изображений товаров для электронной коммерции с помощью Nano-Banana-2-Lite через API hiapi

Jul 7, 2026
Создание изображений товаров для электронной коммерции с помощью Nano-Banana-2-Lite через API hiapi

Когда вы генерируете изображения товаров для каталога электронной коммерции, юнит-экономика важнее любого отдельного изображения. Одно главное изображение за $0.17 — это нормально, когда вам нужно всего десять; но совсем другое дело, когда вам нужно по три изображения для 1000 SKU. Именно эту нишу заполняет Nano-Banana-2-Lite на hiapi: $0.033 за изображение, разрешение 1K, тот же асинхронный API задач, что и у более крупных моделей Nano-Banana, и поддержка до 10 референсных изображений — этого достаточно, чтобы по оптовой цене выполнить классический набор из трёх изображений для электронной коммерции: главное изображение на белом фоне, лайфстайл-сцена и премиальный тёмный вариант.

Это руководство — бюджетный компаньон к нашей более ранней статье «Рабочий процесс Nano-Banana для электронной коммерции». Всё ниже — запросы, вывод, время выполнения, стоимость — взято из наших реальных запусков живого API на момент написания.

Место Lite в линейке Nano-Banana

Следующая информация проверена по странице тарифов hiapi на момент написания:

Модель Цена за изображение Разрешение Референсные изображения
Nano-Banana-2-Lite $0.033 1K до 10 через image_urls
nano-banana $0.05 Стандартное Поддерживается
nano-banana-2 $0.085 (1K) / $0.076 (2K) / $0.114 (4K) до 4K через image_input
nano-banana-pro $0.17 (1K/2K) / $0.2992 (4K) до 4K через image_input

Правило выбора для товарных каталогов простое:

  • Листинги на маркетплейсах, длинный хвост SKU, A/B-варианты → Lite. При 1K (короткая сторона около 1024px) вывод соответствует или превосходит стандарты большинства маркетплейсов для загружаемых изображений после сжатия.
  • Баннеры на главной странице, ключевые визуалы маркетинговых кампаний, печатная продукция → переходите на nano-banana-pro для вывода 2K/4K и более сильного рендеринга текста. Lite — для массовости, Pro — для ключевых изображений; они дополняют друг друга, а не конкурируют.

Рабочий запрос

Nano-Banana-2-Lite работает на едином асинхронном API задач hiapi: отправьте задачу, опрашивайте до завершения, скачайте результат. Перед кодом есть три замечания:

  1. ID модели чувствителен к регистру. Отправляйте точно Nano-Banana-2-Lite — вариант в нижнем регистре возвращает 400 MODEL_UNAVAILABLE.
  2. aspect_ratio — это перечисление, а не свободный формат. Допустимые значения: auto, 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, 1:4, 4:1, 1:8, 8:1. Поля resolution нет — Lite фиксирован на 1K, отправка resolution приведёт к отклонению запроса.
  3. URL вывода — это подписанные ссылки, которые истекают. Скачивайте байты сразу после успешного завершения задачи; храните файлы, а не URL.
curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Nano-Banana-2-Lite",
    "input": {
      "prompt": "Professional e-commerce product photo of a minimalist matte-white wireless earbuds charging case, centered on a seamless pure white background, soft even studio lighting, gentle shadow beneath, crisp edges, catalog-ready hero shot, no text, no logo",
      "aspect_ratio": "1:1"
    }
  }'

Ответ содержит taskId. Опрашивайте GET /v1/tasks/{taskId}, пока status не станет success, затем скачайте data.output[0].url. В наших запусках одна задача завершалась от начала до конца примерно за 55–65 секунд, включая время опроса.

Вот вывод этого точного промпта — необработанное изображение, сгенерированное Lite:

Написание промптов для главных изображений уровня каталога

Для листингов на белом фоне шаблон промпта, который у нас всегда работал:

*Professional e-commerce product photo of [product, materials, colors], centered on a seamless pure white background, soft even studio lighting, subtle natural shadow, crisp focus, marketplace catalog style, no text, no logo*

Ещё два продукта по тому же шаблону, изменены только описание продукта и соотношение сторон (4:5 подходит для вертикальных категорий мода/красота, 4:3 — для обуви и электроники):

Практические замечания для массовой генерации:

  • Всегда заканчивайте на «no text, no logo». Как и большинство моделей изображений, иначе Lite произвольно выдумывает текст на этикетках и брендинг — это проблема соответствия требованиям для реальных товарных листингов. Если у вашего продукта есть настоящая этикетка, накладывайте её afterward или используйте путь с референсными изображениями ниже.
  • Явно указывайте тень («subtle natural shadow»). Без этого требования вы часто получаете эффект парящей вырезки, который на маркетплейсах выглядит фальшиво.
  • Один продукт на изображение. Lite надёжно справляется с композициями с одним субъектом; при раскладке нескольких продуктов вам уже понадобятся более крупные модели.

Тот же продукт, новая сцена: рабочий процесс с image_urls

Настоящий трюк электронной коммерции — в согласованности: одно эталонное изображение продукта, переставленное в лайфстайл- и премиальные сцены, при этом продукт не деформируется между изображениями. Lite принимает до 10 референсных изображений через поле image_urls (примечание: более крупные модели Nano-Banana-2 называют это поле image_input — переименование является главной ловушкой при портировании, см. наш урок по API Lite).

Мы используем главное изображение выше в качестве референса и просим две перестановки:

{
  "model": "Nano-Banana-2-Lite",
  "input": {
    "prompt": "Place this exact product on a warm oak wooden desk next to a laptop keyboard and a small green potted plant, soft morning window light from the left, shallow depth of field, cozy home-office lifestyle e-commerce scene, keep the product design, colors and proportions unchanged",
    "aspect_ratio": "4:3",
    "image_urls": ["https://your-cdn.example.com/hero-earbuds.jpg"]
  }
}

Оба варианта вернулись с сохранёнными пропорциями кейса, швом крышки и светодиодным индикатором. Фраза «keep the product design, colors and proportions unchanged» здесь очень помогает — включайте её в каждый промпт с референсным изображением. Референсные URL должны быть общедоступными (подписанные приватные ссылки, истекающие в середине задачи, приведут к её провалу).

Пакетный конвейер на Python

Задачи независимы, поэтому пакетная пропускная способность достигается за счёт одновременной отправки всех задач и опроса их как группы — в наших запусках пять параллельных задач завершались примерно за то же фактическое время, что и одна. Минимальный конвейер:

import json
import subprocess
import time

API = "https://api.hiapi.ai/v1/tasks"
TOKEN = "sk-..."  # your hiapi API key

def _curl(args):
    out = subprocess.run(["curl", "-s", *args], capture_output=True, text=True, timeout=90)
    return json.loads(out.stdout)

def submit(prompt, aspect_ratio="1:1", image_urls=None):
    inp = {"prompt": prompt, "aspect_ratio": aspect_ratio}
    if image_urls:
        inp["image_urls"] = image_urls
    data = _curl(["-X", "POST", API,
                  "-H", f"Authorization: Bearer {TOKEN}",
                  "-H", "Content-Type: application/json",
                  "-d", json.dumps({"model": "Nano-Banana-2-Lite", "input": inp})])
    return data["data"]["taskId"]

def wait(task_id, timeout_s=600):
    deadline = time.time() + timeout_s
    while time.time() < deadline:
        task = _curl([f"{API}/{task_id}", "-H", f"Authorization: Bearer {TOKEN}"])["data"]
        if task["status"] == "success":
            return task["output"][0]["url"]
        if task["status"] == "fail":
            raise RuntimeError(f"{task_id}: {task.get('error')}")
        time.sleep(5)
    raise TimeoutError(task_id)

HERO_TMPL = ("Professional e-commerce product photo of {product}, centered on a "
             "seamless pure white background, soft even studio lighting, subtle "
             "natural shadow, crisp focus, marketplace catalog style, no text, no logo")

skus = [
    {"id": "SKU-001", "product": "a matte-white wireless earbuds charging case"},
    {"id": "SKU-002", "product": "an amber glass serum bottle with black dropper cap"},
    {"id": "SKU-003", "product": "a white minimalist running sneaker with light gray sole"},
]

# 1) submit everything up front
tasks = {sku["id"]: submit(HERO_TMPL.format(product=sku["product"])) for sku in skus}

# 2) collect results and persist bytes immediately — output URLs expire
for sku_id, task_id in tasks.items():
    url = wait(task_id)
    subprocess.run(["curl", "-s", "-o", f"{sku_id}.jpg", url], timeout=120)
    print(f"{sku_id} done")

Для производственных объёмов стоит внедрить два улучшения: использовать webhook-колбэки вместо опроса (передайте callback.url и when: "final" при создании задачи) и сохранять каждый taskId вместе с записями SKU, чтобы аварийно завершившийся рабочий процесс мог восстановиться, а не платить повторно. Оба описаны в уроке по API задач и документации hiapi.

Реальная стоимость одного каталога

При $0.033 за изображение и стандартной обработке из трёх изображений (главное + лайфстайл + тёмный/детальный вариант):

Размер каталога Количество изображений (×3) Nano-Banana-2-Lite Та же работа на nano-banana-pro
100 SKU 300 $9.90 $51.00
500 SKU 1,500 $49.50 $255.00
1,000 SKU 3,000 $99.00 $510.00

Разумный смешанный подход: прогнать весь каталог через Lite, а затем переснять только 20 самых доходных SKU на nano-banana-pro в 2K/4K для главной страницы и маркетинговых кампаний. Для примера с 100 SKU это $9.90 + около $10 за изображения Pro — всё ещё лишь малая часть дневной стоимости фотостудии.

Заложите 5–10% запаса на повторные попытки для промптов, которым нужен второй шанс (обычно это лишний текст на этикетках), и помните, что проваленные задачи сообщаются как fail с объектом ошибки — только успешные генерации стоит подключать к вашему контролю качества.

Итог

Nano-Banana-2-Lite не заменит ваш флагманский конвейер ключевых визуалов — для этого предназначен уровень Pro. Но для длинного хвоста товарного каталога, где каждому SKU нужны презентабельные, согласованные изображения, а бюджет измеряется за тысячу изображений, $0.033 при разрешении 1K с поддержкой референсных изображений трудно оспорить.

Получите API-ключ и начните со страницы модели Nano-Banana-2-Lite — приведённый выше запрос готов к использованию после замены токена, а пакетный скрипт масштабирует его с одного SKU до тысячи.

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

Все статьи →

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

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

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