ADJUST (JOV) πΈοΈ
Sixteen image filters behind one βοΈ dropdown
- πΎ
- πΌοΈ
- π·
ADJUST (JOV) πΈοΈ is the pack's do-anything-to-an-image node. Sixteen filter operations behind one dropdown - blur, sharpen, emboss, edge finding, equalize, pixelate, posterize, quantize, and more - with a single consistent set of strength and blend controls. It's the node you reach for when you don't want five different filter packs installed for what is really one histogram tweak.
Jovimetrix reorganized this node more than once. The version with the 16-operation dropdown is the "merged" ADJUST; as of 2.1 the author split it into focused nodes (ADJUST: BLUR, ADJUST: EDGE, ADJUST: LIGHT, ADJUST: PIXEL, and so on). If your saved workflow references ADJUST (JOV) πΈοΈ, installing the current pack should still resolve it - but if ComfyUI reports it missing, those split nodes are the migration path.
The inputs that matter
Four controls, and only three of them will occupy you:
- βοΈ func - the operation, defaulting to BLUR. The 16 include the classics (GAUSSIAN_BLUR, MEDIAN_BLUR, SHARPEN, EMBOSS), the edge family (OUTLINE, FIND_EDGES), and the tonal ones (ADAPTIVE_HISTOGRAM, EQUALIZE) plus pixel-level effects (PIXELATE, QUANTIZE, POSTERIZE).
- 1οΈβ£ (INT, default 3, min 3) - the kernel radius for blur/emboss/edge operations. Bigger is stronger; there's no point going below 3.
- #οΈβ£ (FLOAT, default 1) - the effect amount/strength. 1 is full power, lower values soften the operation.
- π³ (FLOAT, default 0, 0β1) - how much the output is blended back toward the original. 0 means "apply it fully"; nudge this up when a filter looks too aggressive and you want a gentler result.
Outputs are πΌοΈ image and π· mask, both as lists. The mask output is the quiet killer feature: run OUTLINE or an edge filter and you get a matte you can feed straight into a compositor or a second pass, no separate edge-detection node required.
How it works
Every operation is plain image math - OpenCV convolutions and histogram transforms on a tensor, no inference involved. That means it's fast, it runs on batches, and it has zero model files to fetch. This is Jovimetrix at its core: procedural compositing utilities that slot between your sampler and your save node without caring what model produced the image.
Installing it
Part of the Jovimetrix pack:
- ComfyUI Manager - search "Jovimetrix" and install.
- Manual -
git clone https://github.com/Amorano/Jovimetrix.gitintoComfyUI/custom_nodes/, thenpip install -r requirements.txt.
Dependencies: numpy, OpenCV (opencv-contrib-python), Pillow, matplotlib, aenum, plus the author's cozy_comfyui / cozy_comfy libraries installed from GitHub. No model downloads. Needs ComfyUI 0.1.3+ and a recent frontend.
Where people get burned
The most common mistake is treating #οΈβ£ as a 0β1 slider and being confused when 1 still looks like a full blur - it is. The "blend toward original" π³ control is what softens things, and it's easy to miss since it sits last. Second: if you're coming from an old workflow, the func list grew and renamed over time (BLUR became the default, GAUSSIAN_BLUR is a separate entry), so a saved func value may not mean the same thing after an update. And like every renamed Jovimetrix node, budget a manual rewire when you upgrade - the author's README is upfront that renamed connections don't transfer. It's one of those packs where the author (Alexander Morano, u/Joviex) is genuinely responsive on GitHub issues if an update does break a filter, so report rather than rage.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| πΎopt | * | β | |
| βοΈopt | COMBO | BLUR | 16 options: BLUR, STACK_BLUR, GAUSSIAN_BLUR, MEDIAN_BLUR, SHARPEN, EMBOSS, +10 |
| π ‘opt | INT | 3 | β |
| #οΈβ£opt | FLOAT | 1.0 | β |
| π³opt | FLOAT | 0.000β1 | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| πΌοΈ | IMAGE | β |
| π· | MASK | β |