Nodes/ComfyUI-SA-Nodes-QQ/Image Blur_GPU (QQ)
ComfyUI Node

Image Blur_GPU (QQ)

Radial, directional, and gaussian blur with a cutout — the fake depth-of-field node

By siraxe·Created 11 months ago·Updated 2 days ago· 72
Image Blur_GPU (QQ)
  • image
  • mask
  • image
  • bg_image
moderadial
strength50.0
directional_angle180
center_x0.50
center_y0.50
num_samples30
mask_grow0.0
mask_blur0.0
char_str_mult1.00
char_blur1.00
bg_blur0.00
duplicate_char32
fill_cutouttrue

A generated Wan video of a person standing in a busy scene usually has one problem: everything is in focus, and real footage never is. ImageBlur_GPU is the fix - it blurs a video or image on the GPU in three modes (radial, directional, gaussian), and it has the feature that makes it actually usable for fake depth-of-field: a mask-based cutout that keeps the subject sharp while the background blurs. That's the whole "portrait shot" trick, in one node.

It's from siraxe/ComfyUI-WanVideoWrapper_QQ, the "(QQ)" Wan pack, and it's clearly built for the video-compositing side of that ecosystem - where you composite a sharp subject back over a defocused plate.

How it works

The three modes cover different jobs. radial blurs around a center point (set with center_x/center_y, normalized 0–1), falling off outward - good for vignette-style defocus or a moving-lens look. directional blurs along an angle (directional_angle, degrees) - that's your motion-blur/zoom aesthetic. gaussian is the plain uniform blur. Strength is a 0–100 slider, and num_samples (1–256, default 30) controls how many passes the radial/directional blur runs - more samples, smoother and slower.

The cutout path is where it gets interesting. Connect a mask and the node splits the work: the region inside the mask stays sharp (optionally with per-character blur parameters), and the background gets blurred. The extra controls - mask_grow, mask_blur, char_str_mult, char_blur, bg_blur, fill_cutout - fine-tune how the masked subject and background interlock. The two outputs are image (the composite result) and bg_image (the blurred background plate on its own), which is handy if you want to composite the sharp subject yourself with more control.

Inputs and outputs that matter

  • image - the IMAGE to blur.
  • mode - radial, directional, or gaussian.
  • strength - 0–100.
  • center_x/center_y - the focal center for radial mode.
  • directional_angle - blur direction for directional mode.
  • mask (optional) - keep the subject sharp, blur the rest.

Outputs: image and bg_image.

Installation

cd ComfyUI/custom_nodes
git clone https://github.com/siraxe/ComfyUI-WanVideoWrapper_QQ.git

Restart ComfyUI (or ComfyUI Manager → "WanVideoWrapper_QQ"). Pure torch - no extra deps, and the pack's requirements.txt is empty. As always post-v1.3.4, remove any old wanwrapper_qq folder after the pack renamed to ComfyUI-SA-Nodes-QQ.

Common issues

The single biggest beginner surprise: the strength values are mode-dependent because of internal dampening - radial and directional divide your strength by 5 internally, so a strength of 50 gives you a noticeable radial blur but you may need to push higher for the same visual in directional mode. It's tuned that way deliberately, but it reads as "the slider doesn't do anything" until you crank it. Also, num_samples is your quality/VRAM dial - 256 samples at 2K across a long frame batch will make your GPU unhappy; drop it for preview passes. And the mask workflow only engages when a mask is connected; without one, you just get a plain blur and the bg_image output is effectively the same as image.

CategoryWanVideoWrapper_QQ/image

Inputs (15)

NameTypeDefaultDescription
imageIMAGE
modeCOMBOradial3 options: radial, directional, gaussian
strengthFLOAT50.00–100
directional_angleFLOAT1800–360
center_xFLOAT0.500–1
center_yFLOAT0.500–1
num_samplesINT301–256
mask_growFLOAT0.00–30
maskoptMASK
mask_bluroptFLOAT0.00–50
char_str_multoptFLOAT1.000–3
char_bluroptFLOAT1.000–1
bg_bluroptFLOAT0.000–1
duplicate_charoptINT321–32
fill_cutoutoptBOOLEANtrue

Outputs (2)

NameTypeDescription
imageIMAGE
bg_imageIMAGE