Nodes/raylight/Dynamic Conditioning (Ray)
ComfyUI Node

Dynamic Conditioning (Ray)

Nudge the first frame of your LTX video

By komikndr·Created about a year ago·Updated 2 days ago· 409
Dynamic Conditioning (Ray)
  • ray_actors
  • ray_actors
power1.30
only_first_frametrue

Video models live and die by their first frame. If frame zero drifts, everything after it compounds the error, and LTX is a model where the first frame anchors the whole clip. RayDynamicConditioning is a Raylight node - from the LTXV expansion - that pushes the sampler to pay more attention to that first frame early in the denoising process, using a mask whose strength ramps up over the sampling trajectory. It's the kind of fiddly, model-specific patch you only find in a pack like this, and it exists because LTX users kept hitting first-frame instability.

How it works. The mechanism, from the source, is a denoise-mask patch. The model gets a custom mask function that takes the current sigma, finds which sampling step it corresponds to, and computes power ** step - a value that grows as the run progresses. That value is applied to the denoise mask, either on just the first frame (only_first_frame on) or across the whole latent (only_first_frame off). The mask tells the sampler where to focus its denoising effort, so raising it on the first frame makes early steps work harder there. Because the exponent grows with step, the emphasis is strongest early and fades later - hence "dynamic."

The inputs that matter. Three, all required:

  • ray_actors - the initializer chain.
  • power - the base of the ramp, default 1.3, range 1.0–2.0. At 1.0 the exponent does nothing (everything to the power 1 is itself); higher values amplify the first-frame emphasis. 1.3 is a gentle default; you'd push toward 1.5+ only if first-frame drift is severe.
  • only_first_frame - boolean, default true. true restricts the boost to the first frame's channels - the common case, since the first frame is the anchor. false applies the dynamic mask to every frame, which is a much stronger intervention that most workflows don't want.

Output. ray_actors, passed through - it's a patch node, wired in series between the initializer and the sampler, patching the model on every worker.

Where it fits. This lives in the Raylight/LTXV category alongside the rest of the pack's LTX-specific expansion, and it's best paired with the beta scheduler (RayBetaSamplingScheduler), since LTX models expect that schedule anyway. The README's changelog frames the whole LTXV expansion as "BETA," so treat this as experimental in the good sense: it targets a real problem (first-frame instability in LTX video), and the fix is cheap to test. One node in the chain, A/B it, keep it if your first frames stop drifting.

The honest caveat: LTX's known weakness is prompt adherence and motion coherence over long clips - the KB's video-ecosystem notes document the community's "LTX doesn't care about prompt adherence" refrain - and no first-frame patch fixes long-range coherence. This node improves the anchor; it won't rescue a clip whose prompt it never followed.

Install. Part of 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 dependency, FlashAttention is optional, Windows means WSL2.

If your LTX clips start strong and drift, this is worth five minutes. If your problem is "the model ignored my prompt entirely," spend that five minutes elsewhere.

CategoryRaylight/LTXV

Inputs (3)

NameTypeDefaultDescription
ray_actorsRAY_ACTORS
powerFLOAT1.301–2
only_first_frameBOOLEANtrue

Outputs (1)

NameTypeDescription
ray_actorsRAY_ACTORS