Генерация изображений · google

Nano Banana 2

nano-banana-2

Nano Banana 2 — генерация изображений от Google, доступная через единый Ranvik API. Поддерживаемые возможности: high_quality, image_to_image, text_to_image.

от 13.04 ₽ / шт

Технические характеристики

МодальностьГенерация изображений
Провайдерgoogle
СтатусАктивна
ID для запросовnano-banana-2

Возможности

  • Высокое качество
  • Image-to-Image
  • Text-to-image

Цены

ЕдиницаЦена
за изображение · 51213.04 ₽
за изображение · 1K19.31 ₽
за изображение · 2K28.71 ₽
за изображение · 4K42.83 ₽

Цены указаны в рублях. Списываются с баланса проекта при каждом успешном запросе.

Поддерживаемые параметры

Параметры передаются вендору как есть (pure proxy) — мы не валидируем их у себя на стороне. Если вендор не примет — вернётся его ошибка.

ПараметрТипДиапазон / valuesDefaultОписание
positivePromptrequiredstringmin: 3 · max: 45000 Текстовый промпт — до 45k символов. Можно передавать длинные сценарии, multi-image инструкции, character briefs.
примеры значений
Примеры
Создай 2x2 grid с одним и тем же персонажем в 4 разных нарядах: casual, sport, formal, evening.
widthinteger Ширина в px. Парный к height — только валидные комбинации (см. ниже). Несовместимо с resolution.
heightinteger Высота в px. Парный к width. Список валидных значений — см. combos у width.
resolutionenum0.5K, 1K, 2K, 4K Resolution preset. Несовместимо с width/height. При inputs.referenceImages aspect ratio наследуется.
seedintegermin: 0 · max: 9223372036854776000 Seed для воспроизводимой генерации. Если не указан — выбирается случайно.
inputs.referenceImagesarray of stringsmin: 1 · max: 14 Reference-изображения (UUID / URL / Data URI / Base64). До 14 шт. Каждый референс +$0.00028 к стоимости.
примеры значений
Примеры
[
  "https://example.com/ref1.jpg",
  "https://example.com/ref2.jpg"
]
settings.systemPromptstringmin: 1 · max: 50000 Системная инструкция для модели (до 50k chars). Задаёт глобальное поведение и стиль.
settings.temperaturenumbermin: 0 · max: 1 Случайность генерации (шаг 0.01). 0 = детерминированная генерация, 1 = максимально случайная.
settings.topPnumbermin: 0 · max: 1 Nucleus sampling (шаг 0.01). Альтернатива temperature.
settings.thinkingenumMINIMAL, HIGH Глубина обдумывания модели перед генерацией. MINIMAL — быстро, HIGH — глубже и медленнее.
providerSettings.google.safetyToleranceenumhigh, medium, low, none, offnone Уровень safety-фильтра Google: high — самый строгий, off — отключено.
providerSettings.google.imageSearchbooleanfalse Включить grounded image search — модель ищет references в вебе. ДОБАВЛЯЕТ $0.14 к стоимости запроса.
providerSettings.google.webSearchbooleanfalse Включить live web search — модель может искать актуальную информацию для генерации. ДОБАВЛЯЕТ $0.14 к стоимости запроса.
numberResultsintegermin: 1 · max: 201 Сколько вариаций сгенерировать. Для image — до 20 за один запрос.
outputTypeenumURL, base64Data, dataURIURL Формат доставки: URL — CDN-ссылка (default), base64Data — raw base64, dataURI — data:image/...;base64,...
outputFormatenumJPG, PNG, WEBPJPG Формат изображения.
outputQualityintegermin: 20 · max: 9995 Качество компрессии (20–99).
asyncbooleanfalse true → task_id для async-polling. false (default) → sync.
safety.checkContentbooleanfalse Включить проверку контента (Runware-уровень). Отдельно от providerSettings.google.safetyTolerance.
safety.modeenumnone, fastnone Режим safety-сканера.
webhookURLstring URL для POST-уведомления при готовности async-задачи.
примеры значений
Примеры
https://yourapp.com/webhooks/runware
uploadEndpointstring Presigned URL для автозагрузки готового изображения.
примеры значений
Примеры
https://bucket.s3.amazonaws.com/result.png?X-Amz-Signature=...

Поддерживаемые размеры

Допустимы только эти комбинации width × height. Произвольные значения вендор отклонит — используй resolution preset либо одну из пар ниже.

0.5K (1:1)
512×512
0.5K (3:2)
632×424
0.5K (2:3)
424×632
0.5K (4:3)
600×448
0.5K (3:4)
448×600
0.5K (4:5)
464×576
0.5K (5:4)
576×464
0.5K (9:16)
384×688
0.5K (16:9)
688×384
0.5K (21:9)
792×168
0.5K (4:1)
1024×256
0.5K (1:4)
256×1024
0.5K (8:1)
1536×192
0.5K (1:8)
192×1536
1K (1:1)
1024×1024
1K (3:2)
1264×848
1K (2:3)
848×1264
1K (4:3)
1200×896
1K (3:4)
896×1200
1K (4:5)
928×1152
1K (5:4)
1152×928
1K (9:16)
768×1376
1K (16:9)
1376×768
1K (21:9)
1584×672
1K (4:1)
2048×512
1K (1:4)
512×2048
1K (8:1)
3072×384
1K (1:8)
384×3072
2K (1:1)
2048×2048
2K (3:2)
2528×1696
2K (2:3)
1696×2528
2K (4:3)
2400×1792
2K (3:4)
1792×2400
2K (4:5)
1856×2304
2K (5:4)
2304×1856
2K (9:16)
1536×2752
2K (16:9)
2752×1536
2K (21:9)
3168×1344
2K (4:1)
4096×1024
2K (1:4)
1024×4096
2K (8:1)
6144×768
2K (1:8)
768×6144
4K (1:1)
4096×4096
4K (3:2)
5056×3392
4K (2:3)
3392×5056
4K (4:3)
4800×3584
4K (3:4)
3584×4800
4K (4:5)
3712×4608
4K (5:4)
4608×3712
4K (9:16)
3072×5504
4K (16:9)
5504×3072
4K (21:9)
6336×2688
4K (4:1)
8192×2048
4K (1:4)
2048×8192
4K (8:1)
12288×1536
4K (1:8)
1536×12288

Параметры ответа

Что возвращает API. У медиа-моделей формат зависит от режима: sync — сразу результат, async — task_id для опроса через GET /v1/tasks/{id}.

Sync (HTTP 200)

Sync-ответ (default). HTTP 200 + JSON.

ПолеТипЗначенияОписание
createdinteger Unix timestamp когда сгенерировано.
dataarray
Каждый элемент:
  • url— string · CDN URL картинки (если outputType=URL).
  • b64_json— string · Base64-кодированный PNG/JPG (если outputType=base64Data).
  • taskUUID— string · Идентификатор upstream-задачи (для chain в i2i и т.п.).
  • seed— integer · Использованный seed (если детерминистичная генерация).
providerstring Вендор для отладки.

Async (HTTP 202)

Если в запросе передан async:true → HTTP 202.

ПолеТипЗначенияОписание
idstring task_id для опроса через GET /v1/tasks/{id}.
objectstringimage.task
statusenumqueued, processing, completed, failed
modelstring Public model id.
createdinteger

Опрос статуса (GET /v1/tasks/{id})

GET /v1/tasks/{id} — опрос статуса async-задачи.

ПолеТипЗначенияОписание
idstring
objectstringtask
statusenumqueued, processing, completed, failed, canceled
modalitystringimage
modelstring
createdinteger
dataarray
Каждый элемент:
  • url— string · CDN URL артефакта (если completed).
errorstring Сообщение об ошибке (если failed).

Пример запроса

from openai import OpenAI

client = OpenAI(api_key="rk_live_...", base_url="https://api.ranvik.ru/v1")
resp = client.images.generate(
    model= "nano-banana-2",
    positivePrompt= "Пример промпта",
    width= 1,
    height= 1,
    resolution= "0.5K",
    seed= 4611686018427388000,
    "inputs.referenceImages": [],
    "settings.systemPrompt": "Пример промпта",
    "settings.temperature": 0.5,
    "settings.topP": 0.5,
    "settings.thinking": "MINIMAL",
    "providerSettings.google.safetyTolerance": "none",
    "providerSettings.google.imageSearch": False,
    "providerSettings.google.webSearch": False,
    numberResults= 1,
    outputType= "URL",
    outputFormat= "JPG",
    outputQuality= 95,
    async= False,
    "safety.checkContent": False,
    "safety.mode": "none",
    webhookURL= "https://example.com/...",
    uploadEndpoint= "value",
)
print(resp)

Замените rk_live_... на ваш ключ из кабинета.

О провайдере: Google

Google DeepMind разрабатывает семейство моделей Gemini — мультимодальные LLM с нативной поддержкой текста, изображений, аудио и видео в одном запросе. Известны рекордно длинным контекстом (до 2M токенов).

Официальный сайт: https://deepmind.google

Документация модели у вендора: https://runware.ai/docs/models/google-nano-banana-2