Focus
Soft-focus portraits and rescued sharpness in one tiny node
- image
- mask
- image
- mask
- focus_info
x1Focus is the smallest node in this review and it knows it. It does two things - blur and sharpen - with two knobs, and it doesn't pretend to be anything fancier. Sometimes that's exactly what you want: a node that's too simple to argue with.
It's part of MKRShift Nodes by Cris K B, under MKRShift Nodes/VFX/Photo.
How it works
blur_radius is a plain Gaussian blur (in pixels, default 0 = off). Crank it to defocus a subject, soften skin, or fake a shallow depth of field on a portrait background. sharpen (default 0) is an unsharp-mask style sharpening - the classic blur, subtract to isolate detail, add it back scaled by amount, which the post-processing KB explains as the one true recipe for "sharpen." Since it's a single node, you can do the trick people actually need: a slight sharpen (0.3–0.6) to rescue a soft generation, or a moderate blur for dreamy focus.
That's the whole node. Both settings live in the settings_json input, defaulting to {"blur_radius":0.0,"sharpen":0.0,"mask_feather":12.0,"invert_mask":false}, with an optional mask input so you can blur only the background or sharpen only the eyes. Outputs are image, mask, and a focus_info string.
The only two knobs
blur_radius- Gaussian blur radius in pixels.sharpen- unsharp-mask amount.
Plus the standard mask / mask_feather / invert_mask trio.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/criskb/MKRShift_Nodes
Restart ComfyUI, or install via ComfyUI Manager (search MKRShift_Nodes). No requirements.txt, no models.
When you'd bother
If you already own a blur node and a sharpen node, you can skip this one - it's a convenience, not a breakthrough. But if you want the two operations in one node with a shared mask (blur the background, sharpen the subject, one wire), it saves you a node and a wiring step. The honest gotcha: this is a Gaussian blur, which smears edges - if you're denoising skin you want the pack's x1DenoiseDetail (edge-preserving), not this. Use x1Focus for intentional softness, not cleanup, and it'll never disappoint.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| settings_json | STRING | {"blur_radius":0.0,"sharpen":0.0,"mask_feather":12.0,"invert_mask":false} | — |
| maskopt | MASK | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |
| focus_info | STRING | — |