DynamiCrafter LoadInitNoise
Structured starting noise for steadier motion
- model
- init_noise
- width
- height
This is an optional, advanced helper for the image-to-video path. Instead of letting DynamiCrafterI2V start from plain random noise, this node builds a structured initial noise tensor derived from the model, and hands it over. The payoff is steadier, less-flickery motion - the kind of temporal-consistency trick that video-diffusion pipelines borrow from research like FreeInit. It's firmly in the "reach for it when the default results are too jittery" category, not something a first workflow needs.
It's part of kijai's ComfyUI-DynamiCrafterWrapper, the ComfyUI port of the CUHK / Tencent AI Lab DynamiCrafter model.
How it works
Diffusion normally starts from pure Gaussian noise, which is fine for a single image but can make video temporally unstable - frames flicker because each denoise run starts from unrelated randomness. Analytic/structured initialization computes a starting noise with more useful low-frequency structure baked in, so the sampler begins closer to a coherent video and drifts less across frames. This node runs that computation against your loaded model and emits the result as a reusable noise object, plus the resolution it derived it at.
The inputs and outputs that matter
- model - the
DCMODELyou're animating with. The noise is derived to match it. - analytic_init - a boolean, default
true. Left on, you get the analytic structured noise (the whole point of the node). Turn it off and you're closer to a plain noise baseline. - M - an integer up to 1000, default 1000. It controls how many steps go into deriving the noise; the default is the full amount. Leave it unless you're deliberately experimenting.
Three outputs: init_noise (type DCNOISE) → wires into the optional init_noise input on DynamiCrafterI2V; and width / height (INT) → convenient to route into wherever you're setting output resolution, so everything stays in sync with the noise you generated.
Installing it
Bundled with the pack. ComfyUI Manager → search ComfyUI-DynamiCrafterWrapper, or cd ComfyUI/custom_nodes && git clone https://github.com/kijai/ComfyUI-DynamiCrafterWrapper, then pip install -r requirements.txt and restart. It only makes sense alongside DynamiCrafterI2V and a loaded DynamiCrafter checkpoint.
Common issues
- You don't need this to make video. The
init_noiseinput onDynamiCrafterI2Vis optional. Skip this node entirely and the sampler uses ordinary noise - perfectly fine for most shots. Only add it if you're fighting flicker. - No visible difference. On calm, low-motion clips the effect is subtle. Its value shows up most on dynamic motion where plain noise tends to jitter; on gentle animations you may not notice it.
- Resolution mismatch. The node reports the
width/heightit derived the noise at for a reason - feed those through so your generation resolution matches. Generating at a different size than the noise was built for undercuts the benefit. - Extra compute. Deriving analytic noise isn't free; it adds a bit of time up front. Worth it when it fixes flicker, wasted when the defaults already looked fine.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | DCMODEL | — | |
| M | INT | 10001–1000 | — |
| analytic_init | BOOLEAN | true | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| init_noise | DCNOISE | — |
| width | INT | — |
| height | INT | — |