AsymFlux2Scheduler
The custom schedule that makes AsymFLUX.2 cooperate
- SIGMAS
AsymFlux2Scheduler is a small node with one job: produce the exact sigma schedule the AsymFLUX.2 pixel-space model was trained with. You won't find it in the KSampler workflow you're used to - the AsymFlow workflow hands its sigmas to a SamplerCustomAdvanced node instead, with the sampler picked by a separate KSamplerSelect (the shipped graph uses dpmpp_2m). Think of it as "the scheduler" that ships inside this pack's workflow, pulled out so you can see it and change it.
If you're coming from flow-matching models you already know the shape of this: a timestep shift that warps a linear schedule. What's interesting here is that the shift isn't fixed - it scales with resolution.
How it works
The scheduler computes sigmas as shift * t / (1 + (shift - 1) * t) over linearly spaced timesteps from 1 down to 0, with a trailing zero. The trick is in how shift is chosen: it interpolates by the square root of the image's pixel count, starting at 17 for a 1024×1024 base and rising to 34 at 2048×2048. Bigger images get more denoising effort distributed early, which is exactly the behavior the AsymFLUX.2 model was trained around. Feed it your width and height and it sizes the schedule for you.
Three inputs, all integers: steps (default 38), width (default 1024), height (default 1024). One output: SIGMAS, which plugs into the sigma input of SamplerCustomAdvanced.
What to actually set
Honestly? The defaults, and matching width/height to the resolution you're generating at. The shipped workflow uses 32 steps at 1024×1024 - the node's default is 38, both work. AsymFlow is not a few-step technique; don't crank this down to 4 and expect the quality to hold. The pixel-space recipe wants the full schedule.
Two things trip people up:
- Resolution mismatch. If your EmptyImage/VAEEncode resolution doesn't match the width/height you feed the scheduler, the shift is computed for the wrong image size and the schedule is subtly off. Keep them in sync.
- Wrong sampler path. These sigmas are tuned for
SamplerCustomAdvanced. Feed them to a plain KSampler with a scheduler dropdown and you're bypassing the pack's intent - use the workflow's wiring.
Install
Part of the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/Lakonik/ComfyUI-piFlow
Restart ComfyUI (or install via ComfyUI Manager, search "ComfyUI-piFlow"). Requires ComfyUI 0.17.0+; the pack tracks latest ComfyUI and bumps the floor in current releases, so update before installing. No extra Python packages needed.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| steps | INT | 381–4096 | — |
| width | INT | 102416–16384 | — |
| height | INT | 102416–16384 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | — |