Ideogram 4 Scheduler (Fixed)
The Ideogram 4 Scheduler (Fixed) doesn't call any API — it just hands your sampler cleaner sigmas
- sigmas
The name reads like it should cost you an API key. It doesn't. "Ideogram 4 Scheduler (Fixed)" is a local math node - pure PyTorch, no login, no network call, nothing to pay for. It's a drop-in replacement for the stock scheduler in the sampling chain, and its whole job is to produce a SIGMAS tensor that steers how ComfyUI removes noise across your steps. If you run Ideogram 4 locally and have fiddled with its sampler presets, this is the "logit-normal timestep scheduler" part of that recipe, reimplemented with the edges trimmed.
Ideogram 4 shipped its 9.3B DiT weights in June 2026 with native ComfyUI support, and it expects a specific logit-normal schedule rather than a generic Karras or linear one. The stock ComfyUI scheduler computes it by mapping quantiles through the inverse normal CDF, but it includes the endpoints 0.0 and 1.0 - which map to ±infinity - so it has to clamp the output with hard-coded log-SNR limits. That's the thing this pack says it "fixes."
How it works
Open the source and the README story checks out. Instead of including the boundary quantiles, the node generates steps + 2 points and slices off the first and last with [1:-1], so the logits never blow up and nothing needs artificial clamping. Two consequences follow, both intentional:
- The first sigma is lower. The stock scheduler starts at effectively pure noise (
σ ≈ 0.9999); this one starts around0.94–0.97. The README's argument is that the very first fraction of absolute chaos doesn't build geometry, it just deposits chromatic grain, so skipping it reduces noise artifacts. - Your steps pack tighter. With the endpoints gone, all N steps compress into the active
0.05–0.95range where Ideogram actually decides composition, text and anatomy.
The resolution scaling is where beginners trip: the node shifts the distribution's center by μ + 0.5·ln(width·height / 512²), so it needs your output pixel dimensions, not latent ones. Feed it 1024×1024, not 128×128.
Inputs and outputs
Only five inputs, and you'll touch maybe three:
steps(default 20) - matches your sampler's step count. Same number, always.width/height- generation resolution, must be multiples of 16 (Ideogram 4's requirement, enforced by the node's step). Set these to what your VAE decode produces, or themushift lands wrong.mu(default 0.0) andstd(default 1.75) - the mean and spread of the logit-normal.stdis the useful knob: lower packs steps tighter toward the middle, higher spreads them out. Leavemuat 0 until you know why you're moving it.
Output is a single sigmas tensor (SIGMAS).
Installing it
There are no dependencies beyond torch (which ComfyUI already ships) and no model downloads. Either clone it:
cd ComfyUI/custom_nodes/
git clone https://github.com/Alexdnk/comfyui-ideogram4-scheduler-fixed
then restart ComfyUI - or search "Ideogram 4 Scheduler" in ComfyUI Manager and install from there. The whole pack is one file; if it's not in your node list after a restart, the restart didn't take.
The one gotcha that bites everyone
Because it lives in the sampling/custom_sampling category and emits SIGMAS, it doesn't drop into a plain KSampler with a scheduler dropdown. You wire it into the custom-sampling path: KSamplerSelect → this node → SamplerCustomAdvanced, with the sigmas output feeding the sampler's sigma input. In a workflow built from the official Ideogram 4 example this is already where the scheduler sits, so it's usually a straight swap. If your graph has no SamplerCustomAdvanced anywhere, that's why nothing changed after you installed it.
Also: this is Ideogram 4-specific. Slapping a logit-normal schedule on SDXL or Flux won't help - those models want their own schedulers, and flow-matching models in particular punish aggressive schedule reshaping. Use it where it's aimed.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| steps | INT | 201–10000 | — |
| width | INT | 102416–8192 | — |
| height | INT | 102416–8192 | — |
| mu | FLOAT | 0.000-10–10 | — |
| std | FLOAT | 1.750.01–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sigmas | SIGMAS | — |