Ideogram 4 Scheduler
The resolution-aware schedule Ideogram shipped with
- SIGMAS
When Ideogram 4's weights dropped in June 2026, they came with their own scheduler, and this is it. The Ideogram 4 Scheduler generates the model's reference noise schedule - a logit-normal curve with a resolution-dependent shift - so you don't have to guess which generic schedule makes the model behave. If you run Ideogram 4 through a plain KSampler with a stock scheduler, you're missing the point: this node is the schedule the model was tuned against.
It ships with ComfyUI core (comfy_extras/nodes_ideogram4.py), added the same day Ideogram published weights. Nothing to install.
How it works
The schedule is built from a logit-normal distribution over the noise levels, which is a fancy way of saying "the denoising effort is not spread evenly." Ideogram 4 does a lot of work slowly denoising at the beginning to nail composition, then finishes fast - the community's way of saying this is that you need a heavy shift because "this model does a lot of work slowly denoising at the beginning to get the composition right" (thread 1u54n04). The scheduler encodes exactly that shape.
The resolution-awareness is the interesting part. The schedule's mean is shifted by the log of your area:
width/height- your generation resolution. The node computes the log-SNR shift fromlog(width * height / (512 * 512)), so the samemumeans different things at different sizes. This is why you must set these to your actual output size - it's not just metadata.mu- the base shift of the schedule (default 0). Think of it as the Ideogram-4 equivalent of the shift knob on flow-matching schedulers: it trades early composition effort against late detail.std- the spread of the logit-normal curve (default 1.75). Wider = more even denoising; narrower = more concentrated.steps- 1–200, default 20. Ideogram's reported working configs sit around 28 steps at ~1.5MP.
Output is a SIGMAS tensor for SamplerCustomAdvanced.
The honest framing
For most Ideogram 4 workflows, you set width/height to your output size and leave mu/std at their defaults - they're the reference schedule, and the defaults were published with the model. The node is doing two real jobs: (1) producing the logit-normal shape no generic scheduler gives you, and (2) keeping that shape correct as you change resolution. That second one matters a lot, because Ideogram 4 is one of the models people push to 10+ megapixels in a single shot, and at those sizes the schedule shift is exactly what keeps the composition sane.
Where people get burned
- Using a generic scheduler instead. The "Ideogram 4 Ksampler rage bait" thread (
1u54n04) is the community trying Ideogram 4 through a regular KSampler and getting garbage at various CFG values. The fix isn't CFG - it's feeding the model its own schedule. - Not updating
width/height. The shift is derived from them. Run a 512x512 schedule at 5472x3264 and the early steps are wrong in ways you'll blame on the model. - Reading
mulike a CFG. It shifts sampling effort, not prompt adherence. If prompt adherence is the problem, the culprit is usually the prompt format (Ideogram 4 wants structured JSON prompting), not the schedule.
If you're not on Ideogram 4, skip this - a generic BasicScheduler is the right tool elsewhere. On Ideogram 4, this is the one to reach for.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| steps | INT | 201–200 | — |
| width | INT | 1024256–8192 | — |
| height | INT | 1024256–8192 | — |
| mu | FLOAT | 0.00-10–10 | — |
| std | FLOAT | 1.750.1–5 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | — |