TaoMate is an inference runtime that ships no weights
a real-time digital-human model for long-form audio-video generation
At a glance
- What is it?
- Alibaba's TaoMate generates real-time digital-human audio and video from a JSON list of prompt segments, but the repository contains no model at all: you need its own checkpoint, the LTX-2.3 base model and a Gemma 3 12B text encoder before anything runs. The published memory figures come from 72 GB cards, the interactive demo wants four GPUs, and the licence metadata records nothing.
- Who is it for?
- TaoMate fits a team with Linux NVIDIA hardware, a Hugging Face account cleared for gated models, and a real reason to produce long-form presenter video rather than a short clip. It does not fit a workstation experiment or a machine without 70 GB of video memory.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 34 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 11, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Four checkpoint paths and an empty repository
Command-line inference needs three models and the repository contains none of them, which the README states plainly: weights are not included. Three environment variables point at them. `MODEL_CKPT` is the TaoMate `model.pt` from the project's Hugging Face repository, `BASE_MODEL_CKPT` is the LTX-2.3 development checkpoint named `ltx-2.3-22b-dev.safetensors`, and `GEMMA_PATH` is a directory rather than a file, holding Gemma 3 12B IT with its `config.json`, `preprocessor_config.json`, `tokenizer.model` and weight shards. The checkout also carries `ltx_core/`, `ltx_causal/` and `ltx_pipelines/` directories, so the base model's code is vendored while its weights are not. Checkpoints are meant to stay outside version control, and the repository ignores a local `models/` directory and the usual checkpoint extensions. What you feed it is deliberately small: a JSON list where each case carries a unique `case_id` and between one and twelve prompt segments, each segment holding a prompt and a seed, with twelve segments producing about a minute of output. A benchmark configuration with twenty complete one-minute cases ships in `configs/inference/`.
The TaoMate download comes with a hash to check
Weight verification is part of the documented procedure rather than an afterthought, which is more than most repositories ask. After authenticating to Hugging Face and creating the three local directories, the instructions download both the checkpoint and a release manifest, then check the file against a published digest:
hf download TaoLiveAIGC/TaoMate model.pt \
--local-dir models/taomate
hf download TaoLiveAIGC/TaoMate manifest.json \
--local-dir models/taomate
echo "fb2b0ec8b709cfb27400c928930ab982940489fea6893e423851c41b8deb39be models/taomate/model.pt" \
| sha256sum --check
test -s models/taomate/manifest.jsonIf that digest ever stops matching, the download is wrong or tampered with and the run should stop. For a model that produces video from a prompt, an integrity check on the weights is worth the two lines.
The base model has no smaller substitute
Two download sections carry warnings that save a wasted afternoon. The LTX-2.3 instructions ask for the full BF16 development checkpoint and state that quantized, distilled and upscaler checkpoints are not substitutes for that file, which rules out the versions you would otherwise reach for to save disk. The Gemma 3 section warns against downloading only the weight shards, because the tokenizer and processor files are required as well, and the variable is set to the directory rather than to an individual shard. Both models also come with their own terms: the Gemma 3 12B IT page has access to accept before downloading, and the README's instruction is to review the licence shown on every upstream model page, which is where the real permissions for this stack live.
Two GPUs halve per-card memory and add a fraction overall
The memory table is the most useful number in the document, and it is unusually well qualified. Peaks were sampled with `nvidia-smi` at 200 millisecond intervals on 72 GB RTX PRO 5000 cards, running one complete sixty-second case of twelve prompt segments at 512 by 768 in BF16, with final video and audio decoding included, the same prompt cache and seeds, and no other compute processes on the cards. Single-GPU inference peaks at 66.8 GiB. Two GPUs report 33.6 and 33.8 GiB per card, so the model genuinely splits, yet the simultaneous total rises to 67.2 GiB. Splitting across cards buys headroom rather than memory, at a cost of about half a gigabyte, which is what you would expect from replication overhead between tensor-parallel workers. Both launchers also build the prompt cache automatically the first time, when `PROMPT_CACHE` points at a file that does not exist yet, so the first run pays for the cache and later runs read it.
Four GPUs for the demo, one or two for batch
The requirements split by use case. Batch inference needs one or two CUDA-capable NVIDIA GPUs; the interactive browser demo wants four. On top of that the platform is Linux x86_64 with Python 3.10, an NVIDIA driver compatible with CUDA 12.8, and the ordinary command-line furniture of ffmpeg, tmux and curl. The reference configuration and the demo were validated on 72 GB cards, and the installation pins the CUDA build of PyTorch explicitly:
pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 \
--index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txtthen checks the runtime before any weights load, printing the torch version and the visible device count, expecting a version string that starts with 2.8.0 and at least one GPU. The demo runs against a resident model worker rather than loading per request, which is why it is the configuration that needs the hardware. The single-GPU launcher has no such option available to it: it loads the complete generator onto one device, so the multi-GPU path is the only way to fit a smaller card.
A frozen dependency set with numpy held back
Everything in `requirements.txt` is pinned exactly: av 16.1.0, einops 0.8.2, fastapi 0.128.6, pillow 11.3.0, pydantic 2.12.5, safetensors 0.7.0, scipy 1.15.3, sentencepiece 0.1.96, transformers 4.55.0, uvicorn with the standard extras at 0.40.0, and openai-whisper pinned to a date-shaped 20250625. numpy stands out at 1.26.4, the only library held on a 1.x line while everything around it is current. For a checkpoint-based inference runtime that is defensible, since a transformer stack change can alter outputs against fixed weights, and it also means you inherit a known-good environment rather than resolving your own. The FastAPI, uvicorn and multipart entries are what serve the browser demo, and the repository layout follows that split with `apps/`, `configs/`, `scripts/` and `assets/` beside the two Python packages.
No licence identifier, and three upstream licences to read
The repository's licence metadata does not resolve to a recognised identifier, while a LICENSE file is present at the root and the visible README text never names a licence. For a codebase whose value is the runtime rather than the model, that gap matters more than it would in a library, because what you deploy is a stack: this code, the TaoMate checkpoint, the LTX-2.3 development checkpoint from another vendor, and a gated Gemma release whose access terms you accept on its model page. Anyone using this commercially needs to read all four, and this repository's file is the one that is easiest to skip. The README's own instruction to review the licence on every upstream model page is the correct place to start, which is also where the paper and the project page sit alongside the model repository, and where the author list names a project leader and a corresponding author for the work at Alibaba's Taobao and Tmall group.
Where TaoMate is the wrong tool
Three boundaries, all hardware. There is no CPU path and no Apple path in what is documented; Linux x86_64 with a CUDA 12.8 driver is the requirement. A single card has to hold 66.8 GiB for a one-minute case, which puts it out of reach of most single-GPU workstations and makes the multi-GPU path the normal one rather than the exception. And the input is text, not audio: a case is a unique identifier plus one to twelve prompt segments, each with a prompt and a seed, with twelve segments producing about a minute of output, so lip-syncing your own recording is not what this does. There is also a newer option in the same family, a separate repository for a MiniMax H3-based vision that the project says has higher quality audio and video, which is worth looking at before committing to this one.
Editorial conclusion
TaoMate fits a team with Linux NVIDIA hardware, a Hugging Face account cleared for gated models, and a real reason to produce long-form presenter video rather than a short clip. It does not fit a workstation experiment or a machine without 70 GB of video memory. Verify two things before you start: the licence on the root LICENSE file and on each upstream model page, since the repository records no licence identifier of its own, and whether your prompts are the kind a digital human can say, since the model generates from text segments rather than from an audio track.
Frequently asked questions
What does TaoMate need before it can generate video?
Three checkpoints that are not in the repository: the TaoMate model.pt from its Hugging Face repository, the LTX-2.3 development checkpoint named ltx-2.3-22b-dev.safetensors, and a Gemma 3 12B IT directory with its tokenizer and processor files. You also need Linux x86_64, Python 3.10, a CUDA 12.8 compatible driver and at least one NVIDIA GPU.
How do you verify the TaoMate checkpoint download?
The documented procedure pipes a published SHA-256 digest through sha256sum --check against models/taomate/model.pt, and separately tests that the release manifest is non-empty. The digest in the README is for the checkpoint as published.
How much GPU memory does TaoMate need?
Measured on 72 GB RTX PRO 5000 cards for one sixty-second case of twelve segments at 512x768 in BF16: a single GPU peaks at 66.8 GiB, and two GPUs report 33.6 and 33.8 GiB each for a simultaneous total of 67.2 GiB. Actual use varies with the GPU model, CUDA runtime and output settings.
What input format does TaoMate take?
A JSON list where each case has a unique case_id and between one and twelve prompt segments, and each segment carries a prompt and a seed. Twelve segments produce roughly one minute of output, and the repository includes a benchmark configuration with twenty complete one-minute cases.
Can TaoMate run without Hugging Face access?
Not as documented. The instructions require the official Hugging Face CLI, an authenticated login, and accepting the access terms on the Gemma 3 12B IT model page before its weights can be downloaded. Paths can be absolute and checkpoints can live outside the repository, but the files themselves come from Hugging Face.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/taoliveaigc-taomate)