Ex-Omni

Ex-Omni is a omni-modal framework for generating response text, speech audio, and 3D facial animation from text or speech input.

arXiv 2602.07106 GitHub Tencent/Ex-Omni CKPT Apache 2.0


Ex-Omni is an public release for omni-modal response generation. Given text or speech input, the system can produce response text, speech units / decoded audio, and 52-dimensional facial blendshape coefficients, with optional rendering into a talking-face video.

πŸ“– Table of Contents

πŸ—‚οΈ Repository Structure

.
β”œβ”€β”€ asset/                              # Download the mesh templates here, e.g. EmoTalk.npz
β”œβ”€β”€ cosyvoice/                          # Runtime audio decoder modules
β”œβ”€β”€ deploy.py                           # Main Gradio entrypoint
β”œβ”€β”€ deploy_base.py                      # Shared inference pipeline and UI logic
β”œβ”€β”€ ex_omni/
β”‚   β”œβ”€β”€ constants.py                    # Runtime constants
β”‚   β”œβ”€β”€ flow_inference.py               # Audio decoder wrapper
β”‚   β”œβ”€β”€ render_utils.py                 # Blendshape rendering utilities
β”‚   └── model/
β”‚       β”œβ”€β”€ language_model/             # Omni model wrapper
β”‚       β”œβ”€β”€ speech_encoder/             # Whisper speech encoder
β”‚       β”œβ”€β”€ speech_projector/           # Speech projector
β”‚       β”œβ”€β”€ speech_generator/           # Speech generator
β”‚       └── blendshape_generator/       # Blendshape generator
β”œβ”€β”€ requirements.txt                    # Python dependencies
└── LICENSE.txt                         # License file

βš™οΈ Quick Start

Installation

# 1. Create and activate environment
conda create -n Ex-Omni python=3.10 -y
conda activate Ex-Omni

# 2. Install PyTorch (example: CUDA 12.6)
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu1216

# 3. Install project dependencies
pip install -r requirements.txt

# 4. Install pytorch3d separately according to your CUDA / PyTorch version
# See official pytorch3d installation instructions

Checkpoints and Assets

Prepare the following assets before running inference:

Component Expected Path Source
Ex-Omni checkpoint ckpt/Ex-Omni/ Hugging Face
Flow decoder checkpoint ckpt/glm-4-voice-decoder/flow.pt Hugging Face
HiFT decoder checkpoint ckpt/glm-4-voice-decoder/hift.pt Hugging Face
EmoTalk mesh template asset/EmoTalk.npz GitHub
Claire mesh template asset/claire.npz Hugging Face Datasets

The Claire template is not redistributed in this repository. Please obtain the original Claire asset yourself and convert it into the .npz format.

Launch the Demo

python deploy.py \
  --model-path ckpt/Ex-Omni \
  --flow_ckpt_path ckpt/glm-4-voice-decoder/flow.pt \
  --hift_ckpt_path ckpt/glm-4-voice-decoder/hift.pt \
  --template_type emotalk \
  --port 8080

Then open:

http://localhost:8080

πŸ™ Acknowledgements

We would like to thank the authors of OpenOmni, LLaMA-Omni2, EmoTalk and UniTalker. Parts of the implementation and overall system design were developed with reference to their open-source release.

πŸ“„ Citation

If you use this project, please cite our paper:

@misc{zhang2026exomnienabling3dfacial,
      title={Ex-Omni: Enabling 3D Facial Animation Generation for Omni-modal Large Language Models}, 
      author={Haoyu Zhang and Zhipeng Li and Yiwen Guo and Tianshu Yu},
      year={2026},
      eprint={2602.07106},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2602.07106}, 
}
Downloads last month
17
Safetensors
Model size
11B params
Tensor type
BF16
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Paper for lemonade666/Ex-Omni