MCPcopy Index your code
hub / github.com/Soul-AILab/SoulX-FlashTalk

github.com/Soul-AILab/SoulX-FlashTalk @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
295 symbols 780 edges 22 files 45 documented · 15%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SoulX-FlashTalk: Real-Time Infinite Streaming of Audio-Driven Avatars via Self-Correcting Bidirectional Distillation

Le Shen*, Qian Qiao*, Tan Yu*, Ke Zhou, Tianhang Yu, Yu Zhan, Zhenjie Wang, Dingcheng Zhen, Ming Tao, Shunshun Yin, Siyuan Liu

*Equal Contribution Corresponding Author

HF space 

🔥 News

🤫 Coming soon

A 4-GPU real-time version of SoulX-FlashTalk.

📑 Todo List

  • [x] Technical report
  • [x] Project Page
  • [x] Inference code
  • [x] Checkpoint release
  • [ ] Online demo

📢 Live Streaming & Video Podcast

🎬 Online Demos

🌰 Examples

📖 Quickstart

🔧 Installation

1. Create a Conda environment

conda create -n flashtalk python=3.10
conda activate flashtalk

2. Install PyTorch on CUDA

pip install torch==2.7.1 torchvision==0.22.1 --index-url https://download.pytorch.org/whl/cu128

3. Install other dependencies

pip install -r requirements.txt

4. Flash-attention installation:

pip install ninja
pip install flash_attn==2.8.0.post2 --no-build-isolation

5. FFmpeg installation

# Ubuntu / Debian
apt-get install ffmpeg
# CentOS / RHEL
yum install ffmpeg ffmpeg-devel

or

# Conda (no root required) 
conda install -c conda-forge ffmpeg==7

🤗 Model download

Model Component Description Link
SoulX-FlashTalk-14B Our 14b model 🤗 Huggingface
chinese-wav2vec2-base chinese-wav2vec2-base 🤗 Huggingface
# If you are in china mainland, run this first: export HF_ENDPOINT=https://hf-mirror.com
pip install "huggingface_hub[cli]"
huggingface-cli download Soul-AILab/SoulX-FlashTalk-14B --local-dir ./models/SoulX-FlashTalk-14B
huggingface-cli download TencentGameMate/chinese-wav2vec2-base --local-dir ./models/chinese-wav2vec2-base

🚀 Inference

# Infer on single GPU
# Requires more than 64G of VRAM. Use --cpu_offload to reduce VRAM usage to 40G.
bash inference_script_single_gpu.sh

# Infer on multy GPUs
# Real-time inference speed can only be supported on 8xH800 or higher graphics cards
bash inference_script_multi_gpu.sh

👋 Online Demo

Coming Soon!

📧 Contact Us

If you are interested in leaving a message to our work, feel free to email le.shen@mail.dhu.edu.cn or qiaoqian@soulapp.cn or yutan@soulapp.cn or zhouke@soulapp.cn or liusiyuan@soulapp.cn

Due to Group 1 reaching its capacity, we have opened a new WeChat group. Additionally, we represent SoulApp and warmly welcome everyone to download the app and join our Soul group for further technical discussions and updates!

WeChat Group QR Code Join WeChat Group (加入微信技术群) Soul App Group QR Code Download SoulApp & Join Group (下载SoulApp加入群组)

📚 Citation

If you find our work useful in your research, please consider citing:

@misc{shen2025soulxflashtalk,
  title = {{SoulX-FlashTalk}: Real-Time Infinite Streaming of Audio-Driven Avatars via Self-Correcting Bidirectional Distillation},
  author = {Shen, Le and Qiao, Qian and Yu, Tan and Zhou, Ke and Yu, Tianhang and Zhan, Yu and Wang, Zhenjie and Tao, Ming and Yin, Shunshun and Liu, Siyuan},
  year = {2025},
  eprint = {2512.23379},
  archivePrefix = {arXiv},
  primaryClass = {cs.CV},
  doi = {10.48550/arXiv.2512.23379},
  url = {https://arxiv.org/abs/2512.23379}
}

🙇 Acknowledgement

  • Infinitetalk and Wan: the base model we built upon.
  • Self forcing: the codebase we built upon.
  • DMD and Self forcing++: the key distillation technique used by our method.

    [!TIP] If you find our work useful, please also consider starring the original repositories of these foundational methods.

💡 Star History

Star History Chart

Core symbols most depended-on inside this repo

update
called by 14
flash_talk/infinite_talk/utils/multitalk_utils.py
flash_attention
called by 10
flash_talk/wan/modules/attention.py
clear_cache
called by 9
flash_talk/wan/modules/vae.py
half
called by 6
flash_talk/wan/modules/attention.py
rope_params
called by 6
flash_talk/infinite_talk/modules/multitalk_model.py
half
called by 6
flash_talk/infinite_talk/distributed/xdit_context_parallel.py
fp16_clamp
called by 5
flash_talk/wan/modules/t5.py
encode
called by 5
flash_talk/wan/modules/vae.py

Shape

Method 164
Function 69
Class 62

Languages

Python100%

Modules by API surface

flash_talk/wan/modules/vae.py57 symbols
flash_talk/wan/modules/t5.py37 symbols
flash_talk/infinite_talk/modules/multitalk_model.py35 symbols
flash_talk/wan/modules/model.py34 symbols
flash_talk/wan/modules/clip.py32 symbols
flash_talk/infinite_talk/utils/multitalk_utils.py25 symbols
flash_talk/wan/modules/xlm_roberta.py10 symbols
flash_talk/wan/modules/vace_model.py10 symbols
flash_talk/infinite_talk/distributed/xdit_context_parallel.py10 symbols
flash_talk/wan/modules/tokenizers.py7 symbols
flash_talk/src/pipeline/flash_talk_pipeline.py7 symbols
flash_talk/infinite_talk/modules/multitalk_attention.py6 symbols

For agents

$ claude mcp add SoulX-FlashTalk \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact