Eric Qwen-Image Spectrum Accelerator
Same speedup trick as the edit side, now for text-to-image
- pipeline
- pipeline
Eric Qwen-Image Spectrum Accelerator is the generation-side twin of Eric Qwen-Edit Spectrum: a training-free speedup node you wire between the Qwen-Image loader and any generation node. Same CVPR 2026 idea - adaptive spectral feature forecasting via Chebyshev polynomial regression - applied to the text-to-image pipeline instead of the edit pipeline. It predicts the transformer's output on skipped denoising steps and only runs the real forward pass when the forecast would start to drift, claiming ~3-5× faster with minimal quality loss.
The input surface
pipeline- theQWEN_IMAGE_PIPELINEto accelerate. Required.enable- True default; flip to False for a pass-through A/B.warmup_steps(3) - initial steps that always run the full transformer so the forecaster has real data. 2-4 recommended.window_size(2) - base period between actual evaluations. 2 = every other step cached after warmup. Higher = more aggressive caching.flex_window(0.75) - how fast the window grows as denoising progresses. Later steps change less, so bigger windows are safe. 0 = fixed window.w(0.5) - blend between the Chebyshev predictor (w=1) and Newton forward-difference predictor (w=0). 0.5 equal blend, recommended.lam(0.1) - ridge regularization; higher = smoother predictions.M(4) - Chebyshev polynomial degree. Higher captures complex trajectories, risks overfitting with few data points.min_steps(15) - the auto-disable guardrail: ifnum_inference_stepsis below this, Spectrum does nothing.
Same pattern as the edit version: the config is attached to the pipeline and takes effect on the next run, and min_steps is the knob that quietly surprises people. An 8-step lightning-LoRA generation run is below the threshold - Spectrum silently disables itself, which is correct, because there aren't enough steps for forecasting to pay off.
Where the savings actually show up
The tooltip makes the arithmetic explicit: it's "best for ≥20 inference steps and true CFG runs (2× transformer passes per step → double the savings)." That's the whole economic case. Qwen-Image runs are slow because the 20B transformer does two full passes per step under true CFG - every step is really two. Spectrum skipping a step skips both passes. On a 50-step Generate or the 26-step refinement stage of Multi-Stage/UltraGen, that's the difference between waiting and iterating.
Where it does nothing useful: 8-step lightning runs (below min_steps), and low-step drafts like UltraGen's Stage 1 at 15 steps (right at the threshold, marginal). If you're seeing no change, check your step count before you blame the node.
Tuning when quality drops
If artifacts appear mid-run, the dials, in order of what you should actually touch:
flex_windowdown toward 0 - more real evaluations, less prediction. The single most effective quality lever.warmup_stepsup to 4 - give the forecaster more real data before it starts guessing.Mdown to 3 - simpler polynomial, less overfit.
Defaults are honestly fine for most work; treat the knobs as "only when I see artifacts" territory, not things to fiddle preemptively.
The honest framing
Spectrum is the pack's flagship party trick ("no other ComfyUI node set ships this") and it does work - but it's acceleration on a model that's already slow, not a miracle. On consumer hardware the 20B generation pipeline will still feel heavy with Spectrum on; the node makes it bearable. It's also the kind of "training-free" technique where results vary by content - pattern-heavy, high-frequency images stress the forecaster more than smooth gradients, so keep an eye on your first few outputs before trusting it at scale.
Install: ComfyUI Manager search "Eric Qwen Edit", or git clone https://github.com/EricRollei/Eric_Qwen_Edit_Experiments into custom_nodes/ and restart. It's a config node - no model of its own; it just rides on the Qwen-Image pipeline from the loader.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| pipeline | QWEN_IMAGE_PIPELINE | — | |
| enable | BOOLEAN | true | Enable/disable Spectrum acceleration. |
| warmup_stepsopt | INT | 31–20 | Number of initial denoising steps that always run the full transformer. More warmup = better forecaster initialization but less speedup. 2–4 recommended. |
| window_sizeopt | INT | 22–10 | Base period between actual transformer evaluations (in steps). window_size=2 means every other step is cached after warmup. Higher = more aggressive caching. |
| flex_windowopt | FLOAT | 0.750–2 | Window growth rate — the window_size increases by this amount after each actual eval. Later diffusion steps change features less, so larger windows are safe. 0 = fixed window. |
| wopt | FLOAT | 0.500–1 | Blend weight between Chebyshev predictor (w=1) and Newton forward-difference predictor (w=0). 0.5 = equal blend (recommended). |
| lamopt | FLOAT | 0.100.001–10 | Ridge regularization for Chebyshev regression. Higher = smoother predictions, lower = more responsive to recent data. |
| Mopt | INT | 41–8 | Chebyshev polynomial degree. Higher M captures more complex feature trajectories but risks overfitting with few data points. |
| min_stepsopt | INT | 155–100 | Spectrum auto-disables when num_inference_steps < min_steps. Low step counts (e.g. 8-step lightning LoRA) don't benefit. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| pipeline | QWEN_IMAGE_PIPELINE | — |