API429 / gemini-3.1-flash-image

Nano Banana 2 API: настройки, стоимость и подключение

Практическая карточка Nano Banana 2 для выбора конфигурации и подключения API. Здесь отдельно показаны опубликованные ставки API429, характеристики производителя и границы клиентского контракта. Начните с небольшого контрольного задания и проверьте результат перед увеличением объёма.

Точный ID: gemini-3.1-flash-image. Доступ вашего ключа проверяется через GET /v1/models; опубликованная модель не гарантирует доступ любого аккаунта.

Цены и единицы оплаты

Настройка прямого запросаЦена API429
Разрешение 1K$0.0201 / 1 изображение
Разрешение 2K$0.0303 / 1 изображение
Разрешение 4K$0.0453 / 1 изображение

Каталог API429 сформирован . Таблица показывает компоненты прямого запроса; другие метрики общего каталога здесь не прибавляются. Для чтения цены округлены до шести знаков; расчёт использует точные ставки каталога. Калькулятор ниже использует контракт прямого Images запроса. Сверка источников: 2026-10-24.

Google Standard: $0.50 за 1M входных токенов, $3 за 1M текстового/thinking выхода, $60 за 1M image tokens. Калькулятор сравнивает выходной компонент; полный нативный запрос может включать дополнительные части. Источники тарифов — в разделе ниже. Batch, кеш и специальные режимы не смешиваются с базовым сравнением.

Бюджет генерации изображений

API429$2.01
Производитель: выходной компонент$6.72
Разница для выбранного объёма70.089286%API429 дешевле для указанного компонента

Прямой Images: одно изображение на запрос. API429 считает resolution и число полученных файлов; общие токенные строки каталога не прибавляются к этому методу. Сравнивается выходной компонент Google; его вход и текстовый/thinking выход дополнительно оплачиваются при нативном вызове. Кеш, инструменты, налоги, комиссии и повторные вызовы исключены. Рубли появляются только по вашему курсу; это не банковская котировка.

Характеристики и границы совместимости

  • Нативные пределы Google: вход 131 072 токена, выход 32 768 токенов; это отдельные пределы, не общее окно и не подтверждённые лимиты API429.
  • Google описывает выход 0.5K/1K/2K/4K и текст с изображением; клиентский контракт API429 перечисляет resolution 1K/2K/4K. Нативные grounding, thinking и Batch не обещаются через этот метод.
  • Nano Banana 2 — точный gemini-3.1-flash-image. Nano Banana Pro, Lite и 2.1 — другие модели; их свойства нельзя переносить по семейному названию.

Спецификация Google, сверка 2026-10-24. Это не подтверждённые эффективные лимиты API429. Нативные параметры и возможности производителя проверяйте отдельно по клиентскому методу.

Опубликованные возможности точного ID: chat image_editing image_generation vision . Отсутствие поля не является доказательством запрета, но не позволяет обещать совместимость.

Точная версия и задачи для контрольного набора

Nano Banana 2 — название Google для gemini-3.1-flash-image. Первое объявление состоялось 26 февраля 2026 года, когда версия называлась Preview; текущая страница производителя помечает её Stable. Это история модели у Google, а не дата появления в API429. Для интеграции используйте точный ID из карточки. Названия Nano Banana Pro, Lite и 2.1 обозначают другие продукты: даже похожая задача не делает их взаимозаменяемыми по параметрам и оплате. Подходящий контрольный набор включает предметную сцену, несколько композиционных вариантов и иллюстрацию с короткой русской надписью. Заранее выпишите критерии приёмки: читаемость текста, положение предмета, лишние объекты, соответствие цвету. Возможности производителя помогают выбрать задания, но не доказывают результат на вашем материале. Сохраняйте промпт и настройки вместе с полученным файлом, чтобы повторное сравнение имело смысл.

Форма кадра и разрешение задаются отдельно

В клиентской документации API429 size отвечает за запрошенную форму, а resolution — за тарифный класс 1K, 2K или 4K. Начальный пример использует квадрат 1024x1024 и явное resolution=1K. Для более крупного результата меняйте класс осознанно, сохраняя понятный запрос формы. Не считайте запись 2048x2048 самостоятельным доказательством тарифа 2K: сверяйте оба параметра и фактические сведения ответа. Google также описывает класс 0.5K и дополнительные пропорции, однако они не перечислены как равнозначно поддержанные в текущей клиентской таблице API429. Не переносите их автоматически. Запрошенный размер не является гарантией точных размеров сохранённого файла. Если ответ содержит api429.outputs, проверьте фактические ширину, высоту и формат; api429.parameter_mismatches требует проверки перед размещением изображения в рабочем макете.

Как составить бюджет серии изображений

Для прямого Images запроса API429 оценивает выход по resolution и числу полученных изображений. Отдельные общие токенные ставки каталога к этому методу автоматически не прибавляются. Калькулятор показывает стоимость одного изображения на запрос при выбранном resolution и умножает её на число запросов. Производительская сторона считает сопоставимый выходной компонент по опубликованному количеству image tokens Google. Полная нативная стоимость Google может дополнительно включать входные токены и текстовый либо thinking выход; они не смешиваются с выходным компонентом картинки. Поэтому показанная разница относится к выходу, а не ко всем возможным расходам разных методов. Для переноса сценария Chat Completions требуется отдельная смета: его токенные компоненты нельзя считать подтверждённой ценой прямой генерации изображения. Кеш, поиск, комиссии, налоги и повторные платные попытки в расчёт не входят. Наличие кеш-метрик в общем каталоге не доказывает нативную поддержку кеширования этой моделью: Google отмечает его отсутствие. Для серии храните разрешение и число принятых файлов каждого запроса, чтобы не оплачивать уже завершённые результаты повторно.

Редактирование, результат и безопасное расширение серии

Google описывает работу с изображениями и последовательное редактирование, а каталог API429 публикует image_editing для точного ID. Это достаточная причина изучить метод редактирования, но не обещание всех нативных режимов. Начните с показанного текстового запроса; добавление референсов требует отдельной проверки клиентского multipart-контракта и допустимого размера файлов. Примеры ниже сохраняют один синхронный результат из data[0].b64_json. Они определяют формат по байтам PNG, JPEG или WebP, а не доверяют расширению заранее. При выборе response_format=url результат может оказаться обычным URL или data URI: сначала определите тип значения. Проверьте частичный результат и предупреждения перед повтором. Если запрос завершился таймаутом, не отправляйте всю серию заново без проверки: отсутствие ответа не доказывает отсутствие выполненной и оплаченной генерации. Для больших очередей ограничивайте параллельность в собственном приложении и храните состояние каждого задания. Для приёмки результата заранее определите, кто проверяет содержимое, где сохраняется исходный ответ и как фиксируется решение о повторной попытке. Это помогает отделить техническое получение файла от его готовности к использованию.

Публичные наблюдения по модели

За последние 24 часа: среднее время успешного ответа — 64 с; доля ошибок сервиса — 4,6%. Данные на .

Источник: публичная статистика за 24 часа. Среднее не является медианой или гарантией времени ответа; это не оценка качества изображения.

Первый запрос: curl, Python, JavaScript

Задайте API429_API_KEY на сервере и проверьте точный ID через GET https://gateway.api429.com/v1/models с тем же Bearer-ключом. Генерация платная; автоматические повторы не выполняются. Неопределённый таймаут не доказывает отсутствие списания.

Примеры запрашивают один результат и b64_json. curl сохраняет JSON в image-response.json; Python и JavaScript декодируют файл после проверки MIME по сигнатуре. При выборе url сначала различите hosted URL и data URI. Проверьте предупреждения, частичный результат, api429.outputs и api429.parameter_mismatches, если они присутствуют.

curl

curl --fail-with-body https://gateway.api429.com/v1/images/generations \
  -H "Authorization: Bearer $API429_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gemini-3.1-flash-image","prompt":"Предметная фотография керамической чашки на светлом столе; мягкий дневной свет, без надписей.","n":1,"size":"1024x1024","response_format":"b64_json","resolution":"1K"}' \
  --output image-response.json

Python 3

import base64
import json
import os
import urllib.request
from pathlib import Path

key = os.environ["API429_API_KEY"]
base = "https://gateway.api429.com/v1"
headers = {"Authorization": "Bearer " + key, "Content-Type": "application/json"}
model = "gemini-3.1-flash-image"
with urllib.request.urlopen(urllib.request.Request(base + "/models", headers=headers), timeout=30) as response:
    available = {item["id"] for item in json.load(response)["data"]}
if model not in available:
    raise ValueError("Model unavailable to this key")
payload = json.loads("{\"model\":\"gemini-3.1-flash-image\",\"prompt\":\"Предметная фотография керамической чашки на светлом столе; мягкий дневной свет, без надписей.\",\"n\":1,\"size\":\"1024x1024\",\"response_format\":\"b64_json\",\"resolution\":\"1K\"}")
request = urllib.request.Request(base + "/images/generations",
    data=json.dumps(payload).encode("utf-8"), headers=headers, method="POST")
with urllib.request.urlopen(request, timeout=180) as response:
    result = json.load(response)
if result.get("warnings") or result.get("api429", {}).get("parameter_mismatches"):
    print("Inspect output warnings:", result.get("warnings"), result.get("api429"))
items = result.get("data", [])
if len(items) != 1 or not items[0].get("b64_json"):
    raise ValueError("Missing image or partial result; inspect before retrying")
raw = base64.b64decode(items[0]["b64_json"], validate=True)
if raw.startswith(b"\x89PNG\r\n\x1a\n"):
    extension = "png"
elif raw.startswith(b"\xff\xd8\xff"):
    extension = "jpg"
elif raw.startswith(b"RIFF") and raw[8:12] == b"WEBP":
    extension = "webp"
else:
    raise ValueError("Unknown image MIME; inspect before saving")
Path("image." + extension).write_bytes(raw)
print(result.get("api429", {}).get("outputs"))

JavaScript: Node.js 18+

import { writeFile } from "node:fs/promises";
const key = process.env.API429_API_KEY;
if (!key) throw new Error("Set API429_API_KEY");
const base = "https://gateway.api429.com/v1";
const headers = { Authorization: "Bearer " + key, "Content-Type": "application/json" };
const model = "gemini-3.1-flash-image";
const available = await fetch(base + "/models", { headers, signal: AbortSignal.timeout(30000) });
if (!available.ok) throw new Error("Models HTTP " + available.status);
if (!(await available.json()).data.some(item => item.id === model)) throw new Error("Model unavailable to this key");
const payload = {"model":"gemini-3.1-flash-image","prompt":"Предметная фотография керамической чашки на светлом столе; мягкий дневной свет, без надписей.","n":1,"size":"1024x1024","response_format":"b64_json","resolution":"1K"};
const response = await fetch(base + "/images/generations", {
 method: "POST", headers, body: JSON.stringify(payload), signal: AbortSignal.timeout(180000)
});
if (!response.ok) throw new Error("Generation HTTP " + response.status);
const result = await response.json();
if (result.warnings || result.api429?.parameter_mismatches) console.warn("Inspect warnings", result.warnings, result.api429);
if (result.data?.length !== 1 || !result.data[0].b64_json) throw new Error("Missing image or partial result; inspect before retrying");
const bytes = Buffer.from(result.data[0].b64_json, "base64");
const hex = bytes.subarray(0, 8).toString("hex");
const extension = hex === "89504e470d0a1a0a" ? "png" : hex.startsWith("ffd8ff") ? "jpg" : bytes.toString("ascii", 0, 4) === "RIFF" && bytes.toString("ascii", 8, 12) === "WEBP" ? "webp" : undefined;
if (!extension) throw new Error("Unknown image MIME; inspect before saving");
await writeFile("image." + extension, bytes);
console.log(result.api429?.outputs);

Примеры проверяются offline по клиентскому контракту и публичной схеме. Платный запуск и качество результата не заявляются. Подтверждённый полный image jobs контракт здесь отсутствует: асинхронные поля и polling не приводятся.

n8n: HTTP Request и сохранение результата

  1. Проверьте доступ точного ID через GET /v1/models.
  2. Создайте HTTP Request с POST на https://gateway.api429.com/v1/images/generations; храните Bearer-ключ в credentials.
  3. Передайте JSON из curl с одним результатом. Не включайте ключ в экспорт workflow.
  4. Разберите JSON, проверьте количество data и предупреждения; декодируйте b64_json и проверьте MIME перед сохранением.

Документация HTTP Request. Совместимость специальных AI-узлов и нативных SDK требует отдельной проверки.

Три варианта для собственного сравнения

Сравнивайте одинаковые задания и критерии приёмки. Это модели изображений, не рейтинг качества; условные строки относятся к своим конфигурациям и не составляют равнозначный benchmark.

МодельОпубликованные единицы API429
GPT Image 2gpt-image-2
auto · длинная сторона >1536 и до 2048 px: $0.2532 / 1 изображение
auto · длинная сторона >2048 px: $0.500892 / 1 изображение
auto · прямоугольник, сторона до 1536 px: $0.0495 / 1 изображение
auto · квадрат, сторона до 1536 px: $0.0633 / 1 изображение
high · длинная сторона >1536 и до 2048 px: $0.2532 / 1 изображение
high · длинная сторона >2048 px: $0.500892 / 1 изображение
high · прямоугольник, сторона до 1536 px: $0.0495 / 1 изображение
high · квадрат, сторона до 1536 px: $0.0633 / 1 изображение
low · длинная сторона >1536 и до 2048 px: $0.0072 / 1 изображение
low · длинная сторона >2048 px: $0.014238 / 1 изображение
low · прямоугольник, сторона до 1536 px: $0.0015 / 1 изображение
low · квадрат, сторона до 1536 px: $0.0018 / 1 изображение
medium · длинная сторона >1536 и до 2048 px: $0.0636 / 1 изображение
medium · длинная сторона >2048 px: $0.125768 / 1 изображение
medium · прямоугольник, сторона до 1536 px: $0.0123 / 1 изображение
medium · квадрат, сторона до 1536 px: $0.0159 / 1 изображение
Flux.2 ProFLUX.2-pro
1 MP, без референсов: $0.009 / 1 изображение
2 MP, без референсов: $0.0135 / 1 изображение
4 MP, без референсов: $0.0225 / 1 изображение
gemini-3-pro-image (Nano Banana Pro)gemini-3-pro-image
Разрешение 1K: $0.0402 / 1 изображение
Разрешение 2K: $0.0402 / 1 изображение
Разрешение 4K: $0.072 / 1 изображение

Версия и дата выпуска

Дата выпуска у Google: . Точный предшественник в проверенных источниках не установлен. Это не автоматическая замена ID. Дата появления модели в API429 не установлена.

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

Какой точный ID нужен для Nano Banana 2?

Используйте gemini-3.1-flash-image. Перед платной генерацией проверьте его в GET /v1/models своим ключом. Совпадение семейного названия с Pro или Lite не делает их тем же ID.

Как запросить 2K или 4K?

Задайте resolution явно и отдельно выберите форму через size. Проверяйте фактические параметры результата и предупреждения. Нативные размеры Google не устанавливают эффективные ограничения API429.

Почему цена изображения не равна цене запроса?

Для прямого Images калькулятор считает выходной компонент по resolution. Полный нативный запрос Google может включать вход и текстовый/thinking выход; другие методы API429 имеют собственный контракт. Кеш, поиск, комиссии и повторы здесь не включены.

Как сохранить файл из ответа?

При b64_json декодируйте data[0].b64_json и проверьте MIME по байтам. При url сначала различите hosted URL и data URI. Не называйте любой ответ PNG и проверьте неполную серию перед повторной генерацией.

Источники и проверка

Редакционная проверка: . Тарифы · Начало работы · Сравнение семейства Nano Banana

Telegram