Stylebook Blend
Two styles, one prompt, and a ratio that actually does something
- style_chain
- style_b
- prompt
- negative
- style_chain
So you want "cyberpunk, but make it a bit risograph". Prompt-wise, that's usually you faking it - gluing two style names together and hoping the model sorts out the proportions. Stylebook Blend is the node that actually does the mixing, at a ratio you control, by blending the two styles' written descriptions rather than just concatenating their names.
It's a small node with one real job: take two Style nodes' outputs and merge them into one coherent style block. Reach for it when you keep wanting "A, but with a hint of B" and the manual version keeps coming out as "A and B, both, loudly."
How it works
Feed the primary style into style_chain (style A) and a second style into style_b (style B). The ratio runs from 0.0 (pure A) to 1.0 (pure B). In between, it decides two things:
- how much of each style's keyword list survives, and
- which style leads the resulting sentence.
That leading is the part that decides the result. The node takes a leading share of each style's tag list (always keeping at least one), and the style on the lead side opens the prose. Because a model reads a sentence's subject first, the biggest visible change happens as the ratio crosses 0.5 - that's where the lead flips. Below 0.5, A is doing the talking with B seasoning it; above it, the reverse.
This is explicitly a blend of two written descriptions, not of two images or two latent spaces. You're not doing a weighted merge in the sampler - you're telling the text encoder about both looks at once, with one of them in charge.
The inputs
Only one required: ratio (float, 0.0–1.0, default 0.5, step 0.05). The two optional inputs are the actual sources:
style_chain- style A.style_b- style B. Connect the other Style node'sstyle_chainoutput here. Not itspromptoutput - its third output,style_chain. Ifstyle_bis empty there's nothing to blend and A simply passes through, so the node does exactly nothing while looking like it's doing something.
Outputs are the standard three: prompt, negative, and style_chain to keep the chain moving into Artist, Modifier, and eventually CLIPTextEncode.
Installing
ComfyUI Manager → search Stylebook, or:
cd ComfyUI/custom_nodes
git clone https://github.com/EnragedAntelope/comfyui-stylebook.git
Restart ComfyUI; it's under conditioning/stylebook. Like every node in this pack: no third-party dependencies, no model files, no API keys, fully offline. Requires ComfyUI 0.25.0+ (V3 node API), so keep ComfyUI updated if nodes won't register.
Where people get burned
The wiring mistake is the classic one: grabbing prompt off the second Style node instead of style_chain. The prompt output is a plain string, not a chain, and Blend will happily accept the connection and then have nothing to blend - style A passes through untouched. It's right there in the tooltip, but it's also the kind of thing you discover after staring at two identical outputs.
The subtler one is expecting the ratio to map linearly onto the image. It doesn't, because what it controls is text composition: how much of each keyword list survives and which style leads the sentence. 0.4 and 0.6 can look like different images in a way 0.3 and 0.4 don't, purely because of which style is leading. If you're fine-tuning, sweep the ratio in steps around 0.5 and watch the lead flip - that's where the leverage is.
Last, a mismatch to avoid: blend works best when the two styles don't fight over an axis. Blending a style that owns its colour grade into another style's grade is asking the prompt to contradict itself, and you'll get whichever the encoder happens to weight. Blend the mediums and let Stylebook Modifier handle the tilts - it at least warns you when a style already owns an axis.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| ratio | FLOAT | 0.500–1 | 0.0 is pure style A, 1.0 is pure style B. In between, the ratio sets how much of each style's description survives, and which of the two leads the result. |
| style_chainopt | STYLEBOOK_CHAIN | The primary style chain, style A. | |
| style_bopt | STYLEBOOK_CHAIN | The second style chain. Connect another Style node's style_chain output here, which is its third output, not prompt. Without it there is nothing to blend and A passes through. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| negative | STRING | — |
| style_chain | STYLEBOOK_CHAIN | — |