OmniTTS
vLLM‑Omni is an inference service system that supports multiple TTS models, including Qwen3‑TTS, CosyVoice and VoxCPM2. For more models, refer to https://docs.vllm.ai/projects/vllm-omni/en/latest/serving/speech_api/. It exposes a unified TTS API service compliant with the OpenAI specification, and supports uploading, deleting and viewing cloned voices.
1. Install Dependencies
uv venv --python 3.12 --seed
source .venv/bin/activate
#uv pip install vllm==0.22.0 --torch-backend=auto
uv pip install vllm==0.27.0 --extra-index-url https://wheels.vllm.ai/0.27.0/cu129 --extra-index-url https://download.pytorch.org/whl/cu129 --index-strategy unsafe-best-match #Select the corresponding version from https://vllm.ai/releases based on your CUDA version2. Install vllm‑omni
git clone https://github.com/vllm-project/vllm-omni.git
cd vllm-omni
uv pip install -e .3. Start the API Service
3.1 Qwen3
Requires 12 GB of VRAM
vllm serve Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --omni --trust-remote-code --port 8091 #Pre‑defined voices: vivian, aiden, etc.
vllm serve Qwen/Qwen3-TTS-12Hz-1.7B-Base --omni --trust-remote-code --port 8091 #Cloned voices need to be uploaded manually3.2 VoxCPM
Requires 13 GB of VRAM
uv pip install voxcpm>=2.0
vllm serve openbmb/VoxCPM2 --omni --trust-remote-code --port 8091 #Default preset voice; custom cloned voices can be uploaded3.3 Fish Speech
Requires 18 GB of VRAM
uv pip install fish_speech
vllm serve fishaudio/s2-pro --omni --trust-remote-code --port 80913.4 IndexTTS
Requires 17 GB of VRAM, latency ~4 seconds
vllm serve IndexTeam/IndexTTS-2 --omni --trust-remote-code --port 80913.5 CosyVoice
Requires 14 GB of VRAM
uv pip install s3tokenizer
vllm serve FunAudioLLM/Fun-CosyVoice3-0.5B-2512 --omni --trust-remote-code --port 80914. Voice Cloning
- Start the LiveTalking service
python app.py --transport webrtc --model wav2lip --avatar_id wav2lip256_avatar1 --tts omnitts --TTS_SERVER http://127.0.0.1:8091- Open the webpage:
http://<serverip>:8010/tts/index.html
Fill in your TTS server address, e.g. http://<tts-serverip>:8091, then click Test Connection. You will see the list of available voices.
Upload your audio file in the voice‑cloning upload box. Once cloning succeeds, the new voice will appear in the voice list. This cloned voice is available for all models.
- Open the webpage:
http://<serverip>:8010
Enter the name of your newly‑cloned voice (for example, voxpcm_edge) into the reference‑audio input box, then click Connect Video.