TAVR / README.md
heygen-zujin's picture
Release cross-scene benchmark data (benchmark_data.json); update README
07badfe
|
Raw
History Blame Contribute Delete
5.03 kB
---
license: apache-2.0
language:
- en
base_model:
- Wan-AI/Wan2.1-T2V-14B
pipeline_tag: image-to-video
tags:
- Talking Avatar
- Audio-Driven Video Generation
- Video Reference
---
<div style="display:flex;align-items:center;justify-content:space-between;gap:16px"><span style="font-size:2em;font-weight:600;line-height:1.25">TAVR</span><picture style="flex:none"><source media="(prefers-color-scheme: dark)" srcset="https://huggingface.co/HeyGenAI/TAVR/resolve/main/assets/heygen-logo-white.png"><img src="https://huggingface.co/HeyGenAI/TAVR/resolve/main/assets/heygen-logo-black.png" alt="HeyGen Research" style="height:44px;display:block"></picture></div>
<p align="center">
<a href="https://arxiv.org/abs/2604.27918"><img src="https://img.shields.io/badge/arXiv-2604.27918-b31b1b.svg" alt="arXiv"></a>
<a href="https://gseancdat.github.io/projects/TAVR.html"><img src="https://img.shields.io/badge/Project-Page-1f6feb.svg" alt="Project Page"></a>
<a href="https://github.com/heygen-com/TAVR"><img src="https://img.shields.io/badge/GitHub-heygen--com%2FTAVR-181717.svg" alt="GitHub"></a>
<a href="https://www.apache.org/licenses/LICENSE-2.0"><img src="https://img.shields.io/badge/License-Apache%202.0-3da639.svg" alt="License"></a>
</p>
<p align="center">
<b>Generate Your Talking Avatar from Video Reference</b>
</p>
<p align="center">
<b>Accepted to SIGGRAPH Asia 2026</b>
</p>
> [!IMPORTANT]
> **This is not a drop-in Wan2.1 checkpoint.** It is a TAVR transformer with 18 input channels
> and its own reference and audio conditioning, and it needs four companion models at inference
> time (Wan VAE, umT5, wav2vec 2.0, and a person detector plus a pose model) that are not bundled
> here. A stock `diffusers` Wan2.1 pipeline will not produce correct results.
>
> Run it through the released inference code: **https://github.com/heygen-com/TAVR**
## Model Description
TAVR replaces single-image avatar references with short video clips, enabling cross-scene
generation with significantly better identity preservation. A three-stage training strategy
bridges the domain gap between reference and target scenes.
## Model Details
| | |
|---|---|
| Base model | [Wan-AI/Wan2.1-T2V-14B](https://huggingface.co/Wan-AI/Wan2.1-T2V-14B) |
| Input | reference video, target still, caption, driving audio |
| Output | 896x480, 25 fps, driving audio muxed in |
| Sampler | UniPC, 24 steps, flow shift 5.0; text guidance 5.0, audio guidance 1.8 |
| Reference frames | Flexible (default 20) |
| Precision | `bfloat16` |
| Hardware | one Hopper-class CUDA GPU with at least 80 GB of memory |
## Usage
```bash
git clone https://github.com/heygen-com/TAVR
cd TAVR
python3.10 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu126
hf download HeyGenAI/TAVR --local-dir ./ckpt
PYTHONPATH=. python infer.py \
--sample-dir samples/example1 \
--dit-ckpt ckpt/tavr_transformer.safetensors \
--ckpt-dir . \
--output-dir outputs
```
`flash_attn_3` has no PyPI wheel and is the only attention backend; it and the companion models
are set up as described in the
[repository README](https://github.com/heygen-com/TAVR).
## Evaluation
Qualitative results and comparisons against baselines are on the
[project page](https://gseancdat.github.io/projects/TAVR.html).
On the cross-scene benchmark, TAVR yields the best identity similarity and an overall quality
score of 16.42 against 14.13 for the next best method.
### Cross-scene benchmark data
`benchmark_data.json` lists the 158 reference/target pairs of the cross-scene benchmark. The clips
come from the public [TalkVid](https://github.com/FreedomIntelligence/TalkVid) dataset. Each sample has:
| field | content |
|---|---|
| `reference`, `target` | `video_id`, `video_url`, `start_time` / `end_time` (seconds), `start_frame` / `end_frame` at the source `fps`, `width`, `height` |
| `target_caption` | scene caption used as the text prompt |
## Release Progress
- [x] Model weights
- [x] Inference code
- [x] Cross-scene benchmark data
## Citation
```bibtex
@inproceedings{guo2026generate,
title={Generate Your Talking Avatar from Video Reference},
author={Guo, Zujin and Ye, Zhenhui and Ren, Yi and Li, Yuanming and Chen, Ce and Hong, Zhibin and Loy, Chen Change},
booktitle={SIGGRAPH Asia 2026 Conference Papers},
year={2026}
}
```
## License
Apache License 2.0, inherited from [Wan2.1-T2V-14B](https://huggingface.co/Wan-AI/Wan2.1-T2V-14B).
### Third-party weights at inference time
<sub>Running TAVR additionally requires
<a href="https://github.com/IDEA-Research/DWPose">DWPose</a> pose weights (Apache-2.0) and
<a href="https://github.com/ultralytics/ultralytics">Ultralytics YOLO</a> weights
(<b>AGPL-3.0</b>). Neither is redistributed here, and neither is contained in these weights;
obtain them from their own channels and observe their terms.</sub>
<sub>All videos and results shown here are for research demonstration purposes only.</sub>