Diffusion Model Selector (Yogurt Nodes)
A dropdown for diffusion models that hands the trigger word along too
- diffusion_model
- name
- stem
- trigger_word
- absolute_path
If you've ever rebuilt a workflow because you swapped in a new UNet and had to hunt down where the filename lived, this is the node that saves you the trip. Diffusion Model Selector gives you one dropdown for everything in your models/diffusion_models folder, plus a text field for a trigger word, and then shovels all of it out as clean outputs: name, stem, the trigger word, and the absolute path.
Like its sibling ControlNet Selector in the same pack, it's a selector, not a loader. No tensors get loaded, no VRAM gets touched - the first output is the model's filename as a string. You wire that name or path into whatever node actually loads the UNet (a diffusion model loader, a workflow template node, or similar). The value is organizational: one visible place to pick the model and set its trigger word, so you're not digging through a rat's nest of loader nodes every time you experiment with a different architecture or a merged checkpoint.
That trigger_word output is the sleeper feature. Diffusion models trained for specific styles often need their trigger term prepended to your prompt for the effect to kick in. This node lets you keep that word attached to the model pick itself - change the model, and the trigger word follows, which you can pipe into a prompt-builder or String Concat. It's a nice touch of bookkeeping that most selectors skip.
How it works
Same trick as the ControlNet selector: the dropdown is populated from ComfyUI's folder_paths list for diffusion_models, and the node resolves the absolute path at runtime. Two inputs, five outputs, no magic.
Inputs
diffusion_model- dropdown of everything inmodels/diffusion_models, defaultNone.trigger_word- free text, default empty. The word to prepend to prompts when this model is active.
Outputs
diffusion_model- the filename string (remember: not a loaded model).name/stem- filename, and filename without extension.trigger_word- your text, echoed through for convenience.absolute_path- resolved full path, empty when set toNone.
Install
Part of ComfyUI-YogurtNodes. One install gets you the whole pack (152 nodes):
cd ComfyUI/custom_nodes
git clone https://github.com/yogurt7771/ComfyUI-YogurtNodes.git
cd ComfyUI-YogurtNodes
pip install -r requirements.txt
Or install via ComfyUI Manager (search "YogurtNodes"), then restart ComfyUI. It lives under "Yogurt Nodes" → Models.
Common issues
- Empty dropdown - nothing in
ComfyUI/models/diffusion_models. Put your UNets there and restart; the list is read when the node is created. - "It doesn't generate anything" - right, because it's a selector. It only emits metadata; you still need a loader downstream consuming
absolute_pathorstem. - Trigger word ignored - this node only carries the word; it won't inject it into your prompt for you. You have to actually concat
trigger_wordinto your CLIP text encoder input.
It's a thin utility, but if you switch models often or build shared workflows for other people, the trigger-word bundling alone earns it a spot.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| diffusion_model | COMBO | None | Diffusion Model to use. |
| trigger_word | STRING | Trigger word to use. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| diffusion_model | — | |
| name | STRING | — |
| stem | STRING | — |
| trigger_word | STRING | — |
| absolute_path | STRING | — |