🐳噪点调节
The anti-AI-look button, built like a camera sensor would
- image
- 图像
AI output is clean. Real photos aren't - and "clean" is exactly what reads as generated. The community's cheapest anti-detection move has always been adding grain back: real cameras and film have noise, AI output doesn't, and a subtle grain pass is the single fastest way to make a frame read as captured rather than synthesized. RealisticNoiseNode from 🐳 Pond Nodes (comfy_Pond_Nodes) is that move, but where most grain nodes give you one "intensity" slider, this one models noise the way a camera sensor actually produces it.
Display name "🐳噪点调节" - noise adjustment. It's a post-processing node, pure and simple: image in, noisier image out, no model involved.
How it works
Instead of one uniform random-noise dump, it decomposes noise into the physical sources a sensor mixes together:
- 光子噪声 (photon/shot noise) - the statistical grain from light itself; the fundamental noise that gets worse in shadows. This is the "realistic" component.
- 热噪声 (thermal noise) - sensor heating noise, more uniform.
- 读取噪声 (read noise) - the sensor's readout electronics; the baseline hiss.
- 颜色噪声 (color noise) - chromatic grain, the little colored specks you see in real high-ISO shots.
On top of that, ISO模拟 (100–12800) scales the whole thing the way cranking ISO does - higher ISO, more noise across the board - and 噪点强度 (0–2) is the overall volume knob. 保留细节 (0–1, default 0.7) protects edge detail so the grain doesn't smear fine texture into mush. An optional 种子 (seed) makes the noise pattern reproducible; -1 rolls a fresh one each run.
One output: 图像.
The inputs that matter, honestly
You'll touch three things most runs: 噪点强度 (start around 0.3–0.5 for subtle, and resist the urge to crank it), 保留细节 (leave at 0.7 or raise it - this is the dial that keeps faces from looking waxy with grain), and 种子 if you need the same noise twice. The per-source sliders are for when you specifically want shadow-heavy grain (raise 光子噪声) or color speckle (raise 颜色噪声). Defaults are sane for a first pass.
Installing it
Same pack install as everything else - 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
Restart, under 🐳Pond/image. Pure numpy/Pillow - no heavy deps needed. (And the standing pack note: a comfyui_HiDream-Sampler install can cause console spam.)
The gotcha
Subtlety is the whole game. The most common failure is the opposite of most nodes: people set grain too high and it reads as digital noise, which looks worse than the clean look they were escaping. Realistic noise is barely visible at full resolution - if you can clearly see it on a thumbnail, it's too much. And remember the two-sided nature of this trick: it works great on a final 4x upscale, but if you add it before upscaling, the upscaler will eat or exaggerate it. Grain last, right before output.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| 噪点强度 | FLOAT | 0.50–2 | — |
| 光子噪声 | FLOAT | 0.300–1 | — |
| 热噪声 | FLOAT | 0.200–1 | — |
| 读取噪声 | FLOAT | 0.100–1 | — |
| 颜色噪声 | FLOAT | 0.150–1 | — |
| ISO模拟 | INT | 800100–12800 | — |
| 保留细节 | FLOAT | 0.700–1 | — |
| 种子opt | INT | -1-1–4294967295 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| 图像 | IMAGE | — |