Image Filter
One Node That Replaces a Shelf of Photoshop Actions
- image
- image
imageFilter is the post-process Swiss Army knife of the zsq_prompt pack: color grading and one-shot filters in a single node. Want a grainy vintage look? Contrast knocked up and a sepia pass? A sketch version of an image to feed into a ControlNet lineart setup? This node does all of it without you wiring up five separate nodes.
How it works
It's Pillow under the hood, and it processes in a sensible order: hue shift first (via an HSV rotate), then contrast, brightness, saturation, gamma (a lookup-table correction), then per-channel Red/Green/Blue adjustments, and finally the filter itself. Order matters - the filter runs on the already-color-graded image, so you can stack a warm tone with a sketch effect in one pass.
The nine grading sliders are all floats, default 1.0, range 0–10: contrast, brightness, saturation, gamma, and the Red/Green/Blue channel multipliers. hue_shift goes −180 to 180 and does exactly what it says. Leave them at 1.0 and they're no-ops, so the node is safe to drop into a workflow and dial in later.
The filter menu
filter is where the fun is. Your options: EMBOSS, VINTAGE, SKETCH, CONTOUR, NOISE, SHARPEN, BLUR, EDGE, SEPIA, GRAYSCALE, INVERT, MedianFilter, or NONE to skip. A few stand out in practice:
VINTAGEandSEPIAare the ones people actually use to make generated images feel like photos.SKETCHandCONTOURproduce edge maps - feed those into a ControlNet canny/lineart-style setup as conditioning images instead of hunting for a separate preprocessor.MedianFilteris a light denoise, handy before an upscale step.
Output is a single image, with the pack's standard image_output (Hide/Preview/Save/Hide/Save) and save_prefix handling whether it shows up in the queue.
Gotchas
Noise and emboss are blunt instruments - they'll apply to the whole frame including faces. If you want to filter only part of an image you need a mask, which this node doesn't take; mask before it, or composite after. And remember the slider order: if you're doing a sketch effect you probably want saturation near 0 and the filter doing the heavy lifting, not both fighting.
Installing it
It's part of windfancy/zsq_prompt - search "zsq_prompt" in ComfyUI Manager, install, restart. Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/windfancy/zsq_prompt
then restart ComfyUI. The pack's requirements.txt pulls heavy packages (transformers, ultralytics, onnx) that this node never touches - those serve the pack's other, fancier nodes. And yes, Manager may show a "conflicting" warning next to zsq_prompt because the pack reuses very generic class names; the community's advice is to ignore that message unless you've actually installed the other pack it's complaining about.
Verdict
Overkill for "just add contrast," genuinely useful when you want the whole grading toolkit in one node. The VINTAGE/SKETCH presets alone justify the install if you do any styled or cinematic output.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| contrast | FLOAT | 1.00–10 | — |
| brightness | FLOAT | 1.00–10 | — |
| saturation | FLOAT | 1.00–10 | — |
| gamma | FLOAT | 1.00–10 | — |
| hue_shift | FLOAT | 0.0-180–180 | — |
| Red | FLOAT | 1.00–10 | — |
| Green | FLOAT | 1.00–10 | — |
| Blue | FLOAT | 1.00–10 | — |
| filter | COMBO | NONE | 13 options: NONE, EMBOSS, VINTAGE, SKETCH, CONTOUR, NOISE, +7 |
| image_output | COMBO | Preview | 4 options: Hide, Preview, Save, Hide/Save |
| save_prefix | STRING | ComfyUI | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |