㊙️Gemini_Chat_Zho
The no-key multi-turn chat node — with the same 1.5 Pro trap as its twin
- image
- response
㊙️Gemini_Chat_Zho is the chat node you actually want if you're going to use this pack's chat family at all: same multi-turn conversation as the explicit-key version, but the key is read from config.json instead of living in the workflow. ZHO's own V2.0 demo is built on this one - a chatbot node wired to DisplayText_Zho, where each message you queue gets answered and the whole conversation accumulates in the graph.
Why prefer it over Gemini_API_Chat_Zho? Because your API key isn't typed into a widget, which means it doesn't end up embedded in a saved PNG's workflow metadata when you share an output image. That's the whole point of the ㊙️ family, and it's a genuinely good habit for anything that costs you money or rate limit.
How it works
Same mechanism as its explicit twin: model.start_chat(history=[]) is created once on the node instance, and every execution calls chat.send_message(prompt) on that same session. That's what gives you memory across queue runs. The output is named response, but it's really the formatted transcript - role: lines separated by dashed rules - so expect the whole history, not just the newest answer. Wire it to DisplayText_Zho and the node becomes a chat window.
It offers gemini-pro and gemini-1.5-pro-latest, plus an optional image input.
The trap, and it's a real one
The shipped code has the same bug as the explicit chat node: generate_chat never receives an image argument, but the 1.5 Pro branch checks if image == None anyway. Select gemini-1.5-pro-latest and you'll crash with a NameError before Google ever sees a request. gemini-pro works cleanly. If you need 1.5 Pro with chat, the 🆕Gemini_15P_Chat_Advance_Zho node is the working path - its code actually accepts the image parameter, and you get a system instruction on top.
Inputs and install
- prompt - each message in the conversation.
- model_name -
gemini-pro(works) orgemini-1.5-pro-latest(crash, above). - image (optional) - declared, but broken in this node's 1.5 Pro path.
cd ComfyUI/custom_nodes
git clone https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini.git
cd ComfyUI-Gemini
pip install -r requirements.txt
Then put your key in custom_nodes/ComfyUI-Gemini/config.json (the pack auto-creates it with a placeholder on first load - replace "your key") and restart ComfyUI.
Two more notes. Chat state lives on the node while ComfyUI runs, and there's no reset button - fresh conversation means a new node or a restart. And the free tier's rate limits (roughly 2 requests/minute on 1.5 Pro at launch) plus the ever-growing history mean long chats get slower and can hit the ceiling mid-thread.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | What is the meaning of life? | — |
| model_name | COMBO | 2 options: gemini-pro, gemini-1.5-pro-latest | |
| imageopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| response | STRING | — |