Nodes/ComfyUI-Qwen2_5-VL/DownloadAndLoadQwen2_5_VLModel
ComfyUI Node

DownloadAndLoadQwen2_5_VLModel

Download the model and hold it in VRAM

By MakkiShizu·Created about a year ago·Updated 11 months ago· 20
DownloadAndLoadQwen2_5_VLModel
    • Qwen2_5_VL_model
    modelQwen/Qwen2.5-VL-3B-Instruct
    quantization8bit
    attentionsdpa

    This is the node you'll place first in any graph built on MakkiShizu's ComfyUI-Qwen2_5-VL pack, and the only one that actually touches Hugging Face. Qwen2.5-VL is Alibaba's Apache 2.0 vision-language model - the family that reads images, video, and text and answers in natural language - and this loader is what turns it into something a ComfyUI graph can talk to. It downloads the weights the first time you run it, loads them into memory, and hands the loaded model to the inference nodes. If you've used DownloadAndLoadFluxModel or any of the other loader nodes, the shape is familiar: pick a checkpoint, set a couple of options, wire the model output onward.

    How it works

    The node is the "Download and load" part of its own name. On first run it calls snapshot_download from huggingface_hub and pulls the whole repo into ComfyUI/models/VLM/<model-name> - note the models folder, not custom_nodes, so a fresh install has nothing until you actually queue the graph. After that it loads the model with Qwen2_5_VLForConditionalGeneration.from_pretrained(...) using device_map="auto", which spreads layers across your VRAM and system RAM as needed. The 3B model's ~6 GB of bf16 weights fit comfortably on a 6-8 GB card; the 7B needs roughly 13 GB at full precision, and the 72B is a server-side proposition no matter what you do. That's why the README's VRAM table is worth a glance: at bf16 the 7B wants ~13 GB, but INT8 drops it to ~6.6 GB and INT4 to ~3.3 GB (roughly, and always more in practice - the author notes real usage runs ~1.2x the theoretical minimum).

    The inputs that matter

    There are exactly three, and for most people only the first two get touched:

    • model - a dropdown with eight choices: Qwen/Qwen2.5-VL-3B-Instruct (the default), the 7B, 32B, and 72B, each with an -AWQ variant. If you're on a consumer GPU, the 3B is the sane default and the 7B is the upgrade path; the AWQ builds are pre-quantized 4-bit checkpoints if you want them.
    • quantization - none, 4bit, or 8bit, defaulting to 8bit. These map to load_in_8bit / load_in_4bit under the hood, which means this node silently depends on bitsandbytes being installed. 8-bit is the sensible middle: near-fp16 quality at roughly half the VRAM.
    • attention - flash_attention_2, sdpa, or eager, defaulting to sdpa. Leave it. flash_attention_2 only helps if you've separately installed the flash-attn package, and on modern cards SDPA is fast enough that the extra dependency isn't worth it.

    The single output is Qwen2_5_VL_model, a custom type you feed into the Qwen2_5_VL_Run or Qwen2_5_VL_Run_Advanced node's matching input. Nothing else in ComfyUI can consume it, so it doesn't branch anywhere else.

    Installing the pack

    Search "ComfyUI-Qwen2_5-VL" in ComfyUI Manager and install, or clone it by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/MakkiShizu/ComfyUI-Qwen2_5-VL
    cd ComfyUI-Qwen2_5-VL
    pip install -r requirements.txt   # portable: python_embeded\python.exe -m pip install ...
    

    The requirements are light - qwen-vl-utils plus transformers>=4.49.0 - but they install into the same shared Python environment as everything else, so an old transformers from another node can bite you. If you hit an import error on startup, check pip show transformers and upgrade. You'll also want bitsandbytes in that same environment for the default 8-bit quantization, and the first queue is slow: the model download is several gigabytes and there's no progress bar in the graph, just a hanging "Running" state.

    Where people get burned

    The README says it plainly: "when using too small a model or quantization, the model may speak nonsense." A 3B at 4-bit will confidently describe things that aren't there. If your captions look hallucinated, the fix is usually a bigger model or less aggressive quantization, not a better prompt. And remember the weights land in models/VLM/, so if you ever reinstall ComfyUI the model redownloads even though your custom_nodes folder is untouched.

    CategoryQwen2_5-VL

    Inputs (3)

    NameTypeDefaultDescription
    modelCOMBOQwen/Qwen2.5-VL-3B-Instruct8 options: Qwen/Qwen2.5-VL-3B-Instruct, Qwen/Qwen2.5-VL-3B-Instruct-AWQ, Qwen/Qwen2.5-VL-7B-Instruct, Qwen/Qwen2.5-VL-7B-Instruct-AWQ, Qwen/Qwen2.5-VL-32B-Instruct, Qwen/Qwen2.5-VL-32B-Instruct-AWQ, +2
    quantizationCOMBO8bit3 options: none, 4bit, 8bit
    attentionCOMBOsdpa3 options: flash_attention_2, sdpa, eager

    Outputs (1)

    NameTypeDescription
    Qwen2_5_VL_modelQWEN2_5_VL_MODEL