DynamiCrafterI2V
Turn one still image into a short clip
- model
- clip_vision
- positive
- negative
- image
- image2
- mask
- init_noise
- images
- last_image
This is the engine of the pack - the node that actually animates a still image. Feed it a picture and a text prompt, and DynamiCrafter uses its video-diffusion priors to imagine ~16 frames of plausible motion out of it. Back in 2024 this was one of the better open image-to-video models you could run locally, sitting in the same conversation as Stable Video Diffusion. In 2026 it's been passed for general-purpose video by Wan 2.2 and LTX - if you just want "good video from an image," use those. Where DynamiCrafterI2V still earns a spot is the start-frame/end-frame and looping tricks it does natively, which not every newer model handles cleanly.
It's part of kijai's ComfyUI-DynamiCrafterWrapper, the ComfyUI port of the CUHK / Tencent AI Lab DynamiCrafter model.
How it works
You give it a loaded DCMODEL, a CLIP Vision embedding of your input image, positive/negative conditioning, and the image itself. The model treats the image as a strong prior and generates a short latent video around it, then decodes it to frames - decode is built into this node, so its output is images, not latents. Optionally, hand it a second image and it'll interpolate from the first to the second (the basis for looping, too, if start and end are the same shot).
The inputs and outputs that matter
The wiring: model (DCMODEL), clip_vision (a CLIP Vision model reading your input frame), positive/negative conditioning, and image. The dials a beginner actually touches:
- fs - the motion knob, and the one to learn first. It's DynamiCrafter's frame-stride conditioning: lower
fsmeans gentler, slower motion; higher means more dynamic (and more chance of things falling apart). Default 10 is a sane start. - frames - how many frames to generate (default 16, the model's native window). Push it far past that and coherence suffers.
- steps and cfg - sampling quality and prompt adherence; defaults of 50 steps / 7 cfg are the reference settings.
- augmentation_level (optional) - adds noise to the image conditioning so the model strays further from the input. A little buys more motion; too much and it stops looking like your image.
The optional inputs are where the good tricks live: image2 gives you a second keyframe for interpolation and looping; init_noise takes a DCNOISE from DynamiCrafterLoadInitNoise for steadier, less-flickery results; frame_window_size / frame_window_stride control the sliding window when you ask for more frames than the model natively handles; mask lets you constrain the animated region.
Two outputs: images (the full generated IMAGE sequence - send to a Video Combine node) and last_image (the final frame, handy for chaining another clip off the end).
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. Install xformers (pip install xformers --no-deps) - strongly recommended for memory. You'll also need a DynamiCrafter checkpoint (via DownloadAndLoadDynamiCrafterModel), the SD 2.1 CLIP text encoder (DownloadAndLoadCLIPModel), and a CLIP Vision model.
Common issues
- Barely any motion, or too much. That's
fs(andaugmentation_level). Nudgefsup for more movement, down for calmer, subtler animation. - OOM. With fp16, 1024x576 wants just under 10GB and 512p interpolation fits in 8GB per Kijai's notes - but that assumes xformers is installed and frame count is sane. Drop resolution/frames, enable
fp8_uneton the loader, and confirm xformers is actually active. - Use the right CLIP. The
positive/negativeconditioning must come from the SD 2.1 encoder this pack loads, not a stray SDXL/Flux CLIP, or your prompt won't land. - Tempering expectations. It's a 2024 model; a single generation can look rough and re-rolling the seed is normal. For clean general-purpose video, the newer Wan/LTX models are the better tool now.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| model | DCMODEL | — | |
| clip_vision | CLIP_VISION | — | |
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| image | IMAGE | — | |
| steps | INT | 501–200 | — |
| cfg | FLOAT | 7.000–20 | — |
| eta | FLOAT | 1.000–1 | — |
| frames | INT | 161–100 | — |
| seed | INT | 00–18446744073709550000 | — |
| fs | INT | 102–100 | — |
| keep_model_loaded | BOOLEAN | true | — |
| vae_dtype | COMBO | auto | 4 options: fp32, fp16, bf16, auto |
| image2opt | IMAGE | — | |
| maskopt | MASK | — | |
| frame_window_sizeopt | INT | 161–200 | — |
| frame_window_strideopt | INT | 41–200 | — |
| augmentation_levelopt | FLOAT | 0.00000–10 | — |
| init_noiseopt | DCNOISE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| last_image | IMAGE | — |