Superside Any LLM Vision
Ask a frontier vision model about up to six images at once
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- output
- reasoning
Sometimes the job isn't generating an image, it's reading one - and you want a genuinely good eye on it. This node runs a vision-language model on your image over fal.ai's OpenRouter route, so "what's wrong with this product shot?" or "describe the lighting here" becomes a text answer that drops back into your graph as a STRING. Up to six input images, your pick of model, no VRAM spent.
You connect up to image_1 through image_6, type a prompt ("Compare the exposure on image_1 and image_2"), and optionally set a system_prompt. The model dropdown has 21 options - Gemini 2.5 Flash/Pro, Claude 4.6 Sonnet/Opus, GPT-4o/4.1, Llama, Kimi, and the rest - defaulting to google/gemini-2.5-flash-lite, which is the cheap sensible default for "describe this image" work. The tooltip is upfront that the premium tier (Claude 4.6, Gemini 2.5 Pro, GPT-4o/4.1/5, Llama 90b/4) costs about 3x the rate, so don't leave a flagship selected if the flash model does the job.
Two outputs, both STRING: output (the answer) and reasoning (the model's reasoning trace, when you flip reasoning on). Wire output into a prompt builder, a text preview, or a Save Text node and the loop closes - an LLM reads your result, critiques it, and hands a fix prompt back to the sampler.
The settings that actually matter beyond the basics: auto_rescale_images is on by default and downscales big inputs before upload, capped by max_image_dimension (default 1536px). Leave that on - a 4K PNG of a catalog photo adds tokens and latency without making the model see any better. priority toggles latency vs. throughput routing, which only matters if you're batching hundreds of calls, and temperature/max_tokens behave like you'd expect from the text node.
The honest framing. This is an API node, so calls cost fal credits and your images leave your machine - the exact inversion of everything the local-comfy community prizes. If you're captioning a LoRA training set, a local Florence-2 or JoyCaption does it free and uncensored; this node is the right tool when you specifically want a frontier VLM's judgment on a few images, or when the images themselves are things you don't mind shipping over a wire. The pack is a legit open-source agency pack wrapping fal endpoints, but "vision node that phones home with your key" is the exact category that once shipped malware - install from the official repo and paste your key into the widget (blank falls back to FAL_KEY, both blank = immediate error).
Install - ComfyUI Manager (search "comfyui-superside-nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Superside/comfyui-superside-nodes
pip install -r requirements.txt
Restart ComfyUI and it appears under the Superside category. No model downloads - requirements.txt is fal-client, pillow, numpy, torch, requests. Don't expect a community tutorial ecosystem; this pack has none. The README is your manual, and it's current.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| api_key | STRING | — | |
| image_1opt | IMAGE | — | |
| image_2opt | IMAGE | — | |
| image_3opt | IMAGE | — | |
| image_4opt | IMAGE | — | |
| image_5opt | IMAGE | — | |
| image_6opt | IMAGE | — | |
| system_promptopt | STRING | — | |
| modelopt | COMBO | google/gemini-2.5-flash-lite | Premium models (3x rate): Claude 4.6, Gemini 2.5 Pro, GPT-4o/4.1/5, Llama 90b/4 |
| reasoningopt | BOOLEAN | false | Include reasoning in the response |
| priorityopt | COMBO | latency | Latency: faster response | Throughput: better for batch processing |
| auto_rescale_imagesopt | BOOLEAN | true | Automatically downscale large input images before upload. |
| max_image_dimensionopt | INT | 1536256–4096 | Maximum width or height for uploaded vision images when auto-rescale is enabled. |
| temperatureopt | FLOAT | 1.000–2 | Lower values = more predictable, Higher values = more creative |
| max_tokensopt | INT | 10241–32768 | Maximum tokens in response |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| output | STRING | — |
| reasoning | STRING | — |