🐳滤镜调节V2
Six film-style effects that break the AI look, zero diffusion passes
- image
- IMAGE
The single cheapest move for making an AI render read as "photo" rather than "generated" is post-processing: a little vignette, a touch of film grain, a hint of chromatic aberration. The 🐳滤镜调节V2 node is one node that stacks exactly those moves. It's not AI - it's deterministic pixel work that OpenCV has done for decades, wrapped as a ComfyUI node. And that's the point: this kind of grading belongs in a node, not a re-gen, because a diffusion pass to fix "the image looks too clean" is a seed lottery you don't need to play.
This is the "advanced" half of the Pond filter pair. The base 🐳滤镜调节 does brightness, contrast, saturation, hue, blur, temperature, gamma. This V2 version does the cinematic six: vignette, chromatic aberration, noise, film grain, and bloom (with its own threshold).
The knobs, from most useful to fiddliest
- 胶片颗粒 (film grain) - the big one. 0 to 1, start around 0.2–0.4. The community consensus is that grain is the cheapest realism trick there is (post-processing docs call it "the single cheapest single move for breaking the 'AI look'"). If you only touch one slider, make it this.
- 晕影强度 (vignette) - darkens the corners via a radial gradient. Film emulations bake this in; a mild 0.1–0.2 on a portrait pulls the eye to center.
- 噪点强度 (noise) - raw sensor noise, up to 0.5. Grain and noise sound identical but look different; noise is finer and noisier, grain has that organic clump.
- 色差 (chromatic aberration) - red/blue channel shift, 0–10. That fringing you see on cheap lenses. A value of 1–2 adds "shot on a real lens" without looking broken.
- 泛光强度 (bloom) + 泛光阈值 (threshold) - the bloom pass blurs the bright areas (everything above
泛光阈值, default 0.8) and screens it back. High-key or neon shots live here.
All of them are per-batch - the node loops every image in the tensor, so a video frame sequence gets graded uniformly, which is exactly what you want for consistency.
Inputs and outputs
Input is image (IMAGE), and the six floats above. Output is one IMAGE. It's as simple as it looks. Wire your VAE-decoded image in, pipe the result to Save Image or a video encoder. Because every effect is conditional (each only runs when its value is above zero), you can use it as a single configurable grade node with defaults that do nothing.
Installing and using it
Part of the comfy_Pond_Nodes pack - Manager search "comfy_Pond_Nodes", or:
cd ComfyUI/custom_nodes
git clone https://github.com/Pondowner857/comfy_Pond_Nodes
cd comfy_Pond_Nodes && pip install -r requirements.txt
This node needs opencv-python for the bloom and aberration internals, so if you skipped the heavy optional deps, make sure opencv is present. It's a batch-safe, dependency-light node otherwise.
One honest caveat: this pack is a huge grab-bag and its advanced-filter names are a little arbitrary - V2 is "advanced" only in the sense of fancier effects, not better defaults. If you want a single well-tested filter node, WAS Node Suite and spacepxl's Image-Filters are the established picks. Reach for this one when you're already inside the Pond pack and want these six film effects in one place.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| 晕影强度 | FLOAT | 0.000–1 | — |
| 色差 | FLOAT | 0.00–10 | — |
| 噪点强度 | FLOAT | 0.000–0.5 | — |
| 胶片颗粒 | FLOAT | 0.000–1 | — |
| 泛光强度 | FLOAT | 0.000–1 | — |
| 泛光阈值 | FLOAT | 0.800–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |