Nodes/ComfyUI/VOIDWarpedNoise
ComfyUI Node Runs on cloud

VOIDWarpedNoise

The trick behind consistent two-pass video

By Comfy-Org·Created 4 years ago·Updated about 11 hours ago· 130,663
VOIDWarpedNoise
  • optical_flow
  • video
  • warped_noise
width672
height384
length45
batch_size1

Most video pipelines start from plain random noise. VOIDWarpedNoise is from a different school: it starts pass two from noise that has already been warped along the motion of the video, so the refinement stage inherits temporal consistency from frame one. This is the "warped noise" technique made famous in the CogVideoX community - a well-known trick for keeping two-pass video from flickering - wrapped into a core node for the VOID refinement pipeline.

What it does

You give it the pass-one output video, an optical flow model, and target dimensions. It computes optical flow between frames (with a RAFT-large model from OpticalFlowLoader), then warps Gaussian noise along those flow vectors, so the noise pattern itself moves with the video. The result is a LATENT (warped_noise) that becomes the initial latent for pass two. Because the noise already respects the motion field, pass two's output stays temporally coherent instead of drifting frame to frame.

Inputs: optical_flow (the RAFT model), video (pass-one frames [T,H,W,3]), width, height, length, batch_size. Output: a [B,C,T,H,W] latent, ready for the sampler.

The length rounding that will surprise you

length has a footgun baked in: it gets rounded down to make the latent's time dimension even, because the target model (CogVideoX-Fun-V1.5, patch_size_t=2) requires it. Ask for 49 frames and you get 45 - the tooltip says so, and the node logs a warning when it happens. If your pass-two length silently disagrees with pass one, this is why. Set length to a value that already satisfies the rule and the surprise disappears.

Where it sits

This node is one stage of the VOID pipeline, which in ComfyUI core is a two-pass CogVideoX-Fun-V1.5 refinement flow: pass one generates, VOIDWarpedNoise builds the motion-aware noise from pass one's frames, VOIDWarpedNoiseSource wraps it as a noise source, and SamplerCustomAdvanced runs pass two with it. width/height default to 672x384 - the pipeline's working size - and the model works at 8x spatial downscale.

What people actually hit

The warped-noise approach itself is well-trodden and genuinely useful - the original community example showing motion-guided video with CogVideoX was a hit for a reason. The VOID-specific parts are newer (this node landed in core in 2026), so the sharp edges are the young-pipeline ones: the length rounding above, and the fact that you need the RAFT optical flow model on disk and matched. Also remember this is real compute - optical flow plus noise warping on GPU is not free, so it's a quality investment, not a zero-cost convenience. Use it when temporal coherence is the goal; skip it for one-off clips where plain noise is fine.

Categorymodel/latent/void

Inputs (6)

NameTypeDefaultDescription
optical_flowOPTICAL_FLOWOptical flow model from OpticalFlowLoader (RAFT-large).
videoIMAGEPass 1 output video frames [T, H, W, 3]
widthINT67216–16384
heightINT38416–16384
lengthINT451–16384Number of pixel frames. Rounded down to make latent_t even (patch_size_t=2 requirement), e.g. 49 → 45.
batch_sizeINT11–64

Outputs (1)

NameTypeDescription
warped_noiseLATENT