Pick Mix
One dropdown, a whole finished prompt
- prompt
- mix_id
- negative
Pick Mix is the payoff node of the Immac Style Mixer pack: pick a saved mix from a dropdown and get a fully assembled, weighted prompt string out the other side. Where Pick Style gives you one style's raw text, Pick Mix gives you the whole recipe - several styles, each with its own weight, already joined into one ready-to-prompt string. It's the "load" half of the Save Mix story.
This is the node you reach for when you've dialed in a combo you like - say, a lighting style at 1.2, a film-look style at 0.8, a character style at 1.0 - saved it as a mix, and now want to reuse it without rebuilding anything. One dropdown, a complete positive prompt, and optionally the negative that goes with it.
How it works
A mix in this pack is a named list of {style_id, weight, enabled} entries. Pick Mix resolves the mix by name, walks its enabled styles, looks up each one's prompt text in the shared style_mixer_data.json, and joins the results with commas. Weight 1.0 gets inserted as plain text; anything else becomes (text:weight) with two decimals. Disabled entries and near-zero weights are skipped entirely, so you can mute part of a mix in the sidebar and watch it vanish from the output.
There's also a negative_mode dropdown that decides where the negative comes from:
- assembled (default) - build it from each style's own negative field, weighted the same way as the positive.
- mix_override - use the negative stored on the mix itself, ignoring per-style ones.
- both - concatenate the two.
Default is fine for most people; switch to mix_override when a mix has its own opinionated negative and you don't want the styles' ones polluting it.
The inputs and outputs that matter
- mix - the only input you'll actually set: a dropdown of your saved mixes, with a
(no mixes saved)placeholder if the library is empty. - prompt - the assembled positive string. Straight into your CLIPTextEncode or sampler.
- negative - the negative, per your
negative_modechoice. - mix_id - the mix's UUID, useful if you ever need to target it from a Save Mix update later.
One naming note for older workflows: the README calls this node "Style Mix", and the code keeps StyleMixNode as an alias, so existing graphs that reference the old name still load.
The weight caveat to know up front
This node writes (value:1.3)-style weights, which is attention syntax for CLIP-based models - the SDXL lineage, Pony, Illustrious, NoobAI. That's clearly the pack's intended audience. If your checkpoint is an LLM-encoded 2026 model (Flux 2, Z-Image, and friends), those weight markers get silently discarded by the text encoder, so the mix still loads but the weights do nothing. Fine if you only use weight 1.0 entries; a trap if you thought the sliders were doing work. Check what encoder your checkpoint sits on before you trust the numbers.
Install
Same pack as everything else in the Immac Style Mixer:
cd ComfyUI/custom_nodes
git clone https://github.com/Immac/ComfyUI-ImmacStyleMixer
Restart ComfyUI after. No pip dependencies, no model downloads, and the sidebar tab (where you create mixes) appears on the next launch. You'll need a reasonably current ComfyUI because the pack uses the newer comfy_entrypoint extension API. Full install detail is in the pack README; Manager installs it if you give it the repo URL.
Gotchas
Your mixes are stored in style_mixer_data.json inside the pack folder - back it up via the sidebar's export before you ever re-clone the repo, or you'll lose everything. And like Pick Style, a mix you just saved shows up in the dropdown after the graph reruns, because the node refreshes on the data file's modification time.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| mix | COMBO | 1 options: (no mixes saved) | |
| negative_mode | COMBO | assembled | 3 options: assembled, mix_override, both |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| mix_id | STRING | — |
| negative | STRING | — |