ComfyUI Node

Motion Blur

Directional blur, just size and angle

By chrisfreilich·Created 2 years ago·Updated about a year ago· 93
Motion Blur
  • image
  • IMAGE
size100
angle0

Two knobs, one effect: this node smears an image in a single direction to simulate movement - a car speeding past, a swung punch, the sense that something in a still frame was actually in motion. It's the simplest node in the blur family, no depth map, no lens simulation, just size and angle. If you want to add a sense of speed to an otherwise static generation, this is the fast way to do it.

How it works

It's a directional blur kernel - instead of averaging each pixel with its neighbors in every direction like Gaussian blur, it smears along a single line defined by angle, with size controlling how long that streak is. The whole image gets the same treatment uniformly; there's no selective masking or depth awareness built into this node.

The inputs and outputs that matter

  • image - the picture to blur.
  • size (0–4096, default 100) - length of the motion streak. This is the strength control - bigger means a longer, more dramatic smear.
  • angle (0–360, default 0) - direction of the blur, in degrees.

Output is a single IMAGE.

How to install it

ComfyUI Manager: search Virtuoso Nodes for ComfyUI, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/chrisfreilich/virtuoso-nodes
pip install -r virtuoso-nodes/requirements.txt

Restart, find it under Virtuoso/Blur. No model files - this is lightweight, deterministic image math.

Common issues & troubleshooting

Blur looks too subtle or barely visible. size is in pixels, so its felt strength depends heavily on your image resolution - 100 pixels of streak reads as much stronger on a 512px image than on a 2048px one. Scale it up for higher-resolution images.

Wrong direction. angle is a straightforward 0–360° value, but it's easy to be off by 90° or reversed from what you expected depending on which axis you assumed 0° pointed along. If the smear runs vertical when you wanted horizontal (or vice versa), just adjust by 90° rather than guessing further.

You want the blur to only hit part of the image, like a moving subject against a sharp background. This node blurs everything uniformly - there's no mask input. Combine it with Blend Modes: run the blur on a duplicate of your image, then mask-blend the blurred version back over the sharp original only where you want motion.

You want distance-aware blur instead of a single uniform direction. That's Motion Blur with Depth Map - same directional idea, but varies the strength based on a depth map instead of applying it flat across the whole frame.

CategoryVirtuoso/Blur

Inputs (3)

NameTypeDefaultDescription
imageIMAGE
sizeINT1000–4096
angleINT00–360

Outputs (1)

NameTypeDescription
IMAGEIMAGE