Skip to content

TTS Channel: F5-TTS / Spark-TTS / Index-TTS / Dia-TTS / VoxCPM / Confucius-TTS

From v3.68 onwards, these TTS services share a single settings interface. Simply enter the WebUI address of the running TTS service (default is usually http://127.0.0.1:7860), then select the corresponding service from the "TTS Channel" dropdown on the main screen.

This document covers deployment and integration for 6 open-source TTS services. They all expose an API through a Gradio WebUI, so configuration is essentially the same across all of them.


Overview

ServiceDeveloperSupported LanguagesDefault AddressProject
F5-TTSShanghai Jiao Tong UniversityChinese, English (extensible)http://127.0.0.1:7860https://github.com/SWivid/F5-TTS
Spark-TTSSparkAudioChinese, Englishhttp://127.0.0.1:7860https://github.com/SparkAudio/Spark-TTS
Index-TTSBilibili (open-source)Chinese, Englishhttp://127.0.0.1:7860https://github.com/index-tts/index-tts
Dia-TTSnari-labsEnglish onlyhttp://127.0.0.1:7860https://github.com/nari-labs/dia
VoxCPM-TTSModelBest (open-source)30+ languageshttp://127.0.0.1:7860https://github.com/OpenBMB/VoxCPM
Confucius-TTSNetEase Youdao14 languageshttp://127.0.0.1:7860https://github.com/netease-youdao/Confucius4-TTS

The integration flow is identical for all services: start the WebUI → enter the address in pyVideoTrans → select the channel → configure reference audio → use.


Prerequisites

Before using these TTS services, make sure you have:

  1. pyVideoTrans version: v3.68 or higher
  2. Hardware: An NVIDIA GPU is recommended for acceleration; some services also run on CPU (much slower)
  3. Network: The first launch may download models from HuggingFace
  4. Python environment: Python 3.9+ and Git are needed if deploying from source

F5-TTS

What is F5-TTS

F5-TTS is an open-source TTS service developed by Shanghai Jiao Tong University. It supports Chinese and English voice synthesis and voice cloning.

Deployment

Download, extract, and double-click the startup script.

Option B: From Source

Follow the official project documentation: https://github.com/SWivid/F5-TTS

Starting the WebUI

After starting, the default address is http://127.0.0.1:7860. Open this in your browser to test voice synthesis.

Configuring in pyVideoTrans

  1. Open the software, go to Menu → TTS Settings → F5-TTS/Spark-TTS/index-TTS/Dia-TTS
  2. Enter the WebUI address: http://127.0.0.1:7860
  3. Click "Test" — if no errors appear, configuration is successful
  4. Select "F5-TTS" from the "TTS Channel" dropdown on the main screen

Index-TTS

What is Index-TTS

Index-TTS is an open-source TTS service from Bilibili that supports Chinese and English voice cloning with excellent audio quality.

Deployment

Windows Package

From Source

Follow the official documentation: https://github.com/index-tts/index-tts

Starting the WebUI

After starting, the default address is http://127.0.0.1:7860. Configuration is identical to F5-TTS.

Note: Only the official Index-TTS WebUI is supported. If you're using a third-party package, replace its webui.py with the one from the official source code, otherwise it may not work.


VoxCPM-TTS

What is VoxCPM-TTS

VoxCPM-TTS is an open-source TTS service from ModelBest that supports 30+ languages, including various Chinese dialects.

Supported Languages

  • International (30+): Arabic, Burmese, Chinese, Danish, Dutch, English, Finnish, French, German, Greek, Hebrew, Hindi, Indonesian, Italian, Japanese, Khmer, Korean, Lao, Malay, Norwegian, Polish, Portuguese, Russian, Spanish, Swahili, Swedish, Tagalog, Thai, Turkish, Vietnamese
  • Chinese Dialects: Mandarin, Sichuanese, Cantonese, Wu, Northeastern, Henan, Shaanxi, Shandong, Tianjin, Minnan

Deployment

Deploy from source following the official documentation: https://github.com/OpenBMB/VoxCPM

After starting the WebUI, the default address is http://127.0.0.1:7860. Configuration is identical to F5-TTS.


Spark-TTS

What is Spark-TTS

Spark-TTS is an open-source TTS service from SparkAudio that supports Chinese and English voice cloning.

Deployment

Deploy from source following the official documentation: https://github.com/SparkAudio/Spark-TTS

After starting the WebUI, the default address is http://127.0.0.1:7860. Configuration is identical to F5-TTS.


Dia-TTS

What is Dia-TTS

Dia-TTS is an open-source TTS service from nari-labs. English only.

Deployment

Deploy from source following the official documentation: https://github.com/nari-labs/dia.git

After starting the WebUI, the default address is http://127.0.0.1:7860. Configuration is identical to F5-TTS.


Confucius-TTS

What is Confucius-TTS

Confucius-TTS is an open-source TTS service from NetEase Youdao that supports 14 languages.

Supported Languages

Chinese, English, Japanese, Korean, German, French, Spanish, Indonesian, Italian, Thai, Portuguese, Russian, Malay, Vietnamese

Deployment

Windows Package

The package can be used directly by double-clicking 启动webui.bat (Start WebUI).

From Source (extra steps required)

The official source code does not include a WebUI or API, so it cannot be directly integrated. After deploying from source:

  1. Download webui.py
  2. Place webui.py in the official source directory
  3. Install the gradio module: pip install gradio
  4. Start with: python webui.py

After starting, the default address is http://127.0.0.1:7860. Configuration is identical to F5-TTS.


Configuring Reference Audio

Reference audio is configured globally under Menu → TTS Settings → Set Reference Audio.

Steps

  1. Open the "Reference Audio" settings panel
  2. Enter the following format in the "Reference Audio" text box:
audio_filename#text corresponding to the audio
  1. Place the reference audio files in the f5-tts folder under the pyVideoTrans project root directory (create the folder manually if it doesn't exist)

Example

Suppose you have an audio file nverguo.wav containing the speech "Queen of Women speaking", you would enter:

nverguo.wav#Queen of Women speaking

Place reference audio in the f5-tts folder inside pyVideoTrans

Reference audio and its corresponding text

Reference Audio Requirements

ItemRequirement
FormatWAV (recommended); MP3 and other formats also work
Duration3–12 seconds (F5-TTS max is 12s; longer audio is auto-truncated)
ContentClear pronunciation, no background noise
TextMust match the audio content exactly

Adding Other Languages to F5-TTS

By default, F5-TTS uses the official Chinese and English models. To use other languages, modify the src/f5_tts/infer/infer_gradio.py file in the F5-TTS project directory.

How to Modify

Find the code around line 59:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://SWivid/F5-TTS/F5TTS_v1_Base/model_1250000.safetensors",
    "hf://SWivid/F5-TTS/F5TTS_v1_Base/vocab.txt",
    json.dumps(dict(dim=1024, depth=22, heads=16, ff_mult=2, text_dim=512, conv_layers=4)),
]

Code location diagram:

Replace the code above with the model configuration for the desired language (see below), then restart F5-TTS.

Important: After making changes, the program will download new language models online. Test once through the WebUI first to confirm everything works before using pyVideoTrans. Also make sure the text language in pyVideoTrans matches the model language selected in F5-TTS.

Language Model Configurations

French:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://RASPIAUDIO/F5-French-MixedSpeakers-reduced/model_last_reduced.pt",
    "hf://RASPIAUDIO/F5-French-MixedSpeakers-reduced/vocab.txt",
    json.dumps({"dim": 1024, "depth": 22, "heads": 16, "ff_mult": 2, "text_dim": 512, "text_mask_padding": False, "conv_layers": 4, "pe_attn_head": 1}),
]

Hindi:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://SPRINGLab/F5-Hindi-24KHz/model_2500000.safetensors",
    "hf://SPRINGLab/F5-Hindi-24KHz/vocab.txt",
    json.dumps({"dim": 768, "depth": 18, "heads": 12, "ff_mult": 2, "text_dim": 512, "text_mask_padding": False, "conv_layers": 4, "pe_attn_head": 1})
]

Italian:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://alien79/F5-TTS-italian/model_159600.safetensors",
    "hf://alien79/F5-TTS-italian/vocab.txt",
    json.dumps({"dim": 1024, "depth": 22, "heads": 16, "ff_mult": 2, "text_dim": 512, "text_mask_padding": False, "conv_layers": 4, "pe_attn_head": 1})
]

Japanese:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://Jmica/F5TTS/JA_25498980/model_25498980.pt",
    "hf://Jmica/F5TTS/JA_25498980/vocab_updated.txt",
    json.dumps({"dim": 1024, "depth": 22, "heads": 16, "ff_mult": 2, "text_dim": 512, "text_mask_padding": False, "conv_layers": 4, "pe_attn_head": 1})
]

Russian:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://hotstone228/F5-TTS-Russian/model_last.safetensors",
    "hf://hotstone228/F5-TTS-Russian/vocab.txt",
    json.dumps({"dim": 1024, "depth": 22, "heads": 16, "ff_mult": 2, "text_dim": 512, "text_mask_padding": False, "conv_layers": 4, "pe_attn_head": 1})
]

Spanish:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://jpgallegoar/F5-Spanish/model_last.safetensors",
    "hf://jpgallegoar/F5-Spanish/vocab.txt",
    json.dumps({"dim": 1024, "depth": 22, "heads": 16, "ff_mult": 2, "text_dim": 512, "conv_layers": 4})
]

Finnish:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://AsmoKoskinen/F5-TTS_Finnish_Model/model_common_voice_fi_vox_populi_fi_20241206.safetensors",
    "hf://AsmoKoskinen/F5-TTS_Finnish_Model/vocab.txt",
    json.dumps({"dim": 1024, "depth": 22, "heads": 16, "ff_mult": 2, "text_dim": 512, "text_mask_padding": False, "conv_layers": 4, "pe_attn_head": 1})
]

Check the official updates for additional languages, which can be added in a similar way. See: https://github.com/SWivid/F5-TTS/blob/main/src/f5_tts/infer/SHARED.md


Common Errors and Troubleshooting

1. Don't Close the Terminal Window

While the API is in use, you can close the WebUI in your browser, but you must not close the terminal window that started the TTS service.

This window must not be closed, or the API will be unavailable

2. Cannot Switch Models Dynamically

You cannot dynamically switch models in F5-TTS. You need to manually edit the code and restart the WebUI.

3. HuggingFace Connection Timeout

If you see an error like:

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded

This is a network connectivity issue. Ensure you can reach huggingface.co.

4. API Endpoint Reference

ServiceGradio API Endpoint
F5-TTS/basic_tts
Spark-TTS/voice_clone
Index-TTS/gen_single
Dia-TTS/generate_audio
VoxCPM-TTS/generate
Confucius-TTS/_clone_fn

These endpoints are called automatically by the software — no manual configuration needed.

5. Reference Audio Duration Limits

  • F5-TTS: max 12 seconds; longer audio is auto-truncated
  • Other services: 3–10 seconds recommended

6. Version Compatibility

  • Ensure pyVideoTrans version ≥ v3.68
  • Each TTS service must use the official WebUI (third-party packages may have API incompatibilities)