Gemini Chat V3 (PMS)
The one to use when you're building fresh
- image_1
- image_2
- image_3
- image_4
- image_5
- text
If you've seen PMS_GeminiChat and wondered why there's a "V3" - this is the answer. The plain Gemini Chat node is a deprecated compatibility alias, kept around so old workflows don't explode. This one is the maintained version, shipped in the pack's v3 core and actually in the active node list. Same idea, same generateContent backend, fewer asterisks.
What it does: talk to Gemini over plain REST and return text, with up to five images attached for vision, an optional system prompt, and a thinking knob that actually does something. No local model, no VRAM, no SDKs. Cost is whatever Gemini bills you per token, so a GEMINI_API_KEY is non-negotiable.
The inputs that matter
- prompt - your message. Multiline, so structure it like you'd write to an assistant.
- model - defaults to
gemini-3.1-pro-preview, with flash variants in the combo for cheaper, faster runs. - custom_model - the V3 exclusive: type any model ID here and it overrides the combo. Handy when Gemini releases something before this pack updates its dropdown.
- thinking_budget - Off / Low / Medium / High. On Gemini 3.x it maps to
thinkingLevel, on 2.5 tothinkingBudget. The tooltip says it plainly: Off means no thinking. Leave it Off for quick jobs, crank it for analysis. - system_prompt - now a first-class input at the top of the node (in the legacy alias it was buried in optional). Empty = no system instruction.
- image_1 … image_5 - optional IMAGE tensors. Attached as base64 JPEG parts.
- temperature / max_tokens - creativity and length.
max_tokensto 65,536.
Single text output. Wire it to a display node or anywhere a STRING flows.
V3 vs the legacy Gemini Chat
The internals are nearly identical - the V3 node was rebuilt on the pack's new core REST client, which is where the 429 exponential backoff lives. The meaningful differences are the custom_model override, the more visible system_prompt, and the fact that this node isn't flagged deprecated. If you're starting a workflow today, use this one. If you're loading an old workflow that references PMS_GeminiChat, both will still run; you're just on the legacy path.
Installing it
ComfyUI Manager, search "COMFYUI_PROMPTMODELS", install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/cdanielp/COMFYUI_PROMPTMODELS
Add to the pack's .env:
GEMINI_API_KEY=AI...
Restart ComfyUI. Requires ComfyUI >= 0.26.0 and Python >= 3.10; dependencies are just requests and Pillow.
The usual traps
Key hygiene first: put the key in .env, not in the node's api_key field - the field value ends up in your workflow JSON and in saved PNG metadata. Blank field, .env key, done.
Second, remember what it isn't: a local model. If your graph runs offline or you're budget-sensitive, this node is a per-call bill, and "thinking on High" multiplies that bill. It's great for prompt engineering, captioning, and analysis inside a graph; it's the wrong tool when a local model does the job free.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe esta imagen en detalle. | — |
| model | COMBO | gemini-3.1-pro-preview | 4 options: gemini-3.1-pro-preview, gemini-3-flash-preview, gemini-2.5-pro, gemini-2.5-flash |
| thinking_budget | COMBO | Off | Off = sin thinking. Gemini 3+: thinkingLevel. Gemini 2.5: thinkingBudget. |
| system_promptopt | STRING | Instrucción de sistema. Vacío = sin system. | |
| custom_modelopt | STRING | Sobreescribe el combo si no está vacío. | |
| image_1opt | IMAGE | Imagen 1 (multimodal). | |
| image_2opt | IMAGE | Imagen 2 (opcional). | |
| image_3opt | IMAGE | Imagen 3 (opcional). | |
| image_4opt | IMAGE | Imagen 4 (opcional). | |
| image_5opt | IMAGE | Imagen 5 (opcional). | |
| temperatureopt | FLOAT | 0.700–2 | — |
| max_tokensopt | INT | 409664–65536 | — |
| api_keyopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |