ComfyUI SPEED Now Speeds Up Image Models, Not Just MiniMax H3

ComfyUI Wikinews

ComfyUI-SPEED adds KSampler-shaped nodes so progressive-resolution sampling runs on MOSS Image and Krea 2 as well as MiniMax H3, with per-model calibration and new timings.

ComfyUI SPEED is the sampler pack formerly published as ComfyUI-MiniMax-H3-SPEED. The rename matches what the pack now does: the same progressive-resolution sampler runs on flow image models through KSampler-shaped nodes, next to the MiniMax H3 nodes it started with.
MiniMax H3 clip, native sampling on the left and SPEED 4-stage sampling on the right

Same seed and prompt, 5 second 960x544 clip on a Modal L40S. Left: plain sampling, 288s. Right: SPEED at tolerance 0.05 with 4 stages, 182s.

What the pack does

SPEED comes from Spectral Progressive Diffusion for Efficient Image and Video Generation by Howard Xiao, Brian Chao, Lior Yariv and Gordon Wetzstein at Stanford. The observation behind it: diffusion models build images roughly from low to high frequencies, so the early denoising steps are dominated by bands the model has not resolved yet. Running those steps at full resolution spends most of the compute on noise.

The pack applies that to ComfyUI without retraining. A run starts on a smaller grid, then steps the latent up to a larger grid as detail starts to matter. stages picks the ladder: 2 stages run 0.5 to 1.0, 3 stages run 0.33 to 0.66 to 1.0, and 4 stages run 0.25 to 0.5 to 0.75 to 1.0. Tolerance (Delta), noise_amplitude and noise_decay_exponent decide at which step each switch happens, and a smaller tolerance switches later: safer, but slower.

MiniMax H3 keeps its audio stream at full resolution no matter which stage the video stream is on.

What changed with the rename

The repository is now StanLukuvka/ComfyUI-SPEED instead of StanLukuvka/ComfyUI-MiniMax-H3-SPEED, and the changelog groups these under 2.0.0. When the pack was still H3-only this site covered its V2 sampler set.

  • Six nodes in two families. SPEED KSampler, SPEED KSampler (Manual) and SPEED KSampler Sigma Harvest take model, conditioning and a latent_image like ComfyUI's own KSampler and build the noise, guider, sampler and sigma schedule internally. The Advanced family keeps the SamplerCustomAdvanced wiring for MiniMax H3.
  • Flow image models. MOSS Image and Krea 2 run through the KSampler nodes. The pack rejects non-flow models such as EPS or v-prediction checkpoints with an error, in the samplers and in Harvest.
  • Image-to-image. denoise works as in KSampler: the first stage starts from the encoded image shrunk to that stage's size, and Automatic skips coarse stages that the shortened schedule has already passed.
  • Reference latents on edit models. Edit models that take reference_latents, such as Flux 3 Klein, used to see only the top-left corner of the reference at a coarse stage. The KSampler nodes now scale reference latents with each stage and restore them for the last one.
  • No baked-in defaults. noise_amplitude and noise_decay_exponent now start at 0 and stop with an error until you run a Harvest calibration. For base H3 with Euler the README lists reference values of 35.4213 and 1.0126.
  • Renamed nodes. The earlier MiniMaxH3* IDs stay registered as deprecated subclasses, so saved workflows still load and can be swapped one node at a time.

Sigma Harvest is where per-model calibration happens. It runs your sampler and schedule once at full resolution, without the SPEED chain, measures how the power of the residual falls with frequency, and fits P(ω) = A·|ω|^-β. Automatic then solves for each stage boundary from that fit, and Harvest reports r² and a health label (good at r² 0.7 or above, fair at 0.4, then weak, suspect and invalid) so you know whether the fit is worth trusting.

Measured speedups

The new H3 evidence replaces the earlier 10 second clip with a 5 second latte-art pour at 960x544, run on a Modal L40S with one Harvest calibration (A 35.4213, β 1.0126). Plain sampling took 288s in the tolerance 0.01 and 0.05 session and 276s in the 0.005 session, and each speedup is measured against its own session.

Tolerance2 stages3 stages4 stages
0.005238s (1.16x)236s (1.17x)227s (1.22x)
0.010238s (1.21x)226s (1.27x)224s (1.29x)
0.050206s (1.40x)194s (1.48x)182s (1.58x)

The same pair playing side by side: left is plain sampling, right is SPEED at tolerance 0.05 with 4 stages.

The author reports that none of the ten H3 clips has a colour flash, and that the pour, the latte art and the lettering survive every run. That is lower than the 2.41x the same repository reported for its previous H3 clip on an RTX 5080, so treat the multiplier as a property of the clip, the GPU and the calibration rather than of the method.

Image stills are much shorter runs, and the numbers are smaller:

ModelNativeAutomatic, 3 stages, tolerance 0.05Manual, 0.5x to half the steps
MOSS Image, 1344x768, 20 steps, CFG 522s18s (1.26x)14s (1.54x)
Krea 2 raw, fp8, 1216x832, 52 steps, CFG 3.5283s215s (1.31x)183s (1.55x)
MOSS Image, native on the left and SPEED 3-stage on the right

MOSS Image at 1344x768, same seed and prompt. Left: native, 22s. Right: SPEED 3-stage, 18s.

Krea 2, native on the left and SPEED 3-stage on the right

Krea 2 at 1216x832, 52 steps. Left: native, 283s. Right: SPEED 3-stage, 215s. The author notes the Krea 2 rows are single runs on an 8 GB card running a 13 GB model, so they vary by tens of seconds.

At a tolerance of 0.005 the harvested boundary lands inside the first few steps of an image schedule, which saves almost nothing, so the image workflows use 0.05.

Composition versus speed

noise_policy decides where the extra high-frequency detail comes from at each switch. coupled_full_grid reuses the noise field a plain SamplerCustomAdvanced run would use, so the same seed keeps the same composition, and on H3 clips it saved only 5 to 10 percent. direct_coarse draws its own fill: it changes the picture at a given seed, and it saved 15 to 30 percent on the same clips.

Workflows

The repository ships three example graphs, each with Harvest, Automatic and Manual nodes on one set of loaders and only Automatic active.

The H3 graph runs the Advanced nodes with Euler, simple scheduling at 20 steps, 3 stages and tolerance 0.005. The two image graphs run the KSampler nodes with Euler at 20 steps for MOSS Image and 52 steps for Krea 2, 3 stages and tolerance 0.05.

Limits

  • Only flow (CONST) image models are accepted, in the samplers and in Harvest.
  • noise_mask and masked denoising are not supported.
  • On the Advanced nodes the latent_image must start empty; image-to-video comes through H3 keyframe conditioning, which the pack resizes and restores itself.
  • Each stage is its own sampler call, so multistep samplers restart their history at every resolution change. Give every stage at least 2 steps.
  • Some samplers still misbehave on H3: dpm_fast and dpm_adaptive never finish denoising, and uni_pc breaks when a stage gets a single step.

Availability

The repository had collected 110 stars when this was written. The announcement ran in r/StableDiffusion; no independent reproduction of the image-model numbers had been published at the time of writing.

Comments

Sign in with GitHub to join the discussion.

Loading comments…
ComfyUI SPEED Now Speeds Up Image Models, Not Just MiniMax H3 | ComfyUI Wiki