ComfyUI Node

DynamiCrafterI2V

Turn one still image into a short clip

By kijai·Created 2 years ago·Updated about a year ago· 680
DynamiCrafterI2V
  • model
  • clip_vision
  • positive
  • negative
  • image
  • image2
  • mask
  • init_noise
  • images
  • last_image
steps50
cfg7.00
eta1.00
frames16
seed0
fs10
keep_model_loadedtrue
vae_dtypeauto
frame_window_size16
frame_window_stride4
augmentation_level0.0000

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 fs means 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 (and augmentation_level). Nudge fs up 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_unet on the loader, and confirm xformers is actually active.
  • Use the right CLIP. The positive/negative conditioning 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.
CategoryDynamiCrafterWrapper

Inputs (19)

NameTypeDefaultDescription
modelDCMODEL
clip_visionCLIP_VISION
positiveCONDITIONING
negativeCONDITIONING
imageIMAGE
stepsINT501–200
cfgFLOAT7.000–20
etaFLOAT1.000–1
framesINT161–100
seedINT00–18446744073709550000
fsINT102–100
keep_model_loadedBOOLEANtrue
vae_dtypeCOMBOauto4 options: fp32, fp16, bf16, auto
image2optIMAGE
maskoptMASK
frame_window_sizeoptINT161–200
frame_window_strideoptINT41–200
augmentation_leveloptFLOAT0.00000–10
init_noiseoptDCNOISE

Outputs (2)

NameTypeDescription
imagesIMAGE
last_imageIMAGE