๐ค Pinch
The Photoshop filter that still earns its place in ComfyUI
- image
- IMAGE
You know that filter where the center of the image bulges up at you like a bubble, or sucks inward like a drain? That's Pinch, and this node is the ComfyUI version of it. It's a one-trick distortion - it warps the pixels around a point instead of regenerating anything - which makes it sound boring and makes it genuinely useful. AI images come out of the sampler geometrically "clean," and real lenses and real footage are not, so a targeted warp is a quick way to fake lens character or just mess with a composition.
This one comes from the same author as the rest of the Image Effects pack (orion4d), a 32-node collection that also gives you Spherize, Ripple, and Fisheye under Deformation. Pinch is the sibling you reach for when you want something more local than a whole-lens distortion: slimming a chin, exaggerating a nose tip, putting a "bulge" on a logo, or making a face look slightly wide-angle. People who do portrait work in ComfyUI usually end up here for touch-up warps that LoRA or inpainting would be overkill for.
How it warps
The math is a radial remap: it builds a lookup map for every pixel, then samples the image through OpenCV's remap. Positive strength pulls pixels toward the center - the classic "pinch" that magnifies whatever sits at the middle. Negative strength pushes them outward, which reads as a bulge or indentation. The radius decides how far from the center the effect reaches; beyond it, the image is untouched.
The controls that actually matter:
- strength (default 0.5, range โ2 to 2) - the whole point. Positive pinches inward, negative bulges outward. Keep it under 1 for anything that should still look like a photograph.
- radius (default 0.5) - how wide the affected zone is, as a fraction of the image's smaller dimension.
- center_x / center_y - move the warp off-center. Set these to place a bulge exactly on a face without cropping first.
- falloff (default 0.5) - the softness of the transition between warped and untouched. Low values give a hard-edged bubble; high values spread the warp out gradually.
Output is a single IMAGE, so it chains into anything downstream - including another deformation node, if you want a pinch and a ripple stacked for maximum weirdness.
Where it trips people up
Two things to know before you queue a big batch. First, this is CPU math in pure Python - it rebuilds a coordinate map with a per-pixel loop, and at 1024ร1024 that's a million iterations per run. Expect a visible pause; it's normal, not a hang. Second, like every effect node in this pack, it only processes the first frame of whatever tensor you feed it. A video or a batch of four images means the other three silently don't get pinched. Fine for single shots, a trap for anything animated.
Install
ComfyUI Manager: search ComfyUI-Image-Effects. Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/ComfyUI-Image-Effects.git
cd ComfyUI-Image-Effects
pip install -r requirements.txt
Restart, and it's under right-click โ Add Node โ Image Effects. No models, no weights, no downloads - it's numpy and OpenCV doing all the work, so it runs anywhere.
One install note that applies to the whole pack: the requirements.txt lists some heavy optional stuff (a cupy-cuda11x line, torch, scikit-image) that the actual node code never imports. If pip chokes on those, you can install just numpy opencv-python scipy Pillow - torch already ships with ComfyUI - and these nodes run fine.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | โ | |
| strength | FLOAT | 0.5-2โ2 | โ |
| radius | FLOAT | 0.500.1โ1 | โ |
| center_xopt | FLOAT | 0.500โ1 | โ |
| center_yopt | FLOAT | 0.500โ1 | โ |
| falloffopt | FLOAT | 0.50โ1 | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | โ |