🍌 Gemini Banana 镜像多图像编辑
Consistency without the Google key
- image1
- image2
- image3
- image4
- edited_image
- response_text
Take the multi-image edit node, route it through a mirror instead of the official Google API, and you get this: "🍌 Gemini Banana 镜像多图像编辑," the mirror multi-image editor. Up to four images in, one edited image out, powered by Gemini's image model through Comfly, T8, Kuai, API4GPT, OpenRouter, Comet, or aabao - whichever mirror you set. For anyone who can't or won't set up Google billing, this is the way to get multi-image consistency-style edits.
The one behavioral difference from the official MultiImageEditBananaNode (besides the mirror plumbing and the mirror_site dropdown) is that the model list here is the mirror-flavored set - the Auto entry plus labeled options like nano-banana [Comfly-T8] and gemini-2.5-flash-image-hd [API4GPT] - and there's an extra timeout control, which mirrors genuinely need because they're slower than the official API.
How it works
Same Gemini generateContent with multiple inline images, but the endpoint and auth are chosen by mirror_site. The node loads the site list from Gemini_Banana_config.json, and for the newer Nano Banana models it uses the Gemini-native format, with fallbacks to OpenAI-style paths for NB1 on providers that require them. Choose custom and you're on your own for both api_key and base_url - the node refuses to guess.
The inputs that matter
mirror_site- 15 presets, default comfly.api_key- the mirror's key (falls back to site config).image1…image4(optional) - the images to edit.prompt/negative_prompt- the instructions; the Chinese default wants rewriting to be specific.model- Auto by default, or the labeled mirror models.aspect_ratio,response_modality,output_resolution- output controls (1K/2K/4K).quality,style,detail_level,camera_control,lighting_control,template_selection- the photography presets.upscale_factor/gigapixel_model- Topaz hook.temperature/top_p/top_k/max_output_tokens/seed- sampling.enable_iterative_refinement,keep_last_turns,reset_conversation,lock_seed, conversation summary - session refinement.timeout- seconds before giving up (default 300).
Outputs: edited_image (IMAGE) and response_text (STRING).
Install
ComfyUI Manager → ComfyUI_LLM_Banana, or:
cd ComfyUI/custom_nodes
git clone https://github.com/xuchenxu168/ComfyUI_LLM_Banana
cd ComfyUI_LLM_Banana
pip install -r requirements.txt
Restart, edit Gemini_Banana_config.json to add mirrors.
Gotchas
The mirror reality applies harder here than single-image: multi-image requests are bigger, so they're slower through a proxy and more likely to hit that timeout. Raise it before you blame the node. "Model not found" remains the standard mirror failure - check the provider label on your chosen model. And on multi-image consistency, treat the output as a strong draft; VLM multi-subject attribution is still shaky, so eyeball the result before you build a batch pipeline on it.
Inputs (38)
| Name | Type | Default | Description |
|---|---|---|---|
| mirror_site | COMBO | comfly | 15 options: nano-banana官方, comfly, Comfly-HK, Comfly-US, Kuai API, T8的贞贞AI工坊, +9 |
| api_key | STRING | — | |
| prompt | STRING | 请根据这些图片进行专业的图像编辑 | — |
| negative_prompt | STRING | — | |
| model | COMBO | Auto (Latest Gemini 3 Pro) 🤖 | 13 options: Auto (Latest Gemini 3 Pro) 🤖, gemini-3-pro-image [Comet] 🔥NEW, gemini-3-pro-image-preview [All] 🔥NEW, google/gemini-3-pro-image-preview [OpenRouter] 🔥NEW, gemini-2.5-flash-image [All] ✓Stable, gemini-2.5-flash-image-preview [All] ✓Stable, +7 |
| proxy | STRING | None | — |
| aspect_ratio | COMBO | Auto | 图像宽高比 (Gemini官方API支持) |
| response_modality | COMBO | TEXT_AND_IMAGE | 响应模式:TEXT_AND_IMAGE=文字+图像,IMAGE_ONLY=仅图像 |
| output_resolution | COMBO | Auto (Model Default) | 🔥 仅 Nano Banana 2 (gemini-3-pro-image/gemini-3-pro-image-preview) 支持:通过 imageSize 参数直出 1K/2K/4K 分辨率(与 aspect_ratio 组合生成对应尺寸)。其他模型会忽略此参数。 |
| quality | COMBO | hd | 5 options: standard, hd, ultra_hd, ai_enhanced, ai_ultra |
| style | COMBO | natural | 18 options: None, vivid, natural, artistic, cinematic, photographic, +12 |
| detail_level | COMBO | Professional Detail | 5 options: None, Basic Detail, Professional Detail, Premium Quality, Masterpiece Level |
| camera_control | COMBO | Auto Select | 8 options: None, Auto Select, Wide-angle Lens, Macro Shot, Low-angle Perspective, High-angle Shot, +2 |
| lighting_control | COMBO | Auto Settings | 8 options: None, Auto Settings, Natural Light, Studio Lighting, Dramatic Shadows, Soft Glow, +2 |
| template_selection | COMBO | Auto Select | 14 options: None, Auto Select, Professional Portrait, Cinematic Landscape, Product Photography, Digital Concept Art, +8 |
| upscale_factor | COMBO | 1x (不放大) | 使用Topaz Gigapixel AI进行智能放大 |
| gigapixel_model | COMBO | High Fidelity | Gigapixel AI放大模型 |
| temperature | FLOAT | 1.000–1.5 | — |
| top_p | FLOAT | 0.950–1 | — |
| top_k | INT | 400–100 | — |
| max_output_tokens | INT | 81920–32768 | — |
| seed | INT | 00–999999 | — |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| custom_additionsopt | STRING | — | |
| safety_levelopt | COMBO | default | 内容安全过滤级别:default=API默认, strict=严格, moderate=中等, permissive=宽松, off=关闭 |
| system_instruction_presetopt | COMBO | none | 系统指令预设模板,用于引导AI的行为和风格 |
| custom_system_instructionopt | STRING | — | |
| enable_iterative_refinementopt | BOOLEAN | false | 启用迭代优化:保留历史对话上下文,实现连续细化 |
| keep_last_turnsopt | INT | 31–10 | 保留最近N轮对话(仅在未启用摘要时生效) |
| reset_conversationopt | BOOLEAN | false | 重置会话历史:清空所有历史记录,重新开始 |
| lock_seedopt | BOOLEAN | false | 锁定种子:首次运行后固定seed值,保持风格一致 |
| enable_conversation_summaryopt | BOOLEAN | false | 启用会话摘要:自动生成对话摘要,减少token消耗,提高一致性 |
| summary_injectionopt | COMBO | System Instruction | 摘要注入位置:System Instruction更隐形稳定,Prompt Prefix更显式可见 |
| summary_max_charsopt | INT | 600100–2000 | 摘要最大字符数 |
| timeoutopt | INT | 30010–3600 | 请求超时时间(秒),默认为300秒 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| edited_image | IMAGE | — |
| response_text | STRING | — |