Nodes/ComfyUI_Burve_Tools/Burve Google Image Gen
ComfyUI Node

Burve Google Image Gen

Gemini image gen inside your graph

By Burve·Created 9 months ago·Updated 6 days ago· 5
Burve Google Image Gen
  • reference_images
  • character_pipe
  • previous_interaction
  • reference_pack
  • input_files
  • video
  • image
  • thinking_image
  • thinking_process
  • system_messages
  • generated_image_pipe
  • response_text
  • grounding_metadata_json
  • interleaved_content
  • interaction_pipe
prompt
model
seed0
system_instructions
aspect_ratio_override
request_timeout_seconds120
retry_attempts5
api_modeauto
response_modetext_and_image
conversation_modestateless
video_url
temperature1.00
top_p0.95
grounding_renderer

This is the node that turns Google's Gemini image models - the "Nano Banana" family - into a regular node on your canvas. No diffusion checkpoint, no VAE, no VRAM math. You type a prompt, it calls Google's API, and an image comes back. That's the whole trade: you swap "hours of disk space and a GPU" for "a few cents per image and a network call."

It's genuinely useful in ComfyUI for the stuff local models are still bad at. Gemini image models nail text rendering in the image, follow long prose prompts well, and accept up to 14 reference images. If you've ever fought with a checkpoint that mangles your typography, this is the alternative. The trade is obvious too: it's closed, it's rate-limited, every image gets a SynthID watermark, and Google can change the filter or pricing overnight. For a character sheet or a storyboard it's hard to beat; for consistent bulk generation you probably still want local.

How it works

Under the hood it's the google-genai Python SDK talking to AI Studio, with your GEMINI_API_KEY read from the process environment. The model dropdown is a DynamicCombo: pick gemini-2.5-flash-image, gemini-3-pro-image-preview, or gemini-3.1-flash-image-preview, and the node reshows the relevant fields for that model. The 3 Pro model is the flagship - native 4K output, thinking mode, the works. The 3.1 Flash is the speed play, and it's the one that adds search_mode (web/image) and thinking_level controls.

The node is also patient in a way most API nodes aren't: it has a bounded request timeout (default 120s) and retries transient failures up to 5 times, backing off between attempts. It returns an explicit timeout error instead of hanging forever.

The inputs that matter

  • prompt - the description. Ignored the moment you connect a character_pipe.
  • model - DynamicCombo; the fields below it change with your choice.
  • resolution / aspect_ratio - per-model. 3 Pro goes up to 4K; the others support 0.5K/1K/2K/4K.
  • seed - for reproducibility, with control-after-generate.
  • search_mode / thinking_mode - and the three legacy toggles (enable_google_search, enable_image_search, enable_thinking_mode) that older workflows used before the per-model fields existed.
  • system_instructions - optional guidance, e.g. from Burve System Instructions.
  • reference_images - an IMAGE_LIST from Burve Image Ref Pack or Burve Character Planner.
  • character_pipe - one-wire bundle from the planner; when it's connected, prompt, system instructions, and references all come from the pipe and your direct inputs are ignored.

Outputs

  • image - what you actually wanted, into a preview or Save Image node.
  • thinking_image / thinking_process - the model's reasoning-stage images and text, if the model returns any.
  • system_messages - the underrated one. When a run fails or comes back weird, this is where the finish reason and error text live. Check it before you re-ask the same prompt.

Install and key setup

Install the pack, then set the key. The README's Windows flow is the classic trap:

setx GEMINI_API_KEY "YOUR_REAL_KEY_HERE"

setx only affects new processes - close the terminal and fully restart ComfyUI or it won't see the key. On macOS standalone builds, shell profiles don't reliably reach GUI-launched apps; use launchctl setenv GEMINI_API_KEY "..." instead. Linux is the usual export in your shell rc. The pack needs google-genai>=1.68.0,<2 and a DynamicCombo-capable ComfyUI build (0.8.0+), which the requirements and pyproject.toml handle.

Common issues

The number-one failure is "API key is missing" when you're sure you set it - that's an environment visibility problem, not a Google problem. Burve Debug Gemini Key tells you exactly what ComfyUI sees. Community reports also show the free-tier goalposts moving (a free request/day allowance that Google kept changing), so a fresh key can still hit quota errors - set up billing on the key if that happens. And if you get a tiny black placeholder image plus No non-thinking image generated. in the thinking output, the request completed but returned no usable image part - read system_messages, retry the prompt, or switch to another model in the list.

CategoryBurveTools

Inputs (20)

NameTypeDefaultDescription
promptSTRING
modelCOMBO4 options: [object Object], [object Object], [object Object], [object Object]
seedINT00–18446744073709550000
system_instructionsoptSTRING
reference_imagesoptIMAGE_LIST
character_pipeoptCHARACTER_GEN_PIPE
aspect_ratio_overrideoptSTRINGOptional override for the selected model's aspect_ratio. Connect Burve Crop + Mask Load here.
request_timeout_secondsoptINT12010–1800Overall timeout budget for the Gemini request, in seconds.
retry_attemptsoptINT51–10Total attempts for transient Gemini request failures. 1 disables retries.
api_modeoptCOMBOauto3 options: auto, generate_content, interactions
response_modeoptCOMBOtext_and_image2 options: text_and_image, image_only
conversation_modeoptCOMBOstateless2 options: stateless, stateful
previous_interactionoptGEMINI_INTERACTION_PIPE
reference_packoptGEMINI_REFERENCE_PIPE
input_filesoptGEMINI_INPUT_FILES_PIPE
videooptVIDEO
video_urloptSTRING
temperatureoptFLOAT1.000–2
top_poptFLOAT0.950–1
grounding_rendereroptSTRINGManaged by the Burve frontend extension for Image Search attribution.

Outputs (9)

NameTypeDescription
imageIMAGE
thinking_imageIMAGE
thinking_processSTRING
system_messagesSTRING
generated_image_pipeGENERATED_IMAGE_PIPE
response_textSTRING
grounding_metadata_jsonSTRING
interleaved_contentGEMINI_CONTENT_PIPE
interaction_pipeGEMINI_INTERACTION_PIPE