BetaSamplingScheduler (Ray)
The beta scheduler your LTX model is quietly begging for
- ray_actors
- SIGMAS
LTX models are weird in a specific way: they were trained with a noise schedule shaped by the beta distribution, and they visibly behave better when you sample them with that same schedule. That's the whole reason this node exists. RayBetaSamplingScheduler builds that beta-shaped sigma curve on the Ray cluster, and if you're running an LTX-2 or LTX-2.5 workflow through Raylight's custom sampling stack, this is the scheduler you want - not simple, not karras, this one.
The inputs that matter. Four, all required:
ray_actors- the initializer chain.steps- sampling steps (default 20).alphaandbeta- the two shape parameters of the beta distribution, both defaulting to 0.6. These control how the noise schedule curves: they shape where the early aggressive denoising happens versus the tail. The 0.6/0.6 defaults are the values LTX workflows standardized on, so treat them as "correct unless you're experimenting." People who mess with them usually report more motion jitter or more frozen frames, not an improvement.
Output. A SIGMAS object feeding RayAddNoise, DPSamplerCustom, or DPSamplerCustomAdvanced. Same downstream contract as RayBasicScheduler, just a different curve.
How it fits. This is one of the nodes that quietly proves Raylight isn't just a re-skin of the core sampling stack - it ships model-family-specific curves because the distributed video world demands them. The LTX expansion in the pack (which includes RayDynamicConditioning) exists for the same reason: LTX's sampling quirks get first-class support instead of being jury-rigged with core nodes. If your LTX output looks off, "am I even using the beta schedule?" is the first question worth asking.
Gotchas. The obvious one is using this on a model that isn't LTX - SDXL does not want a beta schedule, and the result is typically undercooked images. The subtler one is pairing it with the wrong sampler tier: it feeds the custom-sampling nodes, not DPKSamplerAdvanced's built-in dropdown (that one does list beta among its nine schedulers, which is convenient if you're not building a custom graph). And remember the schedule is shared across all workers - only seeds differ per GPU.
Install. Ships in the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/komikndr/raylight
cd raylight
pip install -r requirements.txt
or ComfyUI Manager → search "raylight" → Install, restart. xfuser is the heavy install; FlashAttention is optional; Windows realistically means WSL2.
One honest note on expectations: the beta scheduler gets LTX models to their intended behavior, but LTX's prompt adherence is still the community's loudest complaint (the "LTX doesn't care about prompt adherence" refrain from the KB's video-ecosystem notes is real). The scheduler fixes the schedule, not the prompt adherence. Use the right curve, then seed-hunt like everyone else.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| ray_actors | RAY_ACTORS | — | |
| steps | INT | 201–10000 | — |
| alpha | FLOAT | 0.600–50 | — |
| beta | FLOAT | 0.600–50 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | — |