TaoMate is a real-time digital-human model for long-form audio-video generation. This repository provides the inference runtime, multi-GPU launchers, and the full interactive browser demo backed by a resident model worker.
The PyTorch version should start with 2.8.0 (the CUDA wheel may append
+cu128), and at least one GPU must be visible.
Command-line Inference
Command-line inference requires the TaoMate checkpoint, the LTX-2.3 base model, and the Gemma 3 text encoder. Model weights are not included in this repository.
Gemma 3 12B IT directory containing config.json, preprocessor_config.json, tokenizer.model, and model*.safetensors
Keep checkpoints outside version control and provide absolute paths when launching inference. The repository ignores the local models/ directory and common checkpoint extensions.
Hugging Face Access
Install the official Hugging Face CLI, sign in, and create the local model directories:
Set BASE_MODEL_CKPT to the downloaded .safetensors file. Quantized, distilled, and upscaler checkpoints are not substitutes for this file.
Gemma 3 Text Encoder
Download the complete google/gemma-3-12b-it repository. Do not download only its weight shards because the tokenizer and processor files are also required.
Inference accepts a JSON list. Each case requires a unique case_id and 1 to 12 prompt segments. Each segment requires a prompt and seed.
json
1[2{3"case_id":"case_001",4"description":"studio presenter",5"segments":[6{7"prompt":"Eye-level tight medium close-up of a presenter speaking naturally to the camera.",8"seed":10019}10]11}12]
Twelve segments produce approximately one minute of output. The included configs/inference/benchmark_1min_windowed.json contains 20 complete one-minute cases.
GPU Memory
The following peaks were measured with nvidia-smi at 200 ms intervals on NVIDIA RTX PRO 5000 72GB GPUs. Both runs used the same prompts and seeds to generate one complete 60-second case with 12 prompt segments at 512x768 in BF16, including final video and audio decoding. The GPUs had no other compute processes during measurement.
Mode
Peak per GPU
Simultaneous total peak
Single GPU
66.8 GiB
66.8 GiB
Two GPUs
33.6 GiB / 33.8 GiB
67.2 GiB
Actual memory use can vary with the GPU model, CUDA runtime, and output settings.
Prompt conditioning is computed in memory for every command-line inference run.
Single-GPU Inference
The single-GPU launcher loads the complete generator on one device.
Completed videos are written to OUTPUT_DIR as <case_id>.mp4.
Interactive Demo Deployment
The demo uses exactly four GPUs. GPUs 0-1 run the distributed generator, GPU 2 handles text conditioning and media decoding, and GPU 3 runs the local dialogue model together with lightweight ASR. The launcher starts the dialogue server, resident inference worker, and web service in separate tmux sessions.
It uses the three command-line inference models above and requires these additional components:
Variable
Contents
DIALOGUE_MODEL_PATH
Gemma 4 26B A4B IT GGUF used for dialogue and prompt planning
ASR_MODEL_PATH
Local OpenAI Whisper tiny.pt checkpoint
LLAMA_SERVER_BIN
CUDA-enabled llama-server executable
The Gemma 3 text encoder and Gemma 4 dialogue model serve different purposes and are not interchangeable.
Dialogue LLM
The interactive demo was validated with the UD-Q4_K_M GGUF from unsloth/gemma-4-26B-A4B-it-GGUF. The revision below pins the exact tested file.
Runtime downloads are disabled in the demo, so ASR_MODEL_PATH must point to this local file. Whisper is loaded by the web service and does not require a separate server.
The launcher prints live status for the dialogue server, website, worker, and resident model. It exits only after the demo is ready to use, then prints the URL, log directory, and shutdown command.
This closes taomate_dialogue, taomate_worker, and taomate_service. Logs are written to outputs/service_logs by default. Generated stream blocks and task status files are stored under AVATAR_RUNS_ROOT.
Repository Layout
text
1apps/interactive_avatar/ Browser demo and persistent worker
2configs/inference/ Example 20-case prompt JSON
3ltx_causal/ Streaming transformer and cache implementation
4ltx_core/ Decoder, text encoder, and weight loading components
5ltx_pipelines/ Minimal inference model ledger
6scripts/inference/ Batch and demo launchers
7taomate/inference/ TaoMate inference runtime
Citation
The official BibTeX entry will be added here upon release.
bibtex
1@misc{taomate2026,
2 title={TaoMate: Anchor-Guided Memory Bridging Evolving and Reference States for Real-Time Audio-Video Digital Human Generation},
3 author={Qijun Gan and Chenwei Zhang and Meiguang Jin and Junfeng Ma and Qiu Shen},
4 year={2026},
5 eprint={2607.24359},
6 archivePrefix={arXiv},
7 primaryClass={cs.CV},
8 url={https://arxiv.org/abs/2607.24359},
9}
License
This project is released under the Apache 2.0 license. See LICENSE for details.