ComfyUI Node

Nano Banana 2

The speed-quality hybrid that finally takes video refs

By Runware·Created 2 years ago·Updated about a month ago· 140
Nano Banana 2
  • referenceImages
  • referenceVideos
  • advancedFeatures.watermark.image
  • image
positivePrompt
size0.5K (1:1)
seed0
numberResults1
advancedFeaturesfalse
advancedFeatures.watermark.bgColor
advancedFeatures.watermark.displayPosition(default)
advancedFeatures.watermark.fontColor
advancedFeatures.watermark.opacityfalse
advancedFeatures.watermark.opacity_value0.10
advancedFeatures.watermark.text
providerSettings.google.imageSearchfalse
safetyfalse
safety.checkContentfalse
providerSettings.google.safetyTolerancenone
settings.systemPrompt
settings.temperaturefalse
settings.temperature_value0.00
settings.thinking(default)
settings.topPfalse
settings.topP_value0.00
providerSettings.google.webSearchfalse
ttlfalse
ttl_value60
outputFormatJPG
outputQuality95

Nano Banana 2 is Google's second-generation Gemini image model - the "2" is Gemini 3.1 Flash under the hood, positioned as the speed-quality hybrid between the original Nano Banana and the 4K flagship Pro tier. Runware hosts it as google:4@3, and the node is where that hybrid lands in your ComfyUI graph. It's faster and cheaper than the flagship, notably better than the original Banana, and it brings two genuinely new inputs the first one didn't have.

The first is video reference: referenceVideos plugs a clip in and the model does image generation guided by motion from video - useful when you're pulling a consistent still out of a shot. The second is search grounding: imageSearch and webSearch toggles let the model pull real-world references from the web instead of hallucinating context. Those two features are what make Banana 2 a workflow upgrade rather than a refresh.

Same caveats as its older sibling, still worth saying: it's Google-censored with SynthID watermarks, and the "powerful, unimaginative" community read applies to the whole Gemini-image line. This is a text-in-image and instruction-following specialist, not an uncensored workhorse.

What you set

  • positivePrompt (required) - natural language; it listens hard.
  • referenceImages - optional IMAGE input for identity/style transfer.
  • referenceVideos - from the Runware Reference Videos builder; the new motion-guidance input.
  • size - the smart dropdown: 61 options from 0.5K to 4K, with per-aspect presets and "from input" modes. It owns resolution; leave width/height alone when you use it.
  • providerSettings.google.imageSearch / webSearch - grounding toggles; off by default (and they cost extra tokens).
  • settings.thinking - (default) / MINIMAL / HIGH - how much the model reasons before drawing.
  • providerSettings.google.safetyTolerance - the filter slack dial.
  • numberResults (up to 20), seed, outputFormat, outputQuality.

Output is image (IMAGE).

How it works

Standard pack machinery: taskType: imageInference over REST via the Runware SDK, with images, video refs, and search flags encoded into the payload, native IMAGE back. The size dropdown is handled specially - it clears the width/height triad so the request never sends a conflicting resolution pair. Cost shows on the title bar; grounded runs with search enabled cost more tokens, so watch that when you iterate.

Installing

ComfyUI Manager → search Runware → install → restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt

No model downloads; deps are runware-sdk, pillow, soundfile. API key via Settings → Runware API key, RUNWARE_API_KEY, or runware auth login.

Troubleshooting

Refusal issues are the same Google-filter story as Banana 1 - check safetyTolerance before you fight a prompt. If a grounded run comes back weird, the search context is the variable; toggle webSearch off and compare. Video references not binding? Wire the builder with a clear, short clip - motion guidance degrades with noisy or over-long references. And if you set both size and width/height, expect the size dropdown to win; pick one way to control resolution.

CategoryRunware/Image/google

Inputs (29)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
referenceImagesoptIMAGE
referenceVideosoptRUNWARE_REFERENCEVIDEOS
advancedFeatures.watermark.imageoptIMAGE
sizeoptCOMBO0.5K (1:1)Output size. Only one of resolution or dimensions is sent.
seedoptINT00–2147483647Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
numberResultsoptINT11–20Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
advancedFeaturesoptBOOLEANfalseEnable to set advancedFeatures. Off uses the model's default.
advancedFeatures.watermark.bgColoroptSTRINGBackground color in hex format.
advancedFeatures.watermark.displayPositionoptCOMBO(default)Watermark position.
advancedFeatures.watermark.fontColoroptSTRINGText color in hex format.
advancedFeatures.watermark.opacityoptBOOLEANfalseEnable to set advancedFeatures.watermark.opacity. Off uses the model's default.
advancedFeatures.watermark.opacity_valueoptFLOAT0.100.1–1Watermark opacity.
advancedFeatures.watermark.textoptSTRINGWatermark text.
providerSettings.google.imageSearchoptBOOLEANfalseEnable image search grounding to incorporate visual references from the web into image generation.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
providerSettings.google.safetyToleranceoptCOMBOnoneSafety filter tolerance level. Use `off` to use Google's defaults.
settings.systemPromptoptSTRINGSystem-level instruction that guides the model's behavior and output style across the entire generation.
settings.temperatureoptBOOLEANfalseEnable to set settings.temperature. Off uses the model's default.
settings.temperature_valueoptFLOAT0.000–2Controls randomness in generation. Lower values produce more deterministic outputs, higher values increase variation and creativity.
settings.thinkingoptCOMBO(default)Controls the depth of internal reasoning the model performs before generating a response.
settings.topPoptBOOLEANfalseEnable to set settings.topP. Off uses the model's default.
settings.topP_valueoptFLOAT0.000–1Nucleus sampling parameter that controls diversity by limiting the probability mass. Lower values make outputs more focused, higher values increase diversity.
providerSettings.google.webSearchoptBOOLEANfalseEnable live web search grounding to incorporate real-world, up-to-date information into image generation.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOJPGFile format for the generated image.
outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.

Outputs (1)

NameTypeDescription
imageIMAGE