Nodes/ComfyUI Stable Video Diffusion/Stable Video Diffusion Sampler
ComfyUI Node

Stable Video Diffusion Sampler

Where Stable Video Diffusion actually turns your image into motion

By thecooltechguy·Created 3 years ago·Updated 2 years ago· 371
Stable Video Diffusion Sampler
  • image
  • model
  • LATENT
motion_bucket_id127
fps_id6
cond_aug0.02
seed23
device

This is the engine of the pack. SVDModelLoader just reads weights off disk and SVDDecoder just converts the result to pictures - SVDSampler is the node that does the actual work of turning a still image into motion. It's the middle stage of the split pipeline (SVDModelLoader → SVDSampler → SVDDecoder), and it's where all the interesting knobs live. If you want to control how your clip moves, you're spending your time here.

For context: Stable Video Diffusion is Stability AI's November 2023 image-to-video model, their first video release. It was ahead of its time then and behind the times now - Wan 2.2 and LTX have long since eclipsed it. But if you're running SVD, this is the node that decides what you get.

How it works

The sampler takes your input image plus the loaded MODEL and runs the diffusion process that hallucinates a short video out of the single frame. Crucially, there is no text prompt - SVD is image-only conditioning. The model looks at your picture and invents plausible motion; you don't tell it "the clouds drift left," you can only turn a couple of global dials that bias how much and what kind of motion it dreams up. Output is a LATENT, the compressed video representation, which you hand to SVDDecoder to get viewable frames. You never look at the latent directly; it just travels down the wire.

The inputs that matter

The two required connections are image (your starting frame) and model (the MODEL from SVDModelLoader). Then the dials that actually change your output:

  • motion_bucket_id (default 127) - the big one. It runs 0–255 and controls how much motion the model adds. The community figured this out the hard way back in 2023: low values give you a barely-moving clip, high values crank everything up, and 127 sits deliberately in the middle of the range. This is your primary creative lever. If your video is too static or too frantic, this is the first thing to touch.
  • cond_aug (default 0.02) - conditioning augmentation, i.e. how much noise gets mixed into your source image before sampling. Low keeps the clip faithful to your input; raise it and the model takes more liberties (more motion and variation, less fidelity). Small changes go a long way - think 0.02 to 0.1, not 0.02 to 1.
  • fps_id (default 6) - the frame-rate the model conditions on. It's a conditioning signal baked into how SVD was trained, not literally your export FPS, and it interacts with perceived motion. The default is a sane starting point.
  • seed (default 23) - same story as image generation. SVD gives you no fine control over content, so the seed is genuinely how you roll the dice for a better take. Re-roll it when a generation looks wrong rather than assuming your settings are broken.

There's also device (cuda), which you leave on GPU. The single output is LATENT → straight into SVDDecoder.

How to install it

  • ComfyUI Manager - search ComfyUI Stable Video Diffusion (author thecooltechguy, of comfyworkflows.com), install, restart.
  • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/thecooltechguy/ComfyUI-Stable-Video-Diffusion, then cd ComfyUI-Stable-Video-Diffusion && python install.py, and restart.

The manual install.py is a custom installer that pulls Stability's dependency stack, so it's slower than a typical pack. And the sampler needs a loaded model, which needs weights: download the SVD checkpoints from HuggingFace into ComfyUI/models/svd/. Multi-gigabyte files - plan for the wait.

Common issues & troubleshooting

The clip barely moves, or thrashes around. motion_bucket_id, every time. It's the single biggest control over motion, and the extremes (near 0 or near 255) tend to fall apart. Work in the middle of the range and adjust in decent-sized steps.

It ignores what you typed. There's nowhere to type. SVD has no prompt input - the sampler conditions on your image alone. If you're coming from Wan or Hunyuan and expecting to describe the motion, that expectation doesn't map onto this model. Change the input image or the seed instead.

Same settings, wildly different results. That's the seed doing its job. Because you can't steer content directly, re-rolling seed is the intended way to fish for a good generation. Lock a seed you like before you start tweaking the other dials, so you're changing one thing at a time.

Raising cond_aug wrecked the likeness. Expected. More conditioning augmentation buys motion at the cost of faithfulness to your source frame. If the subject is drifting away from your input, pull cond_aug back down toward the 0.02 default.

CategoryComfyUI Stable Video Diffusion

Inputs (7)

NameTypeDefaultDescription
imageIMAGE
modelMODEL
motion_bucket_idINT127
fps_idINT6
cond_augFLOAT0.02
seedINT23
deviceCOMBO2 options: cuda, cpu

Outputs (1)

NameTypeDescription
LATENTLATENT