H3 Qwen Model Selector
The dropdown that finds your GGUF model when ComfyUI can't
- config_override
The H3 Qwen Model Selector is a two-dropdown node that solves a genuinely annoying problem: ComfyUI's built-in text-encoder model lists won't show .gguf files. You can drop a Qwen3-VL GGUF and its mmproj into models/text_encoders and they simply won't appear in a normal Combo widget, because core ComfyUI filters that folder category to the standard safetensors/PyTorch extensions. This node exists to make those files visible and pickable.
It does nothing else, which is refreshing. The description is precise about it: only model_path and mmproj_path get overridden; the ComfyUI_Simple_Qwen3-VL-gguf pack still owns model loading and runtime. The selector is a file picker with a JSON output, not a loader.
How it finds your files
Two required dropdowns: model and mmproj. It scans ComfyUI's registered text-encoder roots for .gguf files and splits them into two lists - anything with "mmproj" in the filename is a projector, everything else is a candidate model. It then floats its preferred build to the top of each list so the README's recommendation is one click away: Qwen3.6-27B-Uncensored-HauhauCS-Balanced-Q3_K_P.gguf with the matching f16 mmproj.
The mechanism underneath is worth knowing because it decides what you must install. If ComfyUI-GGUF is present, the node uses its clip_gguf folder category, which can see these files. If it isn't, the node creates its own h3_qwen_gguf alias over the same text_encoders roots and filters to GGUF itself - so it works either way, and it respects extra_model_paths.yaml if you keep models on another drive.
The output is a single config_override: a small JSON object holding the full model_path and mmproj_path. Wire it into the base_config of the Initial/Cast/Compose request nodes, and their own config override merges your paths in.
The error that isn't a crash
If no GGUF is found at all, both dropdowns show a sentinel: <no GGUF text encoders found>. The node still loads - ComfyUI Combo widgets need at least one value - and then raises a clear "No Qwen GGUF model/projector was found" error if you run it like that. It's a deliberate message, not a hang. The fix is almost always one of: you put the files somewhere text_encoders can't see, you forgot the mmproj, or the filename lacks "mmproj" so it got classified as a model.
Install
The whole pack installs through ComfyUI Manager (search "H3 Scribe") or git clone https://github.com/last-git/h3_scribe into ComfyUI/custom_nodes, then restart. The selector itself needs only pydantic. The real requirements are the Qwen3-VL GGUF + mmproj (download links in the workflow's Markdown Note, per the README) and ComfyUI_Simple_Qwen3-VL-gguf to actually run them.
One practical note from the Qwen GGUF trenches: the mmproj and model must be compatible - a projector from a different Qwen build than the model is the classic "mat1 and mat2 shapes cannot be multiplied" style failure people chase for an hour. The selector can't save you from that; matching the README's recommended pair does.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | 1 options: <no GGUF text encoders found> | |
| mmproj | COMBO | 1 options: <no GGUF mmproj found> |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| config_override | STRING | — |