CogVideoX TeaCache
One dial to make CogVideoX render faster
- teacache_args
Video generation is slow, and most of that slowness is the model redoing work it already did. That's the problem this node exists to attack. You wire it into your CogVideoX workflow, it hands the sampler a caching policy, and your render gets faster with a small, tunable hit to quality. That's the whole pitch, and for once it mostly delivers.
TeaCache is a temporal caching trick for video diffusion. A CogVideoX render is dozens of denoising steps, and across many of those steps the model's output barely changes from one to the next. TeaCache watches for that - when a step is close enough to one it already computed, it reuses the cached result instead of doing the full transformer pass again. Skip enough near-duplicate steps and you claw back real time. The community's one-line summary from the Wan world, where the same technique lives, is exactly right: "smart temporal caching that skips redundant computation across similar frames. Moderate speedup with minor quality impact."
How it works, and the one dial
Here's the useful thing about this node: it has exactly one input, so there's nothing to get lost in.
rel_l1_thresh(default 0.3) - the similarity threshold. It measures how different the current step is from the cached one, and if the difference is under this number, the step gets skipped. Higher means it skips more aggressively - faster, but rougher, because you're reusing results that had drifted further from the truth. Lower is conservative: fewer skips, less speedup, cleaner output. The default 0.3 is a sane middle. If you want more speed and can tolerate softer motion, nudge it up toward 0.4–0.5; if faces or fine detail are smearing, bring it back down.
That's it. No presets to match, no device juggling - this is the stripped-down CogVideoX flavor, and the simplicity is a feature.
The single output is teacache_args (type TEACACHEARGS). It doesn't touch your model directly. You run it into the teacache_args optional input on the CogVideo Sampler, and the sampler applies the policy during its denoising loop. Nothing renders here; this node just packages a decision.
Where it fits
TeaCache is one of a small stack of acceleration levers for CogVideoX, and it's the low-effort one. The others - SageAttention (set at the model loader), torch.compile, dropping your step count - each buy speed too, and they stack. TeaCache is the one you can add in ten seconds without installing anything extra or touching your Python environment, which is why it's usually the first thing to reach for. FasterCache is the sibling if you want a different caching strategy; you generally pick one cache, not both.
Common issues & troubleshooting
Faces drift or motion gets mushy across the clip. This is the caching, not the model, and it's the known trade. Skipping work means occasionally reusing something that should have changed, and faces are where the eye catches it first. The Wan community's standing advice carries straight over: turning the cache off is the first thing to try when identity wobbles, not the last. If you want to keep the speed, lower rel_l1_thresh so it skips less.
No noticeable speedup. If you set the threshold very low, TeaCache barely skips anything and you paid for a rounding error. Push it up. And on very short renders (few steps, few frames) there just isn't much redundant work to skip - caching pays off most on longer, higher-step generations.
It errors or does nothing. Make sure the teacache_args output is actually connected to the sampler's optional teacache_args input, not left dangling. This node is inert on its own; the sampler is what reads and applies it.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| rel_l1_thresh | FLOAT | 0.300–10 | Cache threshold, higher values are faster while sacrificing quality |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| teacache_args | TEACACHEARGS | — |