Nodes/ComfyUI-YK-Banana2-Batch/YK-Banana2 Batch 🍌 v:YK-ai001
ComfyUI Node

YK-Banana2 Batch 🍌 v:YK-ai001

YK-Banana2 Batch in ComfyUI

By Bzbaozi·Created 8 months ago·Updated 8 months ago· 1
YK-Banana2 Batch 🍌 v:YK-ai001
  • image_1_1
  • image_1_2
  • image_1_3
  • image_2_1
  • image_2_2
  • image_2_3
  • image_3_1
  • image_3_2
  • image_3_3
  • image_4_1
  • image_4_2
  • image_4_3
  • image_5_1
  • image_5_2
  • image_5_3
  • image_6_1
  • image_6_2
  • image_6_3
  • image_7_1
  • image_7_2
  • image_7_3
  • image_8_1
  • image_8_2
  • image_8_3
  • image_9_1
  • image_9_2
  • image_9_3
  • image_10_1
  • image_10_2
  • image_10_3
  • output_1
  • output_2
  • output_3
  • output_4
  • output_5
  • output_6
  • output_7
  • output_8
  • output_9
  • output_10
aspect_ratio
resolution
seed0
poll_interval_sec3
max_wait_sec300
prompt_1
api_key
prompt_2
prompt_3
prompt_4
prompt_5
prompt_6
prompt_7
prompt_8
prompt_9
prompt_10

The name is half joke, but the model behind it is very real. YK-Banana2 Batch is a ComfyUI node that fires up to ten image generations in parallel at a cloud API - the "Banana" is Google's Nano Banana, the same Gemini image model the whole internet couldn't shut up about in late 2025 - and hands you ten IMAGE tensors back. No local GPU grind, no checkpoints to download. You do, however, need a paid API key from a reseller you reach over WeChat, and that's the whole game with this one.

What it actually is

This is not a local model node. It's a thin wrapper around api.kie.ai, the marketplace API, calling the model id nano-banana-pro - that's Google's Nano Banana Pro (4K native output). The author brands the resold service "YK-Banana2 Pro", so don't hunt for a separate "Banana 2" model id in the code; the "2" is branding.

The pitch, straight from the README: each of the 10 tasks takes up to 3 reference images plus its own prompt. The canonical use case is fashion transfer - "put the clothes from image 2 on the person in image 1, keep the pose and scene." If you've ever wanted a grid of one outfit on five people in a single run, this is the shape of tool for it. People who lean on Nano Banana Pro in ComfyUI do tend to route it through reseller APIs, because the marketplace pricing is noticeably cheaper than the official ComfyUI/Fal path.

How it works

The mechanism is straightforward and worth knowing because it explains the failure modes. Reference images are base64-encoded as PNG data URLs, uploaded to Kie's file endpoint, and come back as download URLs. Then the node POSTs a createTask with the prompt, image URLs, aspect ratio, resolution, and a seed, and polls recordInfo every poll_interval_sec until the job hits success or max_wait_sec runs out. The result downloads and converts straight into an IMAGE tensor.

Parallelism comes from a ThreadPoolExecutor with one worker per task - that's the "up to 10 independent tasks simultaneously" claim. Unused task slots return a blank 512×512 image, and so does a failed task, which is the gotcha: a white output is ambiguous, so keep an eye on the [YK-AI] lines in the ComfyUI console to tell "unused" from "broke."

The inputs that matter

Most of the 60-odd inputs are just the same trio repeated ten times, so really you're setting a few things:

  • aspect_ratio - auto, or one of 1:1, 2:3, 9:16, 16:9, etc. Applied to every task.
  • resolution - 1K, 2K, or 4K. 4K costs more per image on the API side, and for a 10-image batch that adds up.
  • prompt_1 (required) plus prompt_2prompt_10, each with image_i_1image_i_3 reference slots.
  • api_key - optional override widget; leave empty if you've set the env var.
  • seed, poll_interval_sec, max_wait_sec - leave the last two at defaults (3s / 300s) unless you're hitting timeouts.

Outputs are output_1 through output_10, all IMAGE, no batch concat, original resolution preserved. Each wires into whatever you'd do next - a SaveImage, a grid node, a video model.

Installing

Via ComfyUI Manager, search "ComfyUI-YK-Banana2-Batch" (or "YK-Banana2") and install, then restart. Or clone it:

cd ComfyUI/custom_nodes
git clone https://github.com/Bzbaozi/ComfyUI-YK-Banana2-Batch

Then restart ComfyUI. There's no requirements.txt and no model download - the dependencies (requests, Pillow, numpy, torch) are already in every ComfyUI install. One trap: the README's own clone command has a YOUR_GITHUB_USERNAME placeholder, so copy the real URL above.

Where people get burned

The single biggest one: nothing happens without a paid key. You get one from the pack author / reseller "YK-AI" by messaging WeChat v:YK-ai001 (it's stamped right in the display name). No key, no credit card, no internet? The node silently returns ten blank images - it doesn't even error. Set the key via env var as the README recommends:

export YK_BANANA2_API_KEY="your_key_here"

If you instead paste it into the api_key widget, the node writes it to YK_nanobanana_config.json in plaintext in your ComfyUI directory. Use the env var.

Second: every HTTP call in the source uses verify=False, meaning SSL certificate verification is disabled and every reference image you feed it leaves your machine for a third-party file server. Normal for cloud-node territory, but go in knowing what you're sending where.

Third: max_wait_sec is divided across however many tasks run, so a full 10-task batch gets ~30 seconds each at the default. And because the model is Nano Banana Pro underneath, expect Google's aggressive censorship - no planning around celebrities or copyrighted IP.

Bottom line

It's a functional, genuinely useful shape - reference-image batch work through a strong cloud model without touching your GPU - wrapped in a reseller business model that's thin on documentation and heavy on WeChat. If you're in the Nano-Banana-in-ComfyUI crowd and already have the key, it does exactly what the label says. If you don't, that WeChat message is the first step, and it's the only one that matters.

CategoryYK-AI/Generative Models

Inputs (46)

NameTypeDefaultDescription
aspect_ratioCOMBO11 options: auto, 1:1, 2:3, 3:2, 3:4, 4:3, +5
resolutionCOMBO3 options: 1K, 2K, 4K
seedINT00–18446744073709550000
poll_interval_secINT32–10
max_wait_secINT30060–900
prompt_1STRING
api_keyoptSTRING
image_1_1optIMAGE
image_1_2optIMAGE
image_1_3optIMAGE
prompt_2optSTRING
image_2_1optIMAGE
image_2_2optIMAGE
image_2_3optIMAGE
prompt_3optSTRING
image_3_1optIMAGE
image_3_2optIMAGE
image_3_3optIMAGE
prompt_4optSTRING
image_4_1optIMAGE
image_4_2optIMAGE
image_4_3optIMAGE
prompt_5optSTRING
image_5_1optIMAGE
image_5_2optIMAGE
image_5_3optIMAGE
prompt_6optSTRING
image_6_1optIMAGE
image_6_2optIMAGE
image_6_3optIMAGE
prompt_7optSTRING
image_7_1optIMAGE
image_7_2optIMAGE
image_7_3optIMAGE
prompt_8optSTRING
image_8_1optIMAGE
image_8_2optIMAGE
image_8_3optIMAGE
prompt_9optSTRING
image_9_1optIMAGE
image_9_2optIMAGE
image_9_3optIMAGE
prompt_10optSTRING
image_10_1optIMAGE
image_10_2optIMAGE
image_10_3optIMAGE

Outputs (10)

NameTypeDescription
output_1IMAGE
output_2IMAGE
output_3IMAGE
output_4IMAGE
output_5IMAGE
output_6IMAGE
output_7IMAGE
output_8IMAGE
output_9IMAGE
output_10IMAGE