🖼️ Image/Video Analysis (Transformers)
Compare one video and three images side by side in a single analysis call
- model_config
- video
- image_1
- image_2
- image_3
- context
Most vision nodes look at one image. This one looks at up to four things at once - one video plus three images - and asks a Qwen3-VL model to reason across all of them in a single call. If you've ever wanted to say "here are four generations, tell me which one matches the reference best" inside ComfyUI, this is the node for it. It's the analysis end of the Transformers path, designed to pair with the 🖼️ Vision Model Loader (Transformers).
What it takes
The required inputs split into the model config, your instruction, and sampling controls:
- model_config (
TRANSFORMERS_MODEL) - the loader's output. Qwen3-VL only, via HF Transformers. - prompt - default "Describe these images." With multiple inputs connected, you'll write something like "Compare image_1 and image_2 and list their differences" - the model sees all connected inputs in one context.
- max_tokens - default 512, up to 256000 (the tooltip's ceiling; you'll rarely go far past a few thousand).
- temperature (0.7), top_p (0.8), top_k (20), repetition_penalty (1.2), seed - the tooltips carry Qwen3-VL's own recommended values, which is a nice touch; the defaults are the recommendation. repetition_penalty at 1.2 is there to stop the model looping when describing a long video.
The optional inputs are the whole point: video (a frame sequence, IMAGE type) plus image_1, image_2, image_3. Connect any mix - a video alone, three images alone, or all four. There's also an optional system_prompt to set behavior across the whole comparison.
What comes out
One context string containing the model's full multi-input response. It's an output node, so it displays in the UI and the string flows onward - feed it to a text save node, or route it back into a prompt builder for a second-generation pass.
How it fits
The use case that justifies the complexity: iteration workflows. Instead of captioning four candidates separately and eyeballing the text, you get one comparative answer - "image_2 matches the reference's lighting; image_4 is a different camera angle" - which is genuinely useful for character consistency or style matching work (see the KB's character-consistency doc for why that loop matters). It's also the pack's video-capable analysis path in Transformers mode, so it covers Qwen3-VL's stronger video understanding.
Install and the gotchas
Standard pack install; the heavy part is Transformers + (optionally) flash attention:
cd ComfyUI/custom_nodes
git clone https://github.com/walke2019/ComfyUI-GGUF-VLM.git
cd ComfyUI-GGUF-VLM
pip install -r requirements.txt
Three things bite people. First, big inputs are expensive - four images plus a video means a huge token context; bump max_tokens and raise the loader's max_pixels only if you actually need the detail, because both eat VRAM and time fast. Second, the model must be loaded with the right options upstream - if keep_model_loaded is off in the loader, every analysis run reloads weights, which makes multi-input calls feel glacial; toggle it on for repeated runs. Third, don't confuse this with the local GGUF analysis node - that one takes one image or one video through llama-cpp; this one is the Transformers/Qwen3-VL comparison workhorse, and they're not interchangeable.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| model_config | TRANSFORMERS_MODEL | — | |
| prompt | STRING | Describe these images. | 用户提示词 |
| max_tokens | INT | 512128–256000 | 最大生成 token 数 |
| temperature | FLOAT | 0.700–2 | 生成温度,控制输出的随机性(Qwen3-VL 推荐: 0.7) |
| top_p | FLOAT | 0.800–1 | Nucleus sampling 参数(Qwen3-VL 推荐: 0.8) |
| top_k | INT | 200–100 | Top-k sampling 参数(Qwen3-VL 推荐: 20) |
| repetition_penalty | FLOAT | 1.201–2 | 重复惩罚(推荐: 1.2,防止重复生成) |
| seed | INT | 00–18446744073709550000 | 随机种子,用于可重复的生成结果 |
| videoopt | IMAGE | 视频帧序列或单张图像 | |
| image_1opt | IMAGE | 图像 1 | |
| image_2opt | IMAGE | 图像 2 | |
| image_3opt | IMAGE | 图像 3 | |
| system_promptopt | STRING | 系统提示词(可选) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| context | STRING | — |