Nodes/RES4LYF/Sigmas ArcCosine
ComfyUI Node Runs on cloud

Sigmas ArcCosine

Reshape a noise schedule with an inverse-trig curve

By ClownsharkBatwing·Created 2 years ago·Updated 22 days ago· 1,222
Sigmas ArcCosine
  • sigmas
  • SIGMAS
normalize_inputtrue
scale_outputtrue
out_min0.00
out_max1.00

Most scheduler choices in ComfyUI come down to picking a name off a list - Karras, exponential, beta, simple - each one a specific, well-tested curve for how noise level should move across your steps. Sigmas ArcCosine is part of a small family in RES4LYF (alongside Sigmas ArcSine and Sigmas ArcTangent) that lets you build a curve of your own by running an existing schedule through an inverse trigonometric function instead.

How it works

Arccosine takes an input in the range [−1, 1] and returns an angle. That domain restriction is why the node exposes normalize_input: turned on (the default), it rescales your sigma values into [−1, 1] before applying arccos, because feeding arccos anything outside that range is mathematically undefined and will produce NaNs. Once the function's been applied, the result is in radians - not a useful sigma range - so scale_output rescales it back into something usable, bounded by out_min and out_max (defaulting to 0–1).

The practical effect is a specific non-linear reshaping of your schedule's curve: arccosine's slope is shallow near the middle of its input range and steep near the edges, which is a different emphasis than what Karras or beta give you. Whether that's better for your model is genuinely untested territory - this isn't a curve the community has settled on the way it has beta57.

The inputs and outputs that matter

  • sigmas (SIGMAS, required) - the schedule to reshape.
  • normalize_input (default true) - rescale into arccosine's valid [−1, 1] domain before applying it. Leave this on unless you know your input is already in range.
  • scale_output (default true) - rescale the radian output into out_minout_max.
  • out_min / out_max (defaults 0 and 1) - the target range for the rescaled output.

Output is a single SIGMAS list.

How to install it

  • ComfyUI Manager - search "RES4LYF", install, restart.
  • Manual - activate your venv, cd ComfyUI/custom_nodes && git clone https://github.com/ClownsharkBatwing/RES4LYF, cd RES4LYF, pip install -r requirements.txt (portable builds use the embedded pip.exe). Restart.

Common issues & troubleshooting

Getting NaNs? Check normalize_input is on. Feeding raw sigma values (which are typically well outside [−1, 1] - a Flux schedule might run from ~1.0 down to 0, or higher depending on shift settings) directly into arccosine without normalizing is the single most likely cause.

Output values don't match your model's expected sigma range. out_min/out_max default to 0–1, which won't line up with every model's actual sigma scale. Set these to match whatever range your sampler expects, or the reshaped curve will effectively be the wrong denoise strength throughout the whole run.

No documented recipe. This isn't covered in the README beyond the general framing that the sigma-manipulation category is experimental, and I found no community discussion of anyone using it. Treat it as raw material for building your own schedule shape rather than a drop-in replacement for the scheduler your model's card actually recommends - that stock recommendation has real community mileage behind it and this doesn't.

CategoryRES4LYF/sigmas

Inputs (5)

NameTypeDefaultDescription
sigmasSIGMAS
normalize_inputBOOLEANtrue
scale_outputBOOLEANtrue
out_minFLOAT0.00-10000–10000
out_maxFLOAT1.00-10000–10000

Outputs (1)

NameTypeDescription
SIGMASSIGMAS