heygen-zujin commited on
Commit
a49ab67
·
0 Parent(s):

TAVR release

Browse files
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ language:
4
+ - en
5
+ base_model:
6
+ - Wan-AI/Wan2.1-T2V-14B
7
+ pipeline_tag: image-to-video
8
+ tags:
9
+ - Talking Avatar
10
+ - Audio-Driven Video Generation
11
+ - Video Reference
12
+ ---
13
+
14
+ <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>
15
+
16
+ <p align="center">
17
+ <a href="https://arxiv.org/abs/2604.27918"><img src="https://img.shields.io/badge/arXiv-2604.27918-b31b1b.svg" alt="arXiv"></a>
18
+ <a href="https://gseancdat.github.io/projects/TAVR.html"><img src="https://img.shields.io/badge/Project-Page-1f6feb.svg" alt="Project Page"></a>
19
+ <a href="https://github.com/heygen-com/TAVR"><img src="https://img.shields.io/badge/GitHub-heygen--com%2FTAVR-181717.svg" alt="GitHub"></a>
20
+ <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>
21
+ </p>
22
+
23
+ <p align="center">
24
+ <b>Generate Your Talking Avatar from Video Reference</b>
25
+ </p>
26
+
27
+ <p align="center">
28
+ <b>Accepted to SIGGRAPH Asia 2026</b>
29
+ </p>
30
+
31
+ > [!IMPORTANT]
32
+ > **This is not a drop-in Wan2.1 checkpoint.** It is a TAVR transformer with 18 input channels
33
+ > and its own reference and audio conditioning, and it needs four companion models at inference
34
+ > time (Wan VAE, umT5, wav2vec 2.0, and a person detector plus a pose model) that are not bundled
35
+ > here. A stock `diffusers` Wan2.1 pipeline will not produce correct results.
36
+ >
37
+ > Run it through the released inference code: **https://github.com/heygen-com/TAVR**
38
+
39
+ ## Model Description
40
+
41
+ TAVR replaces single-image avatar references with short video clips, enabling cross-scene
42
+ generation with significantly better identity preservation. A three-stage training strategy
43
+ bridges the domain gap between reference and target scenes.
44
+
45
+ ## Model Details
46
+
47
+ | | |
48
+ |---|---|
49
+ | Base model | [Wan-AI/Wan2.1-T2V-14B](https://huggingface.co/Wan-AI/Wan2.1-T2V-14B) |
50
+ | Input | reference video, target still, caption, driving audio |
51
+ | Output | 896x480, 25 fps, driving audio muxed in |
52
+ | Sampler | UniPC, 24 steps, flow shift 5.0; text guidance 5.0, audio guidance 1.8 |
53
+ | Reference frames | Flexible (default 20) |
54
+ | Precision | `bfloat16` |
55
+ | Hardware | one Hopper-class CUDA GPU with at least 80 GB of memory |
56
+
57
+ ## Usage
58
+
59
+ ```bash
60
+ git clone https://github.com/heygen-com/TAVR
61
+ cd TAVR
62
+
63
+ python3.10 -m venv .venv && source .venv/bin/activate
64
+ pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu126
65
+
66
+ hf download HeyGenAI/TAVR --local-dir ./ckpt
67
+
68
+ PYTHONPATH=. python infer.py \
69
+ --sample-dir samples/example1 \
70
+ --dit-ckpt ckpt/tavr_transformer.safetensors \
71
+ --ckpt-dir . \
72
+ --output-dir outputs
73
+ ```
74
+
75
+ `flash_attn_3` has no PyPI wheel and is the only attention backend; it and the companion models
76
+ are set up as described in the
77
+ [repository README](https://github.com/heygen-com/TAVR).
78
+
79
+ ## Evaluation
80
+
81
+ Qualitative results and comparisons against baselines are on the
82
+ [project page](https://gseancdat.github.io/projects/TAVR.html).
83
+
84
+ On the cross-scene benchmark, TAVR yields the best identity similarity and an overall quality
85
+ score of 16.42 against 14.13 for the next best method. The benchmark data is not part of this
86
+ release.
87
+
88
+ ## Release Progress
89
+
90
+ - [x] Model weights
91
+ - [x] Inference code
92
+ - [ ] Evaluation code
93
+ - [ ] Cross-scene benchmark data
94
+
95
+ 🚧 The remaining items are being prepared for release.
96
+
97
+ ## Citation
98
+
99
+ ```bibtex
100
+ @inproceedings{guo2026generate,
101
+ title={Generate Your Talking Avatar from Video Reference},
102
+ author={Guo, Zujin and Ye, Zhenhui and Ren, Yi and Li, Yuanming and Chen, Ce and Hong, Zhibin and Loy, Chen Change},
103
+ booktitle={SIGGRAPH Asia 2026 Conference Papers},
104
+ year={2026}
105
+ }
106
+ ```
107
+
108
+ ## License
109
+
110
+ Apache License 2.0, inherited from [Wan2.1-T2V-14B](https://huggingface.co/Wan-AI/Wan2.1-T2V-14B).
111
+
112
+ ### Third-party weights at inference time
113
+
114
+ <sub>Running TAVR additionally requires
115
+ <a href="https://github.com/IDEA-Research/DWPose">DWPose</a> pose weights (Apache-2.0) and
116
+ <a href="https://github.com/ultralytics/ultralytics">Ultralytics YOLO</a> weights
117
+ (<b>AGPL-3.0</b>). Neither is redistributed here, and neither is contained in these weights;
118
+ obtain them from their own channels and observe their terms.</sub>
119
+
120
+ <sub>All videos and results shown here are for research demonstration purposes only.</sub>
assets/heygen-logo-black.png ADDED
assets/heygen-logo-white.png ADDED
tavr_transformer.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b3eee7781ebf6fca9d85887c2234f9e263f364f83eab399250d7786b289a6c9c
3
+ size 37812071752