CFE Scheduler
The noise schedule as its own node, for when you want to reuse it
- model
- sigmas
A normal KSampler hides its noise schedule inside itself. You set steps, denoise, and a scheduler name, it builds the sigmas, and it burns through them in the same breath. CFE Scheduler does the opposite: it builds the sigmas and hands them to you, so you can feed the exact same schedule into any sampler that takes a SIGMAS input.
That sounds niche until you want to A/B two samplers on an identical noise schedule, or you're using the pack's own CFE FLUX Sampler, which requires sigmas as an input. Instead of hand-rolling the schedule, you set it once here and reuse it.
How it works
The math is standard ComfyUI sigma construction, lifted into its own node. It reads your model's model_sampling object, calls ComfyUI's calculate_sigmas with your scheduler name and step count, then slices off the tail. The denoise value does the same job it does in a KSampler: at 1.0 you get the full schedule; below that you get a shorter one, which is how img2img keeps the image's structure. If denoise is 0 it emits an empty sigma list - ComfyUI's way of saying "don't sample at all."
The inputs:
model- the model you'll actually sample with, because the sigma calculation needs that model's specific sampling configuration.scheduler- here's the trap. This is a free-text string, defaulting toeuler, not a dropdown. Typo a scheduler name and ComfyUI throws at runtime. The pack's sibling node,CFE Sigma Scheduler, uses the proper dropdown; this one just trusts you.steps- default 20.denoise- default 1.0.
The single output, sigmas (SIGMAS), wires into any sampler that accepts a SIGMAS input - the pack's CFE FLUX Sampler or ComfyUI's SamplerCustom.
What to actually feed it for Flux
The pack is Flux-flavored, and Flux has opinions here: Euler on a normal or beta schedule, 20–30 steps, and never Karras. Karras aggressively reshapes the schedule to concentrate denoising mid-run, which is a correction for the curved trajectory of SD 1.5 and SDXL, but a distortion on a straight flow-matching trajectory. People run it anyway, get mushy results, and blame the model. Don't. Type euler (or normal for the classic Flux look) and leave the adventurous scheduler names to the sampler-sweep crowd.
Installing it
CFE Scheduler ships in ctefer/CFE_comfyui, a small personal pack with no dependencies beyond ComfyUI itself. Install through ComfyUI Manager (search "CFE" - pack title CFE_comfyui) and restart, or clone manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ctefer/CFE_comfyui
There's no requirements.txt and no model files to fetch. The honest caveat from the author's README: this is a personal-playground pack with no support guarantees, so if you're hitting a wall, check your scheduler spelling before you blame the node.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The model used for denoising the input latent | |
| scheduler | STRING | euler | The name of the scheduler being used |
| steps | INT | 201–10000 | — |
| denoise | FLOAT | 1.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sigmas | SIGMAS | — |