AVTR-1: Open Stack for Real-Time Interactive Avatars
Organizations: Avaturn Live
Abstract
Talking-head and dyadic models now achieve real-time inference, yet fast motion generation alone does not produce an interactive conversation. A live system must synchronize the model's output with speech from an external voice agent, schedule video frames for playback, and handle interruptions. We introduce AVTR-1, an open stack for real-time interactive avatar conversations, built around a compact 153M-parameter autoregressive flow-matching motion generator conditioned on both participants' audio. We adapt its audio encoder for streaming through self-distillation. The stack turns the model's chunk-based generation into a continuous, synchronized audio-video stream driven by an external voice agent, and we analytically derive its contribution to the user-facing latencies and validate the resulting bounds with two commercial voice agents. Further experiments demonstrate that AVTR-1 leads the compared dyadic systems on all reported visual-quality metrics and most conventional listening-motion metrics while remaining competitive in lip synchronization. Its inference runtime operates in real time on data-center and consumer GPUs. However, conventional listening metrics do not establish whether the paired speaker's speech contributes to generated motion. We therefore introduce the Reference-Based Directed Granger Gain (R-DGG), which measures the additional predictive information carried by speaker speech after accounting for listener history and speaker motion. R-DGG finds statistically supported predictive dependence for recorded listeners and all evaluated dyadic systems, but not for talking-head generators without paired audio or mismatched speaker-listener pairs. We release the model weights, renderer, and serving backend under component-specific licenses.
Figures & tables
| Property | Value |
|---|---|
| Parameters | 153M |
| Decoder layers | 18 |
| Hidden dimension | 512 |
| Attention heads / head dimension | 8 / 64 |
| Feed-forward dimension | 512 |
| Audio condition encoder layers | 2 per stream |
| GPU | TTFF | Request duration | Real-time factor |
| NVIDIA L40S | 42 ms | 71 ms | |
| NVIDIA A100 | 54 ms | 91 ms | |
| NVIDIA L4 | — | 202 ms | |
| NVIDIA RTX 4060 Ti | 99 ms | 162 ms | |
| NVIDIA RTX 3070 | 94 ms | 180 ms | |
| NVIDIA RTX 3060 Ti | — | 207 ms |
| OpenAI Realtime API ( ) | Cartesia Line ( ) | Predicted | ||||
|---|---|---|---|---|---|---|
| Term | RLC | ILC | RLC | ILC | RLC | ILC |
| Total | ||||||
| Stage | ms |
|---|---|
| User streamer (inbound) | 114 |
| Microphone capture | 40 |
| Opus encoding | 21 |
| Network | 12 |
| Jitter buffer | 40 |
| Opus decoding | 1 |
| Paired audio | rPCC | PFD | SID | Var | |||||
|---|---|---|---|---|---|---|---|---|---|
| Method | Exp | Pose | Exp | Pose | Exp | Pose | Exp | Pose | |
| AvatarForcing* | Yes | 0.109 | 0.163 | 37.51 | 7.560 | 4.749 | 3.848 | 1.213 | 2.099 |
| AVTR-1 | Yes | 0.083 | 0.140 | 25.98 | 6.417 | 4.970 | 3.254 | 1.313 | 0.930 |
| DyStream | Yes | 0.128 | 0.141 | 40.87 | 7.598 | 4.497 | 3.606 | 1.164 | 1.731 |
| Ditto | No | 0.092 | 0.168 | 35.02 | 6.790 | 5.006 | 3.253 | 1.604 | 1.386 |
| FLOAT | No | 0.117 | 0.132 | 34.09 | 4.753 | 4.322 | 2.961 | 1.007 | 0.843 |
| Paired audio | R-DGG | Bootstrap percentile | ||||
| Method | 2.5% | 50% | 97.5% | |||
| AvatarForcing* | Yes | 0.32 | 0.07 | 0.32 | 0.56 | 0.008 |
| AVTR-1 | Yes | 0.57 | 0.19 | 0.57 | 0.98 | 0.002 |
| DyStream | Yes | 0.48 | 0.06 | 0.49 | 0.93 | 0.011 |
| Ditto | No | 0.06 | -0.20 | 0.06 | 0.31 | 0.335 |
| FLOAT | No | 0.01 | -0.33 | 0.00 | 0.42 | 0.491 |
Appendix figures & tables3 assets
Supplementary material from the paper’s appendix.
Appendix
| Paired audio | rPCC | PFD | SID | Var | |||||
|---|---|---|---|---|---|---|---|---|---|
| Method | Exp | Rot | Exp | Rot | Exp | Rot | Exp | Rot | |
| AvatarForcing* | Yes | 0.138 | 0.175 | 1.242 | 5.784 | 4.802 | 3.813 | 5.200 | 3.352 |
| AVTR-1 | Yes | 0.112 | 0.169 | 0.671 | 3.967 | 4.760 | 3.152 | 3.300 | 0.920 |
| DyStream | Yes | 0.151 | 0.178 | 1.335 | 4.392 | 4.421 | 3.436 | 4.300 | 1.239 |
| Ditto | No | 0.109 | 0.174 | 0.882 | 4.106 | 4.930 | 3.010 | 3.800 | 1.002 |
| FLOAT | No | 0.127 | 0.152 | 0.878 | 3.240 | 4.488 | 3.061 | 4.300 | 0.852 |
| rPCC | PFD | SID | Var | ||||||
| Method | Paired audio | Exp | Pose | Exp | Pose | Exp | Pose | Exp | Pose |
| SoulX Lite | No | 0.061 | 0.148 | 19.94 | 5.988 | 5.065 | 3.419 | 1.411 | 0.975 |
| SoulX Pro | No | 0.056 | 0.125 | 18.75 | 4.751 | 5.103 | 3.499 | 1.441 | 0.982 |
| Ditto | No | 0.074 | 0.180 | 28.82 | 6.645 | 4.953 | 3.459 | 1.671 | 1.341 |
| FLOAT | No | 0.077 | 0.128 | 23.71 | 3.953 | 4.816 | 3.220 | 1.206 | 0.811 |
| AvatarForcing* | Yes | 0.080 | 0.145 | 27.78 | 5.891 | 4.887 | 3.917 | 1.337 | 1.800 |
| rPCC | PFD | SID | Var | ||||||
| Method | Paired audio | Exp | Rot | Exp | Rot | Exp | Rot | Exp | Rot |
| SoulX Lite | No | 0.092 | 0.179 | 0.554 | 3.867 | 5.021 | 3.133 | 3.400 | 0.854 |
| SoulX Pro | No | 0.091 | 0.154 | 0.521 | 3.089 | 5.070 | 3.309 | 3.500 | 1.044 |
| Ditto | No | 0.123 | 0.177 | 0.836 | 4.300 | 5.012 | 3.027 | 3.700 | 1.004 |
| FLOAT | No | 0.129 | 0.144 | 0.686 | 2.764 | 4.830 | 3.252 | 3.800 | 0.865 |
| AvatarForcing* | Yes | 0.143 | 0.152 | 1.043 | 4.653 | 4.854 | 3.830 | 4.700 | 2.947 |
Real-Time Interactive Video Generation
Real-Time Interactive Video Generation creates low-latency video streams that respond continuously to user actions, camera motion, text, or audio.
See all 73 papers