The SPEED sampler started as a speed trick for MiniMax H3 video. Version 2 turns it into ComfyUI-SPEED-Sampler, and it now speeds up image models too: MOSS Image and Krea 2.
The idea is simple. Early denoising steps only shape the rough layout, so SPEED runs them on a smaller latent and steps up to full size later. It needs no retraining and no new model files.
In the author’s tests, image renders got about 1.26-1.55x faster. This guide covers how it works, installing the nodes, the calibration step most people skip, settings per model, and fixes for the errors you will see.
- What: ComfyUI-SPEED-Sampler by StanLukuvka (formerly ComfyUI-MiniMax-H3-SPEED), based on Stanford’s Spectral Progressive Diffusion paper.
- Models: MiniMax H3 (Advanced nodes), MOSS Image and Krea 2 (new KSampler-style nodes). Flow models only.
- Speed (author’s numbers): MOSS Image 22 s to 14-18 s; Krea 2 283 s to 183-215 s; H3 video 1.16-1.58x on an L40S.
- Must do: run Sigma Harvest once per model/sampler/steps combo and paste the values. Left at 0, the node errors.
- Images: 3 stages, tolerance 0.05. Video: tolerance 0.005-0.01.
- Licence: PolyForm Noncommercial 1.0.0, so not for commercial use.
How SPEED Makes Sampling Faster
A diffusion model starts from noise and removes it step by step. The first steps decide big shapes and layout; fine detail only appears near the end.
SPEED (from the paper Spectral Progressive Diffusion by Howard Xiao, Brian Chao, Lior Yariv and Gordon Wetzstein) uses that. It runs the early steps on a smaller latent grid, which is much cheaper, then upsizes it for the later steps.
| Stages | Resolution per stage (fraction of full) |
|---|---|
| 2 | 0.5, then 1.0 |
| 3 | 0.33, 0.66, then 1.0 |
| 4 | 0.25, 0.5, 0.75, then 1.0 |
The tolerance (Delta) setting decides when each switch happens. A smaller value switches later, which is safer for quality but slower.
For H3 video, the audio track always stays at full resolution, so sound is not affected.
Real Speedups: Images and Video
These are the author’s measurements. I have not re-run them, and no independent test had been published at the time of writing.
| Model and settings | Normal | Automatic, 3 stages, tol 0.05 | Manual, 0.5x stage at half the steps |
|---|---|---|---|
| MOSS Image, 1344×768, 20 steps, CFG 5 | 22 s | 18 s (1.26x) | 14 s (1.54x) |
| Krea 2 fp8, 1216×832, 52 steps, CFG 3.5 (8 GB card) | 283 s | 215 s (1.31x) | 183 s (1.55x) |
For MiniMax H3 (5-second clip, 960×544, L40S), the plain run took 276-288 s:
| Tolerance | 2 stages | 3 stages | 4 stages |
|---|---|---|---|
| 0.005 | 238 s (1.16x) | 236 s (1.17x) | 227 s (1.22x) |
| 0.010 | 238 s (1.21x) | 226 s (1.27x) | 224 s (1.29x) |
| 0.050 | 206 s (1.40x) | 194 s (1.48x) | 182 s (1.58x) |
The repo also reported 2.41x on an earlier H3 clip on an RTX 5080. The author is clear that the gain depends on the clip, the GPU and the calibration.
Key point: SPEED stacks with other tricks. You can still use fp8 or GGUF models, SageAttention and few-step LoRAs on top.
Install the SPEED Nodes
- Open a terminal in your ComfyUI custom nodes folder:
cd ComfyUI/custom_nodes git clone https://github.com/StanLukuvka/ComfyUI-SPEED-Sampler - Install requirements with the Python that runs ComfyUI:
pip install -r ComfyUI-SPEED-Sampler/requirements.txtOn Windows portable, use
..\..\python_embeded\python.exe -m pip install -r ComfyUI-SPEED-Sampler\requirements.txt. - Restart ComfyUI.
- Load an example workflow from the repo’s
workflows/folder:image_moss_SPEED.json,image_krea2_SPEED.jsonorvideo_h3_SPEED.json.
Note: if you had the old ComfyUI-MiniMax-H3-SPEED pack, saved workflows still load. The old MiniMaxH3* node IDs stay registered as deprecated; swap them for the new SPEED nodes when you get a chance.
You also need the base models set up. See my MOSS-Image ComfyUI guide, the Krea 2 guide or the MiniMax H3 guide.
The Six Nodes and Which to Use
| Node | Family | Use it for |
|---|---|---|
| SPEED KSampler (Automatic) | KSampler | MOSS Image, Krea 2: normal use after calibration |
| SPEED KSampler (Manual) | KSampler | Images: you set the stage switch points yourself |
| SPEED KSampler Sigma Harvest | KSampler | Images: one-time calibration |
| SPEED Sampler Advanced (Automatic) | Advanced | MiniMax H3 video |
| SPEED Sampler Advanced (Manual) | Advanced | MiniMax H3 with your own switch points |
| SPEED Sigma Harvest Advanced | Advanced | MiniMax H3 calibration |
The KSampler-style nodes wire up just like ComfyUI’s KSampler: model, positive, negative and latent_image. The Advanced nodes replace SamplerCustomAdvanced in H3 graphs.
Step 1: Calibrate With Sigma Harvest
The Automatic nodes need two numbers, noise_amplitude and noise_decay_exponent, to know when to switch stages. Both default to 0 and the node errors until you fill them in.
- Set up the Sigma Harvest node with the same model, sampler, scheduler and step count you will render with.
- Connect its calibration output to a Preview Any node.
- Run once. It takes about as long as one normal full-size render.
- Read the report and copy noise_amplitude, noise_decay_exponent and Delta into the Automatic node.
- Check health: “good” (r² 0.7+) and “fair” (0.4+) are fine. “weak” warns you; “suspect” or “invalid” give no values, so change settings and re-run.
Re-run Harvest whenever you change the checkpoint, sampler, scheduler, step count or add a LoRA. For image-to-image, run Harvest on an empty latent.
The example workflows ship with values already filled in, which you can use as a starting point:
| Workflow | Sampler / scheduler | Steps | Stages | Delta | noise_amplitude | noise_decay_exponent |
|---|---|---|---|---|---|---|
image_moss_SPEED.json |
euler / sgm_uniform | 20 | 3 | 0.05 | 48.4075 | 1.0333 |
image_krea2_SPEED.json |
euler / simple | 52 | 3 | 0.05 | 9.7616 | 0.6308 |
video_h3_SPEED.json |
euler / simple | 20 | 3 | 0.005 | 35.4213 | 1.0126 |
Warning: these values only match those exact settings. If you use a LoRA, a different scheduler or fewer steps, run your own Harvest.
Step 2: Settings for MOSS Image, Krea 2 and H3
- Images: 3 stages and Delta 0.05. At 0.005, images gain almost nothing.
- Video: Delta 0.005 for quality, 0.01 for the “balanced” preset, 0.05 for “fast”.
- noise_policy coupled_full_grid: keeps the same composition for a seed. It saved 5-10% on H3 clips.
- noise_policy direct_coarse: changes the picture a little but saved 15-30% on H3.
- Steps: give every stage at least 2 steps, so 3 stages need at least 6.
If text or fine lettering looks wobbly, lower Delta towards 0.001 or drop a stage. If objects vanish or the prompt drifts with 4 stages, go back to 2 or 3.
Manual Mode: The Biggest Speedup
In the author’s image tests, the Manual node gave the biggest gain (about 1.55x) with one simple setup: a 0.5x stage that runs for the first half of the steps.
- Use SPEED KSampler (Manual) instead of Automatic.
- Set two stages: 0.5x resolution, then 1.0x.
- Put the switch at about half your step count (for example step 10 of 20).
- Compare with a normal KSampler at the same seed and keep it if the detail holds.
Manual mode needs no Harvest, which makes it a quick way to try SPEED. If you see “transition step must be inside the sigma schedule”, add steps or move the switch earlier.
Sampler Compatibility
| Sampler | Works? | Note |
|---|---|---|
| euler | Yes | Used in all example workflows |
| Most other samplers | Yes | Multistep samplers restart their history at each resolution change |
| SDE samplers | Yes | Different image than euler at the same seed |
| heun, dpm_2, dpmpp_sde | Yes, slower | Two model calls per step |
| dpm_fast, dpm_adaptive | No (H3) | Never finish denoising on H3, with or without SPEED |
| uni_pc, uni_pc_bh2 | Careful | Break when a stage gets only one step |
| *_cfg_pp (non-euler) | Careful | Need a negative prompt; use CFGGuider |
Only flow (CONST) models work. SDXL-style EPS and v-prediction checkpoints are rejected with an error. Masked denoising (noise_mask) is not supported either.
Troubleshooting
Error because noise_amplitude is 0
You have not calibrated. Run Sigma Harvest and paste its values, or use the Manual node.
Wrong node family error
Image models (MOSS Image, Krea 2) go on the KSampler nodes. MiniMax H3 goes on the Advanced nodes.
Model rejected as EPS or v-prediction
SPEED only supports flow models. SDXL and SD 1.5 checkpoints will not work.
“Transition step must be inside the sigma schedule”
Use more steps, or move your Manual switch points inside the schedule.
Blurry or wobbly text
Lower Delta towards 0.001, or use fewer stages.
Advanced node error with image-to-video
The Advanced nodes need an empty latent_image. For image-to-video, use H3’s keyframe conditioning instead of a filled latent.
No speedup at all
Check Delta. At 0.005 on images, switches happen so late that you save almost nothing; use 0.05 or Manual mode.
My Take
SPEED is a rare free speedup: no new model, no retraining, and it stacks with everything else. For MOSS Image, the Manual 0.5x trick is the easiest win to try first.
The calibration step feels fiddly, but you only do it once per setup. Just remember the noncommercial licence if you plan to use it for paid work.
FAQ
Which models does the SPEED sampler support?
MiniMax H3 video, MOSS Image and Krea 2 are the tested ones. Other flow (CONST) image models may work on the KSampler nodes; EPS and v-prediction models do not.
How much faster is SPEED?
The author measured about 1.26-1.55x on images and 1.16-1.58x on H3 video on an L40S, with one H3 clip reaching 2.41x on an RTX 5080. Your result depends on GPU, settings and calibration.
Does SPEED lower image quality?
At sensible settings the author reports layout and lettering hold up. Very aggressive settings (high Delta, 4 stages) can blur text or drift from the prompt.
Do I need to run Sigma Harvest every time?
No, only when you change the model, sampler, scheduler, step count or LoRAs. Manual mode skips it entirely.
Does SPEED reduce VRAM use?
Early stages use a smaller latent, but the final stage runs at full size, so peak VRAM is about the same as normal.
Can I use SPEED commercially?
No. The node pack uses the PolyForm Noncommercial 1.0.0 licence.
Does it work with SDXL?
No. SDXL is an EPS model, and SPEED only supports flow models.
