ReChromaPatcherAdvanced
RES4LYF's block-level style patch for Chroma
- model
- model
Chroma is the model this node was built to actually get used on. It's the uncensored, Apache-2.0, community-trained fork of Flux.1-schnell that a lot of people reach for specifically because Flux Dev won't touch NSFW and won't let you finetune the weights commercially - and RES4LYF's style-transfer and dual-guide system has been credited by name in some of the highest-scoring Chroma workflow shares floating around. ReChromaPatcherAdvanced is what hooks that machinery into a Chroma model, with block-level control over exactly where in the network the style guide gets to act.
What it's doing
RES4LYF's style-transfer nodes need to inject an extra "style guide" pathway into the model's forward pass, and Chroma's transformer block layout is its own thing - close to Flux's under the hood, but different enough (and different enough from AuraFlow's or SD3.5's) that RES4LYF ships a dedicated patcher per architecture rather than one generic patch. This is the advanced variant, meaning instead of an on/off toggle you get to choose which of Chroma's double-stream and single-stream blocks the style signal is allowed to touch. Restrict it to earlier double-stream blocks and you're mostly steering composition; push it into later single-stream blocks and you're closer to a fine-detail or texture pass. There's no non-advanced "ReChromaPatcher" in the pack - if you want the plain on/off version, just leave both block fields at their default.
The inputs and outputs that matter
model(MODEL, required) - your loaded Chroma model.doublestream_blocks(STRING, default"all") - which double-stream transformer blocks get patched. A comma-separated list or range of block indices; leave at"all"unless you have a specific reason to narrow it.singlestream_blocks(STRING, default"all") - same, for the single-stream blocks.style_dtype(defaultfloat64) - the numeric precision the style computation runs at, independent of your model's own dtype.float64is the safe, precise default; drop tobfloat16if you're VRAM-constrained and willing to trade a little precision for headroom.enable(BOOLEAN, defaulttrue) - bypass switch, useful for A/B-ing whether the patch is doing anything without rewiring the graph.
Output: a patched model, wired onward to your sampler like any other model output.
How to install it
Comes with the RES4LYF pack - no separate install step. Via ComfyUI Manager: search "RES4LYF", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF/
cd RES4LYF
pip install -r requirements.txt
(swap pip for your portable install's embedded pip.exe on Windows). You'll need Chroma's weights yourself - RES4LYF doesn't ship them - and be aware Chroma at 8.9B parameters on Flux-family architecture is meaningfully slower than SDXL and painfully slow on 12GB cards without quantization, independent of anything this node does.
Common issues & troubleshooting
You don't know where to start with the block strings. Leave both at "all" first - confirm the style effect looks right at the default before narrowing anything. Change one field, keep the seed fixed, compare; don't touch both ranges at once or you won't know which change did what.
A block range does nothing. These are free-text fields, no validation on the index range - a typo or an index outside Chroma's actual block count will silently fail to do what you intended rather than throwing an obvious error. If narrowing seems inert, double-check the string parsed the way you meant.
Slow generation, and you're not sure if it's this node. Chroma itself is the slower model in the room; float64 on just the style pathway is a comparatively small add-on. If you're chasing speed, quantize Chroma first (a common complaint on 12GB cards) before assuming the patcher's precision setting is your bottleneck.
Wrong patcher for the model. Chroma shares a lot of DNA with Flux under the hood, but it's not the same weights, and RES4LYF's per-architecture patchers aren't interchangeable - use ReFluxPatcherAdvanced for actual Flux checkpoints and this one for Chroma, not the other way around.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| doublestream_blocks | STRING | all | — |
| singlestream_blocks | STRING | all | — |
| style_dtype | COMBO | float64 | 5 options: default, bfloat16, float16, float32, float64 |
| enable | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |