Qwen-VL Vision Language Model
That old Qwen-VL node? It's deprecated — migrate to the V2
- image
- image2
- image3
- text
- conditioning
Let's be direct about this one: the node is dead. Its own description says so in all caps - "THIS NODE IS NO LONGER SUPPORTED! Use 'Simple Qwen-VL Vision Language Model'." If you found this page because an old workflow uses it, the move isn't to learn it, it's to swap it.
SimpleQwenVLgguf is the legacy version of the pack's main node, kept around purely so workflows saved before the rewrite still load without a wall of red "missing node" errors. It's the first-generation design: every parameter as its own widget, no preset system, no config stack, no execution modes. The pack moved to a JSON-driven model - one config_override text field plus saved presets - because trying to expose every llama.cpp parameter as a separate ComfyUI widget turned into a monster, and the author decided the text-input approach was the future. The old node got frozen in place.
What it has
system_prompt,user_prompt- plain text in, no preset dropdowns.model_path,mmproj_path- you type the paths yourself, every single time.output_max_tokens,image_max_tokens,ctx,n_batch,gpu_layers,temperature,top_p,repeat_penalty,top_k,pool_size,seed- the old, flat parameter set.image/image2/image3and ascriptoverride.- Outputs:
textandconditioning.
Why you should migrate
Everything this node does, the V2 node (SimpleQwenVLggufV2) does better, with one big practical difference: the new one supports Qwen3.5, Qwen3.6, Gemma4, video, audio, and the three memory modes (subprocess, direct_clean, keep_vram) that guarantee your VRAM is clean after the model runs. The legacy node predates all of that. It also can't load your saved presets, so you'll retype paths forever.
Migration is mechanical:
- Drop the new
Simple Qwen-VL Vision Language Modelnode into the workflow. - Copy your model paths into its
config_override(or better, save them as a model preset insystem_prompts_user.jsonso you never type them again). - Move
system_promptanduser_prompttext to the new node's fields. - Reconnect
textto whatever the old node fed.
Install
It ships in the same pack as the V2 node - ComfyUI Manager (search ComfyUI_Simple_Qwen3-VL-gguf) or:
cd ComfyUI/custom_nodes
git clone https://github.com/KLL535/ComfyUI_Simple_Qwen3-VL-gguf
The pack's real dependency, a Qwen3-capable build of llama-cpp-python from the JamePeng fork, applies here too since the legacy node runs the same engine underneath.
One honest caveat: old workflows break for a reason, and the reason here is that keeping both code paths maintained costs time the author would rather spend on the new node. If your old workflow still runs and you're happy, fine. But don't build anything new on it - you'd be adopting a node whose next update might remove it entirely.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| system_prompt | STRING | You are a highly accurate vision-language assistant. Provide detailed, precise, and well-structured image descriptions. | — |
| user_prompt | STRING | Describe this image. | — |
| model_path | STRING | — | |
| mmproj_path | STRING | — | |
| output_max_tokens | INT | 204864–4096 | — |
| image_max_tokens | INT | 40961024–1024000 | — |
| ctx | INT | 81921024–1024000 | — |
| n_batch | INT | 51264–1024000 | — |
| gpu_layers | INT | -1-1–100 | — |
| temperature | FLOAT | 0.700–2 | — |
| seed | INT | 42 | — |
| unload_all_models | BOOLEAN | false | — |
| top_p | FLOAT | 0.920–1 | — |
| repeat_penalty | FLOAT | 1.201–2 | — |
| top_k | INT | 00–32768 | — |
| pool_size | INT | 41943041048576–10485760 | — |
| imageopt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| scriptopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| conditioning | CONDITIONING | — |