Basic Guider (Ray)
The no-CFG guider, for the CFG=1 generation
- ray_actors
- conditioning
- guider
Here's a sentence that would have confused you two years ago: the guider that takes no cfg value is the one you'll use most. RayBasicGuider takes a conditioning and a ray_actors chain and produces a RAY_GUIDER that just... follows the conditioning. No negative prompt, no scale, no tug-of-war. Guidance scale 1, always.
That sounds useless until you remember what models actually run in Raylight's world. Flux, Wan, Hunyuan Video - they're distilled down to CFG=1, and the README is explicit that "since these models do not support conditional batches (CFG = 1), enabling it has no effect." A Basic guider is exactly what those models want, because they don't want guidance at all. If you're coming from SDXL habits (CFG 5-8 feels mandatory), it takes a minute to trust that "no negative, no cfg" is the correct, not the lazy, setup.
The inputs that matter. Just two, both required: ray_actors (the initializer chain) and conditioning (a single CONDITIONING, positive-only). That's it. No strength, no clip skip, no switches. The output is a RAY_GUIDER that feeds DPSamplerCustomAdvanced's guider input.
How it works. Under the hood it's the distributed twin of the core BasicGuider - a guider object that returns the conditional prediction as the denoised output. In the Ray world, "basic" also means "CFG parallelism won't help here," because there are no separate conditional/unconditional branches to split across GPUs. So if you're hunting for speedup on a Flux or Wan workflow and wondering why CFG-parallel mode does nothing, this is the reason: the model runs at scale 1, so there's only one branch per step.
Where it fits. The modern-stack custom sampling chain: RayInitializer → RayBasicGuider → DPSamplerCustomAdvanced, with RayBasicScheduler feeding sigmas. If you're building the same graph for an SDXL or SD1.5 model, swap in RayCFGGuider instead - those still need actual CFG. The Basic guider is also the honest default when you're not sure: for the distilled video models the README lists, it's not a compromise, it's the spec.
Install. One pack install covers the whole family:
cd ComfyUI/custom_nodes
git clone https://github.com/komikndr/raylight
cd raylight
pip install -r requirements.txt
or ComfyUI Manager → search "raylight" → Install, then restart. Heavy dependency is xfuser; FlashAttention is optional; Windows means WSL2.
The one thing to double-check before you commit: your model's support row in the README. A handful of models are FSDP/USP-listed but CFG-only or untested, and if your model isn't in the supported table at all, no guider - Basic or otherwise - is going to save you.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| ray_actors | RAY_ACTORS | — | |
| conditioning | CONDITIONING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| guider | RAY_GUIDER | — |