Rankings survive caching
Cached and full-compute orderings agree closely, which is the only property search depends on. The draft the verifier scores costs about half of the sample it stands in for.
Test-time search only needs candidate rankings to survive acceleration. They do. So explore every candidate under aggressive caching, then re-generate only the winner at full compute.
1The University of Texas at Austin · 2Google, Inc. · 3University of Colorado Boulder
†Work done while at The University of Texas at Austin.
Eight drafts at half price, one full-compute delivery. The shipped video is a genuine full-compute sample, because the sampler is deterministic in its seed.
Every bar below is measured on Wan2.1-T2V-1.3B: a full rollout takes 68.3 s, a cached draft 34.7 s. Pick a search width to see what each strategy spends and how much of full search's reward gain survives.
measured operating points
At N = 8, recommit costs 8 cached drafts plus one full rollout.
One prompt per clip: an unlucky candidate on the left, the candidate CachedSearch selected on the right. Both are delivered at full compute, so search is only choosing between them. The figure is the reward gap in verifier units. Selected showcases; the aggregate is in the findings below.









Every candidate generated twice from identical seeds, once at full compute and once cached, then scored by the same verifier. Configured on a pilot grid and re-measured on the full suites.
Cached and full-compute orderings agree closely, which is the only property search depends on. The draft the verifier scores costs about half of the sample it stands in for.
Corruption concentrates on prompts whose candidates were nearly tied to begin with, exactly where choosing wrong costs least. Most prompts lose nothing at all, so the failure mode is self-limiting rather than compounding with search width.
The obvious alternative is fewer denoising steps per candidate. At a matched two-fold saving it does far worse, because a truncated rollout honestly samples a different, shorter-schedule distribution: its scores rank its own outputs, not the full-compute videos that commit will deliver. Caching perturbs the same seed-matched trajectory, which is exactly what search needs.
Every caching family we tested drops in unchanged and lands on one capture-versus-speedup frontier. Fidelity is set by how much compute you reuse, not by which mechanism reuses it, so a stack already running TeaCache or PAB keeps it and simply gains the explore-cheap structure.
| Exploration engine | Gain capture | End-to-end cost |
|---|---|---|
| No caching (full best-of-8) | 100.0% | 621 s |
| PAB | 99.5% | 493 s |
| FasterCache CFG-Cache | 99.6% | 465 s |
| TeaCache | 93.2% | 365 s |
| EasyCache (our default) | 90.1% | 346 s |
Keeping the cached draft instead of re-committing is cheaper still, but it dampens motion, and learned judges mildly prefer the dampened result. That is why commit is the default, and why our keep-mode claims rest on optical flow and LPIPS rather than judge scores.
CachedSearch wraps generation rather than replacing your model. The verifier defaults to ImageReward, the scorer behind every number here; pass your own to override it.
# pip install -r requirements.txt from cachedsearch import cached_search result = cached_search(pipe, prompt, n=8, tau=0.10) result.video # genuine full-compute sample result.seed # the winning seed result.total_seconds # about 63% of full best-of-8
The caching threshold is the one model-specific number. Fidelity tracks architecture family rather than parameter count, so calibrate once per family and reuse it across sizes.
| Model | Params | Family | τ | Capture | Speedup |
|---|---|---|---|---|---|
| Wan2.1-T2V-1.3B | 1.3B | Wan | 0.20 | 88.3% | 2.41× |
| Wan2.1-T2V-14B | 14B | Wan | 0.10 | 87.5% | 2.05× |
| Wan2.2-TI2V-5B | 5B | Wan | 0.10 | 86.0% | 2.05× |
| CogVideoX-5B | 5B | CogVideoX | 0.05 | 85.9% | 1.78× |
| HunyuanVideo | 13B | HunyuanVideo | 0.05 | 85.1% | 1.77× |
| LTX-Video | 2B | LTX | 0.02 | 79.6% | 1.71× |
@article{saini2026cachedsearch,
title = {CachedSearch: Training-Free Cached Exploration for Test-Time
Search in Video Diffusion},
author = {Saini, Shreshth and Birkbeck, Neil and Wang, Yilin and
Adsumilli, Balu and Bovik, Alan C.},
year = {2026},
note = {arXiv id to be added at release}
}
This work stands on open releases from the video generation community. We thank the teams behind Wan2.1, CogVideoX, HunyuanVideo, LTX-Video, TeaCache, PAB and VideoSys, FasterCache, EasyCache, ImageReward, VideoScore, and VBench.