Qwen 3.5
The everything node for Qwen 3.5 — image, video, and thinking, at the cost of your VRAM
- image
- video
- RESPONSE
- THINKING
The plain "Qwen 3.5" node is the full-fat version of this pack. It loads the model through HuggingFace transformers, so it can do everything the family does - image understanding, video understanding, pure text - with chain-of-thought thinking on by default. It's also the resource hog. If you want a caption back in seconds on a mid-range GPU, the GGUF sibling is faster; this node is what you reach for when you need the whole feature set, especially video.
That video support is the real differentiator. The GGUF node in the same pack only accepts a single image; here you get a video input plus frame_count (default 16, max 64). Video comes in as a batch of frames - wire in frames from a video-loading/sample-frames node - and the model samples up to frame_count of them to make sense of the clip. Summarize a shot, describe a sequence, check whether a generation loop drifted off-brief. That's a genuinely useful trick ComfyUI didn't have a clean home for.
How it runs
Mechanically it's a straightforward transformers call: model, processor, tokenizer, generate. The one piece of behind-the-scenes magic worth knowing: the node sets HF_DEACTIVATE_ASYNC_LOAD=1 automatically, because transformers >= 5.2.0's parallel weight loading fights ComfyUI's cudaMallocAsync allocator and OOMs you. The README frames this as "no special flags needed," and it means it - that fix is baked in. Quantization is a three-way choice (FP16 / 8-bit / 4-bit, via bitsandbytes on GPU), and on CPU the model falls back to FP32. That works, but it's slow enough that you should treat CPU as the emergency exit, not the plan.
The inputs you'll actually touch
- model - 0.8B to 27B, default 9B. The tooltip lays out the bill: 9B is ~20GB in FP16, ~12GB in 8-bit, ~7GB in 4-bit. The 27B at 4-bit (~17GB) is the "I have a big card and want quality" pick.
- quantization - 4-bit is the default sanity choice for most people; drop to it before you start reaching for a smaller model.
- enable_thinking - on by default. The model writes
<think>...</think>reasoning first, and the node splits it into the THINKING output so RESPONSE comes back clean. - keep_model_loaded - on by default, which means the model parks in VRAM between runs. Fast, but a VRAM hoarder if you juggle checkpoints; flip it off when you're swapping.
- image / video - optional, feed whichever matches the task.
Sampling defaults follow the model's own guidance: thinking mode wants temperature 1.0 / top-p 0.95 / top-k 20, instruct mode wants 0.7 / 0.8 / 20. The node ships the first set as defaults and the tooltips spell out the second - swap them if you're doing plain instruct work.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/DanielBartolic/ComfyUI-Qwen3.5.git
pip install -r ComfyUI-Qwen3.5/requirements.txt -r ComfyUI-Qwen3.5/requirements-transformers.txt
The transformers requirements file is the heavy one: transformers>=5.2.0, torchvision, bitsandbytes, accelerate. This is exactly the kind of install ComfyUI Manager handles (search "Qwen3.5"), and also exactly the kind that can disturb your environment - newer transformers demands sometimes collide with older diffusion tooling, so if other packs start acting up after this, the version bump is the first suspect.
Where people get burned
The model downloads itself on first use into ComfyUI/models/LLM/<model-name>/ - check config.json exists there if the download fails. It's a big first-run download (the 9B is ~20GB in FP16), so either grab it once or let it fetch in the background. And remember the tradeoff when things feel slow: you're running the full transformers path, and 17 tok/s is the price of that flexibility. If you only need images and speed matters, the GGUF node is the same pack's answer.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | Qwen3.5-9B | Model size. 0.8B ~2GB, 2B ~5GB, 4B ~9GB, 9B ~20GB, 27B ~56GB (FP16) |
| prompt | STRING | Describe this image in detail. | Text prompt for the model |
| system_prompt | STRING | Optional system prompt to set model behavior | |
| max_tokens | INT | 409664–81920 | Maximum tokens to generate |
| temperature | FLOAT | 1.000–2 | Sampling temperature. Thinking mode recommends 1.0, instruct mode 0.7 |
| top_p | FLOAT | 0.950–1 | Nucleus sampling. Thinking mode recommends 0.95, instruct mode 0.8 |
| top_k | INT | 201–100 | Top-K sampling. Recommended: 20 |
| repetition_penalty | FLOAT | 1.000.5–2 | Penalty for repeated tokens. Recommended: 1.0 |
| enable_thinking | BOOLEAN | true | Enable thinking mode. Model outputs <think>...</think> reasoning before response. |
| quantization | COMBO | FP16 | Model quantization. 4-bit needs ~7GB VRAM, 8-bit ~12GB, FP16 ~20GB |
| keep_model_loaded | BOOLEAN | true | Keep model in VRAM between runs for faster inference |
| seed | INT | 11–4294967295 | Random seed for reproducibility |
| imageopt | IMAGE | Single image input | |
| videoopt | IMAGE | Video frames input (batch of images) | |
| frame_countopt | INT | 161–64 | Maximum number of frames to sample from video |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| RESPONSE | STRING | — |
| THINKING | STRING | — |