Nodes/Comfyui-SynthidBypass/Synthid-Bypass-AdaptiveDenoise
ComfyUI Node

Synthid-Bypass-AdaptiveDenoise

One knob that sets your denoise from image resolution alone

By timothy692·Created 3 months ago·Updated 3 months ago· 0
Synthid-Bypass-AdaptiveDenoise
  • image
  • denoise
  • width
  • height
  • pixel_ratio
  • report
adaptive_level5
denoise_min0.080
denoise_max0.150

Denoise is the number you end up nudging by 0.01 until the image looks right, which is a terrible way to spend an evening. This node exists to take exactly one of those decisions off your hands: it reads your image's resolution and returns a denoise value tuned for it. No detection, no model swap, no SEGS - feed it an image, get a FLOAT out. It was built for the Synthid-Bypass workflow, where the amount of diffusion "re-nosing" you need scales with how many pixels you're scrambling, but the same logic applies to any img2img or upscale pass that should behave differently at 512×512 than at 4K.

How it picks the number

The math is pure resolution, with one calibration constant. It computes the image area in megapixels and maps it across a calibrated range: roughly 0.30MP lands on denoise_min, roughly 3.70MP lands on denoise_max, and anything in between interpolates. The adaptive_level input (1–10, default 5) is the one real knob - level 5 is the neutral calibration, levels above push denoise up (about +0.02 at level 10 on the default range) and levels below pull it down. That's it. Bigger canvas, bigger denoise; smaller canvas, lighter touch.

That's also the entire justification, in the bypass context: a small image gets fully scrambled at a low denoise, while a high-res render has the watermark pattern spread over far more pixels and needs a stronger pass to disrupt it without visibly wrecking the content. The node is the part of the workflow that stops you from hand-tuning that per image.

Inputs and outputs

Three inputs, all worth knowing:

  • image - any IMAGE; only its dimensions are used.
  • adaptive_level - the aggression dial. 5 is neutral; treat 1 and 10 as "very light" and "very strong" rather than good and bad.
  • denoise_min / denoise_max - the output band. Defaults are 0.08 and 0.15, tuned for the bypass workflow, so if you're using this for plain creative img2img you'll probably want a wider band.

Outputs: denoise (the FLOAT you wire into a KSampler, or into the denoise input of the Synthid-Bypass-Facedetailer), plus width, height, and pixel_ratio (relative to a 1MP / 1024² reference) if you want the raw numbers for another node. The report output is a STRING with the whole breakdown - dimensions, megapixels, normalized position in the calibrated range, level offset, and the final value. Wire it into a text preview node and you can see exactly why it chose what it chose, which is handy when you're explaining a number to yourself at 2am.

Installing it

Same pack as the rest of the Synthid-Bypass nodes, and ComfyUI Manager's "Install Missing Custom Nodes" won't pull it in - the README says to install manually:

cd ComfyUI/custom_nodes
git clone https://github.com/timothy692/Comfyui-SynthidBypass

then restart ComfyUI. The pack has no pip dependencies of its own; it does import Impact Pack modules at load, so keep ComfyUI-Impact-Pack installed or the whole pack fails to register. If the node isn't in your list after restart, check you didn't nest folders (Comfyui-SynthidBypass/Comfyui-SynthidBypass/ is the classic mistake).

Two honest caveats

First, it has no idea what's in the image - it's resolution math and nothing else, so don't expect face awareness. That's the Facedetailer's job; this node is the cheap front-end. Second, the defaults assume the bypass workflow's denoise band. Reused elsewhere, 0.08–0.15 is a light img2img range, so widen denoise_min/denoise_max before you trust it for creative work. As a helper it's genuinely handy; as a drop-in for all your denoise problems it'll need a few minutes of calibration first.

CategorySynthidBypass

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
adaptive_levelINT51–10
denoise_minFLOAT0.0800.0001–1
denoise_maxFLOAT0.1500.0001–1

Outputs (5)

NameTypeDescription
denoiseFLOAT
widthINT
heightINT
pixel_ratioFLOAT
reportSTRING