EasyLoader (SVD)
The one-node way to set up Stable Video Diffusion
- init_image
- pipe
- model
- vae
If you want to animate a still image with Stable Video Diffusion and you don't want to wire up the six-or-seven-node conditioning dance that the vanilla SVD workflow requires, this is the shortcut. easy svdLoader folds the checkpoint load, the image conditioning, the latent setup, and the motion parameters into a single node that spits out a pipe you feed straight into an easy presampler and sampler.
Quick grounding, because SVD confuses people: Stable Video Diffusion is Stability AI's open image-to-video model from late 2023. You give it one image, it generates a short clip - a few seconds of subtle motion - off that frame. It's the image-to-video branch, not text-to-video: there's no "describe a scene and get a movie" here, you're animating a picture you already have. It's old by 2026 standards and the community has largely moved on to Wan and friends for serious video, but SVD still runs, still installs cleanly, and is a perfectly reasonable place to learn the img2vid loop. This loader is the gentlest on-ramp to it.
How it works
Under the hood SVD conditions the diffusion on your input frame plus a couple of motion knobs, then denoises a batch of latents that become the video frames. The fiddly part in a hand-built graph is the conditioning: SVD wants the image encoded, the motion bucket and fps injected as conditioning, and the latent sized to match. easy svdLoader does all of that internally and hands you a bundled pipe (plus the raw model and vae if you need them), so the rest of your graph is just "presample, sample, decode, save."
The inputs and outputs that matter
Most of the widgets have sane defaults; these are the ones a beginner actually sets:
ckpt_name- your SVD checkpoint (e.g. the 14-frame or 25-framesvd/svd_xtfile). This is required and the dropdown is empty until you've downloaded one.init_image- the still you're animating. This is the whole input; SVD builds the motion off it.video_frames- how many frames to generate. Match it to your model: 14 for base SVD, 25 for the_xtvariants.motion_bucket_id(default 127) - the big creative dial. Higher means more motion; lower means a calmer, more static clip. This is the first thing to tweak when the result is too still or too chaotic.fps(default 6) andaugmentation_level- fps sets playback speed of the conditioning; augmentation adds noise to the init image, which loosens the model from the exact input and can free up more movement (at the cost of fidelity).
There are also resolution presets and optional_positive / optional_negative text boxes (SVD can take light prompt guidance via its open_clip path). Outputs are pipe (wire into easy preSampling → easy kSampler), plus model and vae if you're routing them manually.
How to install it
It's part of ComfyUI-Easy-Use. ComfyUI Manager: search ComfyUI-Easy-Use, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/yolain/ComfyUI-Easy-Use
then install.bat (Windows) or pip install -r ComfyUI-Easy-Use/requirements.txt, and restart. The node itself is light - but SVD is not. You need to download the SVD checkpoint yourself (from Stability's HuggingFace repo) into ComfyUI/models/checkpoints/; the pack doesn't ship models.
Common issues & troubleshooting
Empty ckpt_name dropdown. You haven't got an SVD checkpoint installed. Grab svd.safetensors (14-frame) or svd_xt.safetensors (25-frame) and drop it in your checkpoints folder, then restart.
Frame count mismatch. If you set video_frames to 25 on a 14-frame base model (or vice versa) you'll get wrong or broken output. Keep video_frames matched to the checkpoint you loaded.
Barely any motion, or a jittery mess. That's the motion_bucket_id / augmentation_level pairing. Too static → raise the motion bucket. Too chaotic or morphing → lower it, and back off augmentation. These two are where all the tuning time goes.
VRAM. SVD, especially the 25-frame model at higher resolution, is memory-hungry. If you're getting OOM, drop the resolution preset or the frame count first.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | 0 options: | |
| vae_name | COMBO | 1 options: Baked VAE | |
| clip_name | COMBO | 1 options: None | |
| init_image | IMAGE | — | |
| resolution | COMBO | 1024 x 576 | 31 options: width x height (custom), 512 x 512, 512 x 768, 576 x 1024, 768 x 512, 768 x 768, +25 |
| empty_latent_width | INT | 25616–16384 | — |
| empty_latent_height | INT | 25616–16384 | — |
| video_frames | INT | 141–4096 | — |
| motion_bucket_id | INT | 1271–1023 | — |
| fps | INT | 61–1024 | — |
| augmentation_level | FLOAT | 0.000–10 | — |
| optional_positiveopt | STRING | — | |
| optional_negativeopt | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| pipe | PIPE_LINE | — |
| model | MODEL | — |
| vae | VAE | — |