π§Ί Gemini List Passthrough (keep dims)
Keep your images at native size by refusing to make a batch
- images
- images
- count
Gemini List Passthrough does one thing: take an image list, flatten it into a clean list, and emit it as a list - so every image keeps its own exact dimensions. No scaling, no padding, no batch conversion, no API, no key. It's the quietest node in this pack, and it exists to solve a ComfyUI engine problem that trips up everyone who works with mixed-size images.
Here's the engine fact (it's in the KB's plumbing doc, and the pack's own README states it plainly): a ComfyUI IMAGE batch is one tensor of shape [B, H, W, C], so every image in it must share the same H and W. You physically cannot stack images of different sizes into a batch. The two honest ways around it are to pad everything to a common size (that's the pack's List β Batch Padded node) or to not make a batch at all - keep the images as a list, where each element is its own image and keeps its own dimensions. This node is the second option, formalized.
How it works
It's deliberately boring, which is the point. With INPUT_IS_LIST set, ComfyUI hands the node the whole list at once; the node flattens whatever it gets into a clean list of single images - splitting any stray batches it finds into individual images along the way, dropping None entries - and re-emits them as a list. Outputs are images (the flattened list) and count (how many images made it through).
Why would you want a node whose only job is to pass something through? Because "most nodes that iterate over a list will do it for you automatically," per the source - ComfyUI auto-expands a list into per-item calls on a downstream node. So List Passthrough is the junction that guarantees your downstream loop is iterating over native-size singles instead of a padded batch, and that nothing upstream's odd tensor layout is silently forcing every image to one size. Pair it with Select Image From List when you need to pick one of those native-size images out; pair it with List β Batch Padded when the thing downstream really does need a batch.
When to reach for it
Reach for it when your images are different sizes and you want to keep them that way - mixed-resolution crops from a crop node, assorted reference photos, varied product shots. It's also the polite fix for a workflow that keeps erroring with shape mismatches because something upstream silently batched a list into a padded tensor. If all your images are already the same size, it does nothing for you, and that's fine.
Install
Pack-wide, as always: ComfyUI Manager search "ComfyUI_Gemini", or git clone https://github.com/aarnoatchi/ComfyUI_Gemini into custom_nodes and pip install -r requirements.txt. No dependencies beyond the pack's shared ones, no key. Under AI/Image Analysis/Google after restart.
The only thing to keep straight is which sibling you want: Passthrough keeps a list a list, List β Batch Padded forces it into a uniform batch with padding, and Select Image From List picks one native-size image out. Mixing them up is the entire failure mode of this trio - and each one is clearly labeled in the node menu, so you're mostly safe.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | An image LIST. Each image keeps its own dimensions. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | β |
| count | INT | β |