gemini / 2.5-flash / editImage
Give it a photo, get back a rewrite
- images
- api_config
- images
- errors
- workflow_id
- raw_json
The edit half of the Gemini 2.5 Flash pair, and it's even more bare-bones than its sibling: required inputs are exactly prompt and images, full stop. That's it. No size controls, no seed, no negative prompt - you hand the node an image, tell it what to change, and a Gemini-native edit comes back as an IMAGE. This is the base Nano Banana (Gemini 2.5 Flash Image is the model under the branding) running as a hosted edit operation inside the official civitai/civitai-comfy-nodes pack.
Why you'd reach for it. Gemini image models are genuinely good at understanding an edit instruction - "make this look like an oil painting," "put them in a 1920s office," "remove the car from the street" - because they're multimodal language models, not just diffusion with extra steps. The open-weights local models have been chasing that instruction-following quality for a while. If you want that capability and can't or won't stand up Google's own API (Gemini API + billing account + API key juggling), this node is the one-click version: your Buzz balance is the whole auth story.
How it works. Wire a source image into images, describe the change in prompt, run. The node packages the image into the workflow payload, submits to orchestration.civitai.com, long-polls, and returns four outputs: images (the edited result), errors (JSON of any step errors), workflow_id, and raw_json for debugging. The remaining optional inputs are light-touch: quantity (1-4), output_format, image_metadata (external metadata stored with the image), and api_config.
How to get good results. This is a prompt-driven edit node, so your sentence structure does the work. Gemini responds to natural language: "keep the woman's face, change her dress to a red gown, golden hour lighting" reads much better than a comma-separated tag list. There's no strength or guidance dial to rescue a bad edit, so if the result is too aggressive, rephrase the prompt with more constraints rather than hunting for a slider that doesn't exist.
Install. Ships with the pack - ComfyUI Manager → Custom Nodes Manager → search Civitai Comfy Nodes (publisher civitai) → Install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt
No model downloads; the Gemini model lives on Civitai's side of the wire.
Auth and gotchas. Credentials come from a wired Civitai Auth node, then CIVITAI_API_TOKEN, then the stored key or OAuth from the sidebar connect panel. Watch for 402 (insufficient Buzz), 401 (token expired - re-login), and 429 (slow down); a job that runs long hits the 30-minute timeout. And the early-preview caveat applies - Civitai explicitly says the nodes are generated from a live spec and can change without notice.
The one thing to internalize before you wire this in: it's Gemini. Your source image and prompt go to Civitai's cloud, then effectively to Google's model, and the content filters that make Nano Banana "powerful but unimaginative" apply here too. For edits that clear the filters, though, this is the least-friction path to Gemini image editing in ComfyUI that exists.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| images | IMAGE | — | |
| output_formatopt | COMBO | 4 options: , jpeg, png, webP | |
| image_metadataopt | STRING | External metadata that will be stored with the image | |
| quantityopt | INT | 11–4 | — |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| errors | STRING | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |