Step1X-Edit TeaCache Generate (2x faster)
Same Step1X-Edit node, roughly twice as fast
- model
- input_image
- image
Look at the inputs on this node and you'll think the README lied: they're identical to the plain Step1X-Edit Generate. Same prompt, same num_steps, same cfg_guidance, same size_level. The speedup isn't hiding in this node - it's in the model bundle you feed it. The TeaCache Generate is the sampling end of the pack's "2x faster" pair, and its one real job is knowing how to talk to the TeaCache model loader instead of the plain one.
If you want to run Step1X-Edit at all, this is honestly the node to reach for. The model is slow enough that the plain version is a "prove the install works" exercise, and TeaCache at its default threshold buys roughly 2x for quality loss the README calls minimal. You'll only notice the difference when the cache gets too aggressive and the edit gets mushy (more on that below).
How it works
TeaCache (the technique comes from the video-diffusion world, adapted here from the Flux implementation) attacks the redundant part of denoising. Between steps, the model's input changes only slightly, yet it recomputes the whole transformer residual every time. TeaCache measures that change - the relative L1 distance between the current step's modulated input and the previous one - accumulates it across steps, and when the running total stays under a threshold, it reuses the last computed residual instead of running the transformer again.
Two implementation details worth knowing. First, the first and last denoising steps always compute for real; skipping those would visibly wreck the image. Second, this node calls model.reset_teacache() at the start of each generation so the accumulator state doesn't leak between runs. The actual skip decisions happen inside the wrapped DiT that the loader produced - which is exactly why the two TeaCache nodes must stay paired. Plug a plain loader into this generate node and it'll crash on the missing reset_teacache call; plug the TeaCache bundle into the plain generate and it just silently runs with no caching.
The inputs that matter
Same set as the plain generate: model (must come from the TeaCache Model Loader), input_image, prompt and negative_prompt (both natural language, and yes, the negative genuinely steers CFG here), num_steps (default 28), cfg_guidance (default 6.0), seed, and size_level (the output canvas max, default 512). Output is a single image wire into Save/Preview.
The speed knob lives on the loader, not here. If your edits start looking like the model is phoning it in - details flattening, changes half-applied - the fix is to lower teacache_threshold on the loader side and rerun, not to touch anything on this node. Flip verbose on there too if you want to watch the console announce exactly which steps got cached; it's a great way to understand whether the cache is doing anything at all.
Installing and pairing
Same pack, same install as the plain node (see the Step1X-Edit Model Loader article - the flash-attn step is the one that gets you). The only difference is which two nodes you grab from the "Step1X-Edit" category: Step1X-Edit TeaCache Model Loader and Step1X-Edit TeaCache Generate. Keep them as a set. And remember the model is still ~31GB VRAM hungry without offloading - the cache makes it faster, not lighter.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| input_image | IMAGE | — | |
| prompt | STRING | — | |
| negative_prompt | STRING | — | |
| num_steps | INT | 281–100 | — |
| cfg_guidance | FLOAT | 6.00–20 | — |
| seed | INT | 42 | — |
| size_level | INT | 512256–1024 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |