RUM FLUX.2 Set Qwen Layers
Pick which Qwen layers speak to the model
- clip
- clip
- status
Some text encoders read the whole model; RUM's Qwen only reads part of it. RUMFlux2SetQwenLayers is the node that chooses which hidden-state layers of the Qwen3 4B encoder get pooled into the conditioning. The default is 10,20,30 - and that's not a random triple, it's the layer selection RUM was trained with. Mess with it and you're inventing a new model.
Here's the context. RUM (RimoChan's cross-architecture distillation project) trains FLUX.2-Klein to absorb SDXL/Illustrious knowledge, and its reference conditioning path doesn't use the Qwen encoder's final layer like vanilla FLUX.2 does. It samples three specific internal layers instead. This node clones your CLIP, verifies it's actually a FLUX.2/Klein Qwen encoder, and applies that layer override so the embeddings match RUM's training-time semantics.
What it does
clip- a FLUX.2/Klein Qwen text encoder CLIP. The node checks for the expected internals and raises a clear error if you feed it something else (e.g. a plain SDXL CLIP).layers- a comma-separated string of exactly three integers, default"10,20,30". Three, no more, no less; the parser rejects anything else.
Outputs: the patched clip and a status string confirming what was set.
Mechanically it clones the CLIP and applies the layer override only during encoding, forcing cache invalidation so a changed layer set actually re-encodes - a fix that landed in pack 0.2.4 after stale-cache headaches.
When you need it
The diffusers-match path handles layers internally via the qwen_layers field on RUMFlux2NativeMatchTextEncode - you don't need this node there. You reach for RUMFlux2SetQwenLayers on the plain native path, where you load Qwen with a standard loader and want the RUM layer selection applied to the CLIP before encoding. So the honest answer to "do I need this?" is: only if you're hand-building the native workflow.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Rinne414/ComfyUI-RUM
cd ComfyUI-RUM
pip install -r requirements.txt
python scripts/download_models.py --comfy-root /path/to/ComfyUI --include-teacher-clip
Restart ComfyUI. qwen_3_4b.safetensors goes in models/text_encoders/. No heavy dependencies - the pack deliberately avoids diffusers.
The trap here is treating layers as a tuning dial. It isn't. The 10,20,30 selection is part of RUM's trained contract; the pack's changelog notes the exact-encoder path even reproduces the "skip 6 of 36 layers" behavior bit-for-bit. If you change the layers you're not "improving" RUM, you're running a different model and wondering why it drifted. Keep the defaults, or expect the reference outputs to stop matching.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| layers | STRING | 10,20,30 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| clip | CLIP | — |
| status | STRING | — |