Weight Style
The glue that turns a style id into a weighted prompt chunk
- style_entry
- weighted_value
Weight Style is the bridge node in the Immac Style Mixer chain - the piece that turns a plain style id into a weighted, prompt-ready chunk. On its own it does nothing interesting. Wired between Pick Style and Blend Style it's what lets you say "I want this style, but at 70% emphasis" without hand-typing parenthesis math into your prompt.
Think of the chain as: Pick Style hands you a style's id → Weight Style attaches a weight to it → Blend Style (or your sampler) consumes the result. Weight Style's job is the middle step, and it gives you two views of the same work: a machine-readable JSON entry for the blend node, and a human-readable text string you can preview or feed directly to a prompt.
How it works
The node takes a style_id (from Pick Style's style_id output - it's a forced connection, you can't just type a name) and a weight slider, then builds a small JSON object: {"style_id": "...", "weight": 1.25}. That JSON is the style_entry output. Separately it looks the style up in style_mixer_data.json, grabs its prompt text, and produces the weighted_value string - the bare text at weight 1.0, or (text:weight) formatted to two decimals otherwise. If the style has no text, or the weight is effectively zero, weighted_value comes back empty and the entry is effectively a no-op.
The inputs and outputs that matter
Only two inputs, and only one of them is interesting:
- style_id - string, wired from a Pick Style node. Don't invent one; grab it from the node so it always matches a real saved style.
- weight - a slider from -10 to 10, step 0.01, default 1.0. That's the whole point of the node. Values under 1 de-emphasize, over 1 emphasize, and you can go negative if you're trying to actively suppress a style's influence. The weight is rounded to four decimals in the JSON.
Two outputs:
- style_entry - the JSON, for feeding a Blend Style node's
style_entriesinput. - weighted_value - the assembled prompt string, for when you want to skip the blend and wire a single weighted style straight into your prompt.
When you'd actually use it
If you're building a one-off workflow, honestly, just type (snippet:1.2) yourself - Weight Style buys you nothing there. It earns its place when you want a repeatable graph: a stable of styles, per-style sliders you can tweak without hunting through your prompt text, and a chain that ends in a saved mix. It's also the ergonomic win when a style's text is long; weighting it becomes one slider drag instead of editing a huge string.
Same caveat as the rest of this pack: the (value:weight) syntax is attention weighting for CLIP-based models (SDXL, Pony, Illustrious, NoobAI). On LLM-encoded checkpoints like Flux 2 or Z-Image the encoder discards those markers, so your slider silently stops mattering. Weight Style is built for the SDXL lineage - run it there and it just works.
Install
Part of the ComfyUI-ImmacStyleMixer pack, one install for all six nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/Immac/ComfyUI-ImmacStyleMixer
Restart ComfyUI and you're done. No pip requirements, no model downloads, nothing to hunt for - the pack depends only on things ComfyUI already ships (and the newer comfy_api extension API, so keep ComfyUI current). Manager works too if you add the repo URL.
Gotchas
Two things trip people up. First, an empty weighted_value usually means the style id doesn't match anything in the data file - re-wire from a fresh Pick Style node rather than pasting an id by hand. Second, the data file's modification time drives cache refresh here, so edits made in the sidebar take effect on the next graph run. Nothing in this pack is heavy, but it does expect the library file to exist; create a style or two in the sidebar first and the whole chain stops feeling like a puzzle.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| style_id | STRING | — | |
| weight | FLOAT | 1.00-10–10 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| style_entry | STRING | — |
| weighted_value | STRING | — |