This is the official repository for NaviCache: Test-Time Self-Calibration Caching for Video Generation, accepted to ICML 2026.
NaviCache is a training-free, offline calibration-free, test-time self-calibration caching method for accelerating video diffusion models. It calibrates itself during inference, tracks feature evolution with a lightweight state-space estimator, and adaptively decides whether to skip or compute DiT blocks.
- No offline calibration: no calibration datasets, pre-processing, or per-model fitting.
- Test-time self-calibration: the cache updates its feature-change estimator during inference.
- Plug-and-play acceleration: lightweight integration for Wan2.1, HunyuanVideo, and Open-Sora.
- Adaptive computation allocation: skip/update decisions are controlled by an uncertainty-aware gate.
- Strong speed-quality trade-off: multiple presets are provided for fast, mid, and slow modes.
- [May 2026] NaviCache was accepted to ICML 2026.
- [Coming Soon] arXiv preprint.
- [Coming Soon] Project page and demo videos.
If you find NaviCache useful, please consider citing:
@inproceedings{lv2026navicache,
author = {Zheqi Lv and Zhibo Zhu and Jinke Wang and Qi Tian and Shengyu Zhang and Zhengyu Chen and Chengxi Zang and Zhou Zhao and Fei Wu},
title = {NaviCache: Test-Time Self-Calibration Caching for Video Generation},
booktitle = {Proceedings of the 43rd International Conference on Machine Learning},
year = {2026},
publisher = {PMLR}
}The following paper figures are included as PDF files under assets/. No PNG previews are required.
| Figure | Description | Link |
|---|---|---|
| Figure 1 | Prediction accuracy comparison and offline calibration-free/test-time self-calibration characteristics | |
| Figure 2 | Overview of the NaviCache framework | |
| Figure 3 | Video generation case study | |
| Figure 4 | Skip frequency and compute ratio across timesteps |
We provide the generated videos from the Wan2.1 case study for direct comparison.
| Method | Video |
|---|---|
| Wan2.1 | wan.mp4 |
| TeaCache | wan_teacache.mp4 |
| MagCache | wan_magcache.mp4 |
| EasyCache | wan_easycache.mp4 |
| NaviCache | wan_navicache.mp4 |
For easier preview and quick visual comparison, we also provide clickable GIF previews below. Click each GIF to open the corresponding full video.
| Wan2.1 | TeaCache | MagCache | EasyCache | NaviCache |
|
|
|
|
|
| Model | Task | NaviCache entry point | Example scripts |
|---|---|---|---|
| Wan2.1 | Text-to-Video / Image-to-Video | NaviCache4Wan2.1/navicache_generate.py |
scripts/wan/ |
| HunyuanVideo | Text-to-Video | NaviCache4HunyuanVideo/navicache_sample_video.py |
scripts/hunyuan/ |
| Open-Sora 1.2 | Text-to-Video / Evaluation | NaviCache4OpenSora/eval/navicache/experiments/opensora.py |
scripts/opensora/ |
git clone https://github.com/HelloZicky/NaviCache.git
cd NaviCache
pip install -r requirements.txtFor Wan2.1 and HunyuanVideo, please first install the corresponding official repository and download the required model weights. The helper scripts below copy the NaviCache entry script into the official repository automatically when executed from the official repository directory.
The scripts/ directory contains three top-level launchers. Each top-level launcher calls model-specific run scripts in its corresponding subdirectory.
scripts/
βββ navicache_wan.sh
βββ navicache_hunyuan.sh
βββ navicache_opensora.sh
βββ wan/
β βββ run_wan_t2v_1.3b.sh
β βββ run_wan_i2v_480p.sh
βββ hunyuan/
β βββ run_hunyuan_544p.sh
β βββ run_hunyuan_720p.sh
βββ opensora/
βββ run_opensora_generate.sh
βββ run_opensora_vbench.sh
βββ run_opensora_common_metrics.sh
Run from the official Wan2.1 repository directory:
git clone https://github.com/Wan-Video/Wan2.1.git
git clone https://github.com/HelloZicky/NaviCache.git
cd Wan2.1
bash ../NaviCache/scripts/navicache_wan.shTo run a single Wan example instead of the top-level launcher:
cd Wan2.1
bash ../NaviCache/scripts/wan/run_wan_t2v_1.3b.sh
bash ../NaviCache/scripts/wan/run_wan_i2v_480p.shRun from the official HunyuanVideo repository directory:
git clone https://github.com/Tencent-Hunyuan/HunyuanVideo.git
git clone https://github.com/HelloZicky/NaviCache.git
cd HunyuanVideo
bash ../NaviCache/scripts/navicache_hunyuan.shTo run a single HunyuanVideo example instead of the top-level launcher:
cd HunyuanVideo
bash ../NaviCache/scripts/hunyuan/run_hunyuan_544p.sh
bash ../NaviCache/scripts/hunyuan/run_hunyuan_720p.shRun from the NaviCache repository root:
cd NaviCache
bash scripts/navicache_opensora.shTo run one Open-Sora stage at a time:
cd NaviCache
bash scripts/opensora/run_opensora_generate.sh
bash scripts/opensora/run_opensora_vbench.sh
bash scripts/opensora/run_opensora_common_metrics.sh| Model | Mode | NAVICACHE_THRESH |
NAVICACHE_ALIGN_STEPS |
|---|---|---|---|
| Wan2.1 | fast | 0.07 |
10 |
| Wan2.1 | mid | 0.05 |
10 |
| Wan2.1 | slow | 0.04 |
10 |
| HunyuanVideo | fast | 0.040 |
5 |
| HunyuanVideo | mid | 0.035 |
5 |
| HunyuanVideo | slow | 0.025 |
5 |
| Open-Sora 1.2 | fast | 0.55 |
5 |
| Open-Sora 1.2 | mid | 0.35 |
5 |
| Open-Sora 1.2 | slow | 0.15 |
5 |
All shell scripts expose common options through environment variables. For example:
cd Wan2.1
NAVICACHE_THRESH=0.07 NAVICACHE_ALIGN_STEPS=10 bash ../NaviCache/scripts/wan/run_wan_t2v_1.3b.shcd HunyuanVideo
PROMPT="A cinematic shot of a corgi running through a snowy forest." bash ../NaviCache/scripts/hunyuan/run_hunyuan_544p.shNaviCache provides a strong speed-quality trade-off across multiple video diffusion backbones.
| Model | Setting | Latency | Speedup | Notes |
|---|---|---|---|---|
| Wan2.1-1.3B | NaviCache-fast | 96.40 s | 2.23Γ | Fastest Wan2.1 setting |
| Wan2.1-1.3B | NaviCache-mid | 106.97 s | 2.01Γ | Balanced speed and fidelity |
| Wan2.1-1.3B | NaviCache-slow | 115.86 s | 1.86Γ | Highest visual retention among Wan presets |
| HunyuanVideo | NaviCache-fast | 928.45 s | 2.55Γ | Strong acceleration on long videos |
| HunyuanVideo | NaviCache-mid | 1089.43 s | 2.17Γ | Better PSNR/LPIPS than EasyCache at similar latency |
| Open-Sora 1.2 | NaviCache-mid | 35.29 s | 1.60Γ | Balanced Open-Sora setting |
Please refer to the paper for the full comparison with PAB, TeaCache, MagCache, and EasyCache.
NaviCache reformulates feature caching in video diffusion models as a test-time state estimation problem.
- Initial Alignment: run several full-computation steps to initialize the feature-change ratio and uncertainty.
- Test-Time Self-Calibration: track the relationship between input feature changes and output feature changes during inference.
- Uncertainty-Aware Skipping: skip computation when the accumulated predicted error is below a fidelity threshold, and perform a full update when the threshold is exceeded.
NaviCache/
βββ NaviCache4HunyuanVideo/ # NaviCache script for HunyuanVideo
βββ NaviCache4OpenSora/ # Open-Sora NaviCache evaluation and VideoSys modules
βββ NaviCache4Wan2.1/ # NaviCache script for Wan2.1
βββ assets/ # Paper figure PDFs
βββ scripts/ # Runnable helper scripts
βββ requirements.txt
βββ LICENSE
βββ README.md
If you find NaviCache useful, please consider citing:
@inproceedings{lv2026navicache,
author = {Zheqi Lv and Zhibo Zhu and Jinke Wang and Qi Tian and Shengyu Zhang and Zhengyu Chen and Chengxi Zang and Zhou Zhao and Fei Wu},
title = {NaviCache: Test-Time Self-Calibration Caching for Video Generation},
booktitle = {Proceedings of the 43rd International Conference on Machine Learning},
year = {2026},
publisher = {PMLR}
}We thank the contributors of Wan2.1, HunyuanVideo, Open-Sora, VideoSys, TeaCache, EasyCache, MagCache, and PAB for their excellent open-source work and inspiring research.
This project is released under the Apache License 2.0.
NaviCache accelerates video generation and may lower the cost of producing synthetic media. We encourage responsible usage and support the development of detection, watermarking, and provenance-tracking tools.