IdeaLab Image Generate
Gemini image generation through an OpenAI-shaped door
- image
- IMAGE
Don't let the "IdeaLab" name throw you - what this node actually does is talk to a Gemini image model through an OpenAI-compatible /v1/chat/completions endpoint. Default model is gemini-3-pro-image-preview, which is the model behind Google's "Nano Banana Pro": native 4K output, real text rendering, and enough prompt adherence to make local models jealous. It's a ComfyUI comfy_api_nodes-style async node, so a prompt in, an IMAGE tensor out, no VRAM involved.
Mechanically it's a chat-completion call with multimodal content. Your prompt becomes a text content block; if you also connect an image (a whole batch works - each frame is base64'd into a data: URI) or fill image_urls (one per line), those become image_url blocks. The model sees everything at once, generates, and the node extracts the first image out of the response - it tolerates the image coming back as a URL, a data URI, or raw base64, so most gateways behave.
The input to get right before any other
api_base is required and has no default. The underlying client hard-fails with "api_base 不能为空" when it's blank, which is the first error you'll see. Set it to your gateway's base, e.g. https://host/api/openai, exactly as the tooltip says. This is the difference between "node errors instantly" and "node works."
The rest:
prompt- required. You must supply text or an image; the node rejects an empty content payload.image- optional reference image(s), batch supported.image_urls- optional remote images, one per line.image_mime_type- encoding for the images you send, defaultimage/png.model- a plain string, so you can point it at a different Gemini image model than the default if your provider offers one.auth_token- Bearer token. There's no hidden Comfy key fallback for this one; if your provider needs one, this is where it goes.
Output is a single IMAGE. In practice you can think of this as "Nano Banana inside ComfyUI," with all the usual caveats from the closed-model discussion: images come back watermarked with SynthID, and you're paying per generation on the API side.
Gotchas
Besides the mandatory api_base, the common failure is feeding a non-Gemini "chat completions" provider that returns plain text - the node will then tell you it got no image content. And there's no n or seed control here; it's one image per call, the model's choice of variation.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/jinchanz/ComfyUI-ADIC
Restart ComfyUI, or install via ComfyUI Manager ("ComfyUI-ADIC"). No models to download. The pack's README is in Chinese and only documents the translate nodes, so this one's behavior is best learned right here or in the source.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| imageopt | IMAGE | 可选参考图,支持多张图片批量输入 | |
| image_urlsopt | STRING | 可选图片 URL,每行一个,0 个或多个 | |
| image_mime_typeopt | STRING | image/png | 上传到 Gemini 的图片编码格式 |
| modelopt | STRING | gemini-3-pro-image-preview | 可切换的 Gemini 模型名称 |
| api_baseopt | STRING | API 基础地址,例如 https://host/api/openai | |
| auth_tokenopt | STRING | Bearer Token |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |