PVL Gemini Api Multi
Gemini, six images at a time — the multimodal variant
- image1
- image2
- image3
- image4
- image5
- image6
- text
The base Gemini node in this pack takes one optional image. This one takes six - image1 through image6 - because sometimes "describe this" is a multi-image job. Think reference sheets: you dump six poses of a character into the inputs, ask for a written character sheet or a tagging breakdown, and Gemini 2.5's multimodal model does the rest. It's the same parallel-batch engine, but aimed at workflows where the picture set is the payload.
Where people actually reach for this: turning a pile of reference images into prompt text, captioning a grid of renders for a dataset, or extracting a consistent visual description across a batch of frames. The node does the image-to-text leg that would otherwise take you six separate single-image nodes and a merge.
How it works
All six images (whichever are connected) get converted and sent inline with your instructions and prompt to Google's generativelanguage.googleapis.com v1beta endpoint. The batch machinery applies on top: with batch > 1 the same prompt-with-images runs in parallel and results are joined by delimiter (default [++]). Retry logic is the pack's standard - retryable failures retried with linear backoff, only failed items re-run, hard errors fail fast.
The inputs that matter
image1…image6- the payload. Only connect the ones you need; the rest stay dormant.promptandinstructions- your question and the framing. With six images connected, prompt like "compare these six images and list differences" works far better than a generic "describe."model- defaultgemini-2.5-flash; the dropdown includes pro, flash-lite, and 2.0-flash. Vision cost scales with model choice, so flash-lite is worth trying for captioning.batchanddelimiter- parallel-run and result joining, same as the base node.tries,timeout,temperature,top_p,top_k,seed- the standard engine knobs.api_key- optional; leave blank to useGEMINI_API_KEYfrom the environment.
Output: one text string, the combined result of however many parallel calls batch spawned.
Installing it
The usual pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/pvlprk/comfyui-pvl-api-nodes
Restart, set GEMINI_API_KEY or fill the api_key field. No model downloads - Gemini lives on Google's servers.
Common issues
The batch/delimiter interaction is the same trap as the base node: with append_variation_tag off and batch at 1, you get one call. With batch > 1 you're making duplicate calls (same prompt, same images) unless variation tagging is on - which is fine for consistency, wasteful if you expected diversity. Second, image inputs accept batches (a whole grid of frames on one port), but the node only uses the first frame per port for the request - if your "six images" are really one batch of six frames, you're only sending one. Split them with the pack's PVL Image Batch to Image List if you genuinely need all six seen. And as ever: every call bills Google, six images × batch 4 is 24 vision calls per execution, so check the pricing page once before you build a loop around it.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | gemini-2.5-flash | 4 options: gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite, gemini-2.0-flash |
| tries | INT | 21–10 | — |
| timeout | INT | 451–600 | — |
| temperature | FLOAT | 1.000–2 | — |
| top_p | FLOAT | 0.950–1 | — |
| top_k | INT | 651–1000 | — |
| batch | INT | 11–64 | — |
| delimiter | STRING | [++] | — |
| append_variation_tag | BOOLEAN | false | — |
| debug | BOOLEAN | false | — |
| instructions | STRING | — | |
| prompt | STRING | — | |
| seed | INT | 0 | — |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| image5opt | IMAGE | — | |
| image6opt | IMAGE | — | |
| api_keyopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |