Nodes/ComfyUI-DynamiCrafter/DynamiCrafterInterp Simple
ComfyUI Node

DynamiCrafterInterp Simple

Two images in, the frames between them out — the DynamiCrafter node that aged well

By chaojie·Created 3 years ago·Updated 2 years ago· 130
DynamiCrafterInterp Simple
  • model
  • image
  • image1
  • image
prompt
steps50
cfg_scale7.50
eta1.00
motion3
seed123

Here's the honest pitch: of the four nodes in this pack, this is the one you might actually keep installed. DynamiCrafterInterp-Simple takes two images - a start frame and an end frame - and generates a video of the space between them. Two keyframes in, a short clip out. It's a small, focused capability, and it's the thing DynamiCrafter still does that newer, shinier models don't always make easy.

What it's for, precisely

Don't confuse this with video frame interpolation like RIFE. RIFE does optical-flow smoothing - it takes frames that already exist and makes the motion between them less choppy. DynamiCrafterInterp-Simple is a diffusion-based interpolator: it invents plausible content that doesn't exist yet. You feed it a character in pose A and the same character in pose B, and it dreams up the poses in between. That's a different and much harder job, and it's why this node showed up in keyframing workflows - people fed AI-generated keyframes into DynamiCrafter interpolation, then finished with a RIFE pass for extra smoothness.

How it works

Same family architecture as the base model: an SD-style video diffusion prior conditioned through a frozen CLIP ViT-H image encoder, trained specifically on the interpolation task at 512×320. Both images get encoded, and the model samples the in-between frames as if filling a gap in a video. The default eta of 1.0 is the DDIM stochasticity the authors used at inference - some noise is part of the recipe.

Inputs a beginner actually sets

  • image and image1 - your start and end frames. Match their resolutions to each other (the model's native 320×512 is the safe target) so the node isn't fighting a resize on top of the interpolation.
  • prompt - optional flavor describing the transition, e.g. "she turns toward the camera". It guides but doesn't drive; the two images are doing the heavy lifting.
  • steps (50) and cfg_scale (7.5) - standard sampling. If the in-between frames start looking smeared, try easing CFG down before touching anything else.
  • motion (3) - how much motion is allowed between the frames. Lower it if the transition is morphing instead of moving.
  • seed (123) - reproducibility; change it when the transition is weird in a way you don't want to keep.

Output and next steps

The image output is the whole clip as a batched IMAGE tensor - frame 0 is your start image, the last frame is your end image, and everything between is the invention. Wire it into VideoHelperSuite's VideoCombine or ComfyUI's Save Animated WEBP to get a file. Note the native resolution: 320×512 is small, so you'll likely want to upscale afterward, or run a RIFE pass to lengthen and smooth the motion.

Install and gotchas

cd ComfyUI/custom_nodes
git clone https://github.com/chaojie/ComfyUI-DynamiCrafter
pip install xformers   # README's explicit requirement
# restart ComfyUI

Or ComfyUI Manager → ComfyUI-DynamiCrafter. The interpolation checkpoint auto-downloads; by hand it goes to ComfyUI/models/checkpoints/dynamicrafter_512_interp_v1/model.ckpt. If the loader can't find the model, that folder name is the first thing to check.

Two honest caveats. First, this is U-Net based and from 2024 - by late that year people were already asking for DiT-based interpolation instead, and for big-budget image-to-video you should just go use Wan. Second, if your two keyframes are too far apart, the diffusion has to invent a lot, and it can drift into morph territory. Keep your keyframes close, keep frame_length at 16, and this node will do a job nothing else in your graph does.

CategoryDynamiCrafter

Inputs (9)

NameTypeDefaultDescription
modelDynamiCrafterInter
imageIMAGE
image1IMAGE
promptSTRING
stepsINT50
cfg_scaleFLOAT7.50
etaFLOAT1.00
motionINT3
seedINT123

Outputs (1)

NameTypeDescription
imageIMAGE