๐ต Spherize
Bubble out a face or concave a planet
- image
- IMAGE
Spherize is the big-swing cousin of Pinch. Where Pinch gives you a controlled local warp, Spherize pushes the whole region outward into a convex bubble or sucks it inward into a concave dimple - the "fisheye-to-the-max" look, or the reverse, like you're looking into a bowl. Think of those meme images where a face balloons out, or the classic "small planet" and "hollow planet" distortions. This is that, as a node.
It's one of the Deformation effects in orion4d's Image Effects pack, sitting next to Pinch, Ripple, Fisheye, and Barrel Distortion. If you want the same family but with the option to warp in one axis only, Spherize also has a cylindrical mode - a partial escape from full spherical distortion that's closer to what a real anamorphic lens does.
How the balloon inflates
Same skeleton as the other deformation nodes: build a per-pixel coordinate map, then sample through OpenCV's remap. For each pixel inside the radius, it normalizes the distance from center and applies a power curve. Positive strength pushes pixels outward along their angle from center - the bulge - while negative strength pulls them inward for the concave effect. The radius sets the size of the affected zone, and mode switches between the full 360ยฐ sphere and the cylindrical variant that only deforms along one axis.
The inputs you'll set:
- strength (default 0.5, โ2 to 2) - the amplitude of the bulge or indent. Around 1.0 a face starts to look genuinely round; โ1 is a clear "inward bowl."
- radius (default 1.0, up to 2) - how much of the frame the sphere covers. The default already spans the whole image's shorter dimension, which is why the effect is so obvious at default settings.
- center_x / center_y - move the sphere off the middle, e.g. onto a subject that isn't centered.
- mode -
spherizeorcylindrical. Cylindrical warps like the image is wrapped around a barrel rather than a ball.
Output is a single IMAGE.
The trade-offs to know
Because the default radius is huge, the whole frame warps at default settings - people who want a subtle touch-up should drop strength to 0.1โ0.3 rather than fighting the radius. The outer edges of the sphere pull pixels past the border, and like the rest of this pack the node reflects edges to fill them, which shows up as mirrored streaks in the corners. And the pack-wide caveats apply: CPU-only, per-pixel Python loop (so a 1024ร1024 pass takes a noticeable beat), and only the first frame of a batch gets processed. This is a single-image node.
Install
ComfyUI Manager: search ComfyUI-Image-Effects. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/ComfyUI-Image-Effects.git
cd ComfyUI-Image-Effects
pip install -r requirements.txt
Restart, then right-click โ Add Node โ Image Effects โ Spherize. No models, no downloads - plain numpy/OpenCV on CPU. If the full requirements.txt complains about optional extras (there's a cupy-cuda11x line the node code never touches), numpy opencv-python scipy Pillow is all these nodes actually need.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | โ | |
| strength | FLOAT | 0.5-2โ2 | โ |
| radius | FLOAT | 1.00.1โ2 | โ |
| center_xopt | FLOAT | 0.500โ1 | โ |
| center_yopt | FLOAT | 0.500โ1 | โ |
| modeopt | COMBO | spherize | 2 options: spherize, cylindrical |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | โ |