Sigmas GammaBeta
Reshape a noise schedule with the gamma and beta functions
- sigmas
- SIGMAS
The gamma and beta functions are the kind of thing you meet in a stats or special-functions course and rarely again - gamma generalizes the factorial to non-integers, beta is built from ratios of gammas and shows up constantly in probability distributions. Sigmas GammaBeta runs your noise schedule through one of five variants of these - plain gamma, plain beta, and the "incomplete" partial-integral versions of each, plus log-gamma - and hands back a reshaped schedule.
Why reshape a schedule with a special function at all
This sits in the same family as RES4LYF's other curve-shaping sigma nodes: Karras schedules concentrate denoising effort using a power-law curve, beta57 uses the beta distribution, and this node generalizes that idea to a wider menu of curve shapes drawn from special-function math rather than the handful of named schedulers ComfyUI ships. The pitch, implicitly, is more control over exactly how effort gets distributed across steps than a fixed scheduler dropdown offers - at the cost of picking values for functions most people haven't touched since a stats class.
The inputs and outputs that matter
sigmas(SIGMAS, required) - the schedule to reshape.function(enum:gamma,beta,incomplete_gamma,incomplete_beta,log_gamma; defaultgamma) - which special function drives the transform.offset(default0, range -10 to 10) andscale(default0.1, range 0.01–10) - shift and scale applied around the function, standard knobs for repositioning a curve.parameter_a/parameter_b(both default0.5, range 0.1–10) - the shape parameters that feed the chosen function. Forbeta/incomplete_betathese are the classic alpha/beta parameters (the same pair beta57 fixes at 0.5 and 0.7); for the gamma variants they likely control shape and rate, though the node doesn't document which does what for each function choice.normalize_output(defaulttrue) - rescale the result back into a usable sigma range after the transform, which you generally want left on.
Output is a single SIGMAS list.
Should you use this?
If you already know what you're doing with gamma and beta distributions, this gives you real, fine-grained control over a schedule's shape - more than the fixed beta57 preset offers, since you're free to pick your own alpha/beta instead of the pack's tuned 0.5/0.7. If you don't, I wouldn't start here. I found no community writeups or shared settings for this specific node, and the safer path to "a beta-distribution-shaped schedule" for flow-matching models is just using beta57 directly - it's the single most widely adopted piece of RES4LYF, with a known-good parameterization, while this node is the unguided general case behind it.
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 embeddedpip.exe). Restart.
Common issues & troubleshooting
Small changes to parameter_a/parameter_b can swing the curve a lot, especially near the low end of their range - these functions aren't linear in their parameters. Change one at a time and watch the shape with a preview node before committing to a render.
incomplete_gamma/incomplete_beta involve numerical integration under the hood, which is inherently more sensitive to edge-case inputs than the closed-form gamma/beta options. If you get NaNs or a schedule that collapses to near-constant values, try the non-incomplete variant first to confirm the base shape looks right, then switch back.
Always keep normalize_output on unless you have a specific reason not to. These functions can produce wildly different output magnitudes depending on the parameters, and an un-normalized result can leave you with a schedule whose sigmas are nowhere near the range your sampler expects.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| sigmas | SIGMAS | — | |
| function | COMBO | gamma | 5 options: gamma, beta, incomplete_gamma, incomplete_beta, log_gamma |
| offset | FLOAT | 0.0-10–10 | — |
| scale | FLOAT | 0.100.01–10 | — |
| parameter_a | FLOAT | 0.50.1–10 | — |
| parameter_b | FLOAT | 0.50.1–10 | — |
| normalize_output | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | — |