Nodes/QwenVL-F/QwenVL-F (Advanced)
ComfyUI Node

QwenVL-F (Advanced)

Multi-image, video frames, beam search

By id-fa·Created 6 months ago·Updated 6 days ago· 2
QwenVL-F (Advanced)
  • image
  • image2
  • image3
  • video
  • RESPONSE
model_name(no models found — see console)
quantizationNone (FP16)
attention_modeauto
use_torch_compilefalse
deviceauto
preset_prompt🖼️ Detailed Description
custom_prompt
max_tokens512
temperature0.60
top_p0.90
num_beams1
repetition_penalty1.20
frame_count16
enable_thinkingfalse
stop_words
keep_model_loadedfalse
seed1

QwenVL-F (Advanced) is the standard node with the training wheels off. Same Transformers-backed Qwen3-VL / Qwen2.5-VL engine, same local-only model discovery, but now you get sampling control, video frame picking, multi-image input, and a few performance levers the simple node hides from you. If the plain version is "describe this," this one is "describe these three, across these frames, at this temperature, and stop when you hit this word."

The pack is a fork of 1038lab's ComfyUI-QwenVL, and its defining rule applies here too: nothing is downloaded automatically. The model_name dropdown is built by scanning models/text_encoders and models/LLM (recursively, extra_model_paths.yaml roots included). You drop a checkpoint folder in, reload, and pick it. That's the whole install ritual, and it's the same across every node in the pack.

What the Advanced node adds

  • Multi-image analysis - up to three IMAGE inputs: image, image2, image3. Hand that job over to the model and it'll compare frames, spot differences, or fuse details from several references in one pass. That's the single biggest reason to pick Advanced over the simple node.
  • frame_count - for a video input (a frame sequence), how many frames get sampled before prompting. Default 16; more frames = more context, more time. seed controls which frames get picked, so the same seed reproduces the same extraction.
  • Sampling knobs - temperature (0.1–1.0, default 0.6), top_p, repetition_penalty, and num_beams for beam search. Note the trap: num_beams > 1 disables temperature/top_p entirely. Beam search is the "I want a stable, repeatable answer" button; sampling is the "let it be creative" button. Don't crank both.
  • stop_words - comma-separated strings that halt generation when produced. Handy for trimming the trailing boilerplate a chat model loves to add.
  • use_torch_compile and device - torch.compile gives extra throughput after the first (slow) compile; device defaults to auto but lets you pin cpu, mps, or cuda:x on multi-GPU rigs.

Everything else is shared with the simple node: quantization (FP16 / 8-bit / 4-bit), attention_mode (auto → Sage → Flash → SDPA, with FP8 and bits-and-bytes forced to SDPA), enable_thinking for Qwen3-VL Thinking checkpoints, keep_model_loaded, and preset_prompt / custom_prompt with the same nine built-in jobs. One RESPONSE string comes out - feed it to a text encoder or a display node.

Install & gotchas

ComfyUI Manager, search "ComfyUI-QwenVL-F", or:

cd ComfyUI/custom_nodes
git clone https://github.com/id-fa/ComfyUI-QwenVL-F
pip install -r requirements.txt

Restart, then place a model folder (a directory with config.json next to its weight shards) under models/text_encoders or models/LLM. Qwen3-VL requires transformers >= 4.57.0. Seeing (no models found - see console)? The scan came up empty - the fork will not fetch a model for you, it only lists what's on disk and prints the folders it checked when nothing matches.

Real-world catches: the Instruct checkpoints are censored, so explicit captioning means seeking out an abliterated Qwen3-VL build. And don't fight the defaults - start at 8-bit quantization with attention_mode on auto, and only start flipping levers when a specific output is wrong. The biggest VRAM saver in the pack is also the most boring: turn keep_model_loaded off when the model isn't going to be reused and you need the memory back for the sampler.

CategoryQwenVL-F

Inputs (21)

NameTypeDefaultDescription
model_nameCOMBO(no models found — see console)Pick a Transformers checkpoint already present under models/text_encoders or models/LLM. Nothing is downloaded automatically — copy the model folder in yourself, then reload ComfyUI.
quantizationCOMBONone (FP16)Precision vs VRAM. FP16 gives the best quality if memory allows; 8-bit suits 8–16 GB GPUs; 4-bit fits 6 GB or lower but is slower.
attention_modeCOMBOautoauto tries flash-attn v2 when installed and falls back to SDPA. Only override when debugging attention backends.
use_torch_compileBOOLEANfalseEnable torch.compile('reduce-overhead') on supported CUDA/Torch 2.1+ builds for extra throughput after the first compile.
deviceCOMBOautoChoose where to run the model: auto, cpu, mps, or cuda:x for multi-GPU systems.
preset_promptCOMBO🖼️ Detailed DescriptionBuilt-in instruction describing how Qwen-VL should analyze the media input.
custom_promptSTRINGOptional override—when filled it completely replaces the preset template.
max_tokensINT51264–32768Maximum number of new tokens to decode. Larger values yield longer answers but consume more time and memory.
temperatureFLOAT0.600.1–1Sampling randomness when num_beams == 1. 0.2–0.4 is focused, 0.7+ is creative.
top_pFLOAT0.900–1Nucleus sampling cutoff when num_beams == 1. Lower values keep only top tokens; 0.9–0.95 allows more variety.
num_beamsINT11–8Beam-search width. Values >1 disable temperature/top_p and trade speed for more stable answers.
repetition_penaltyFLOAT1.200.5–2Values >1 (e.g., 1.1–1.3) penalize repeated phrases; 1.0 leaves logits untouched.
frame_countINT161–64Number of frames extracted from video inputs before prompting Qwen-VL. More frames provide context but cost time.
enable_thinkingBOOLEANfalseEnable thinking mode for Qwen3-VL Thinking models. When disabled, the model skips chain-of-thought reasoning and responds directly. Has no effect on non-Thinking models.
stop_wordsSTRINGComma-separated list of stop words/sequences. Generation stops when any of these strings is produced. Leave empty for default behavior.
keep_model_loadedBOOLEANfalseKeeps the model resident in VRAM/RAM after the run so the next prompt skips loading.
seedINT11–4294967295Seed controlling sampling and frame picking; reuse it to reproduce results.
imageoptIMAGE
image2optIMAGE
image3optIMAGE
videooptIMAGE

Outputs (1)

NameTypeDescription
RESPONSESTRING