SkipLayerGuidanceDiTSimple (Ray)
The Set-and-Forget Variant
- ray_actors
- ray_actors
Same idea as its big sibling RaySkipLayerGuidanceDiT - get prompt adherence back on CFG-1 DiT models by skipping selected transformer layers and pushing away from the degraded pass - but without the scale knob. RaySkipLayerGuidanceDiTSimple has just four inputs: double_layers, single_layers, start_percent, and end_percent.
Where the full node adds a tunable scale to a post-CFG extrapolation, this one does something slightly different under the hood. It hooks the calc_cond_batch stage and runs the unconditional pass with the chosen layers skipped (using the skipped slg_model_options), while the conditional pass runs clean. So it only engages when there's a real unconditional pass - an actual negative prompt at CFG > 1 - and the guidance magnitude is left to the sampler's existing CFG. In other words, it's SLG applied through the negative pass rather than as a separate post-CFG push. That's why it has no scale: it's not adding a new force, it's degrading the baseline the existing CFG extrapolates against.
That makes it the "I just want the composition benefit without tuning another slider" option. The defaults are also friendlier than the full node's: start_percent 0.0 to end_percent 1.0 means it's active for the whole denoising run. If you want it early-only like the full node's windowed behavior, set end_percent to ~0.15 yourself. The layer defaults stay at 7, 8, 9 for both double and single blocks - the same community-proven set.
Where it fits
Any Raylight DiT workflow that already runs a real CFG pass - which mostly means SD 1.5/SDXL-style flows in the pack's CFG-parallel mode, or un-distilled models. The source bails out gracefully when the unconditional cond is None (i.e., pure CFG-1), so on a distilled model this node quietly does nothing. That's by design, not a bug.
Install
Part of raylight:
cd ComfyUI/custom_nodes
git clone https://github.com/komikndr/raylight
cd raylight
pip install -r requirements.txt
Restart, or install "raylight" via ComfyUI Manager.
Gotchas
Don't run Simple and the full RaySkipLayerGuidanceDiT in the same graph - they both target the skip-block mechanism and will fight over the same patch hooks. Pick one. And because there's no scale, the only tuning you have is the layer lists and the window; if the effect is too weak or too strong, that's a signal you actually wanted the full node.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| ray_actors | RAY_ACTORS | — | |
| double_layers | STRING | 7, 8, 9 | — |
| single_layers | STRING | 7, 8, 9 | — |
| start_percent | FLOAT | 0.0000–1 | — |
| end_percent | FLOAT | 1.0000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| ray_actors | RAY_ACTORS | — |