Vision-SLM: Model Selector
Eight vision SLMs to choose from, downloads included
- slm_model
- model_path
SLMVisionModelSelector ("Vision-SLM: Model Selector") is the loading half of this pack's headline feature: running small vision-language models on your own machine, inside a ComfyUI graph. Pick a model, a device, a dtype, and it hands the Vision-SLM generator a SLM_MODEL object plus the local path. If the weights aren't on disk, it downloads them for you.
This is the richer of the two selectors, with eight models in the dropdown, and they're a real spread:
- deepseek-vl-1.3b-chat - the default; old but tiny and CPU-friendly.
- Qwen2-VL-2B-Instruct / qwen2.5-vl-3b-instruct - the Qwen vision line's earlier workhorses, solid at captioning.
- Qwen3-VL-2B-Instruct, Qwen3-VL-4B-Instruct - current generation, better grounding.
- Qwen3-VL-2B-Thinking, Qwen3-VL-4B-Thinking - the reasoning variants that emit a thinking block before answering.
- gemma-3-4b-it - Google's, and the one with a catch (below).
How it works
Same mechanics as the text selector, with a vision model table behind it. The node maps the dropdown label to a Hugging Face repo id and a loader key, resolves device (auto → cuda if available, else cpu), resolves dtype (auto → bfloat16 on bf16 GPUs, else float16; float32 on CPU), and - if the local folder is empty and download_if_missing is on - pulls the repo via snapshot_download into Models/VisionSLM/ inside the custom node folder.
The inputs that matter
- model - the eight-way enum above.
- device -
auto(default),cuda,cpu. - dtype -
auto(default),bfloat16,float16,float32. - download_if_missing - on by default; turn off to error instead of downloading.
Outputs: slm_model (the SLM_MODEL object) and model_path (STRING path to the weights).
Install
It's in the comfyui_pilcothink_VisionSLM pack:
cd ComfyUI/custom_nodes
git clone https://github.com/gpdev-Pilcothink/comfyui_pilcothink_VisionSLM
Restart ComfyUI, or use ComfyUI Manager and search for comfyui_pilcothink_VisionSLM. Transformers ≥ 4.56.2 plus torch, accelerate, and friends from the pack's requirements. The Qwen3-VL loaders also bundle the Qwen vision-processing utils inside the pack.
Gotchas
Two that will actually hit you. Gemma-3-4b-it is gated on Hugging Face - a plain download fails with a 401. The README says you can configure a HF token or grab the weights another way and drop them into the Models folder manually; the path it expects is Models/VisionSLM/google__gemma-3-4b-it/. Second, if you set device to cpu, the README is explicit: only float16 works; other dtypes error.
Also remember these are multi-gigabyte downloads on first select. DeepSeek-VL 1.3b is the lightest; Qwen3-VL-4B and Gemma-3-4b are the heavy end and will want real VRAM. And since the weights live inside the pack folder, don't delete the pack while you still want the models. It's a new pack with zero community mileage - install from the official repo only, and if you want a battle-tested Qwen-VL-in-ComfyUI option, the dedicated ComfyUI-QwenVL pack has been around longer and has an actual user base.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | deepseek-vl-1.3b-chat | 8 options: deepseek-vl-1.3b-chat, Qwen2-VL-2B-Instruct, qwen2.5-vl-3b-instruct, Qwen3-VL-2B-Instruct, Qwen3-VL-2B-Thinking, Qwen3-VL-4B-Instruct, +2 |
| device | COMBO | auto | 3 options: auto, cuda, cpu |
| dtype | COMBO | auto | 4 options: auto, bfloat16, float16, float32 |
| download_if_missing | BOOLEAN | true | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| slm_model | SLM_MODEL | — |
| model_path | STRING | — |