ChatTTS-ui brings the text-to-speech model to a local web interface with API
GitHub RepoImpressions813
View on GitHub
@githubprojectsPost Author

ChatTTS-ui: A Local Web UI for Text-to-Speech, With API Access

If you've ever tried to run a modern text-to-speech model locally, you know it can be a hassle. You either end up in a Jupyter notebook fighting with dependencies, or you're stuck with a command-line tool that's not exactly fun to work with.

ChatTTS-ui changes that. It wraps the ChatTTS text-to-speech model in a clean web interface that runs entirely on your machine. No cloud, no API keys, no waiting. It also exposes a REST API so you can call it from your own scripts or apps.

What It Does

ChatTTS-ui is a self-hosted web app that lets you generate speech from text using the ChatTTS model. You type in text, pick some voice parameters, and get audio back. It runs locally (GPU optional but recommended), and everything stays on your machine.

The interface is straightforward: input box, a few sliders for pitch and speed, voice selection, and a generate button. It also supports batch processing if you have multiple lines of text.

There's a built-in API endpoint (/api/tts) that accepts POST requests with text and optional parameters, and returns an audio file. That means you can integrate it into your own projects or tools without touching the UI at all.

Why It's Cool

A few things stand out:

  • Truly local. No data leaves your machine. If you're working with sensitive text or just want to avoid cloud costs, this is a nice option.
  • Voice cloning. You can upload a short audio sample (a few seconds of someone speaking) and generate speech that sounds like that person. It's not perfect, but for a local tool, it's impressive.
  • API-first design. The fact that there's a clean API means you can hook this into a chatbot, a game, a prototyping tool, or anything else that needs spoken output. You don't need to reverse-engineer anything.
  • Built-in voice browser. It comes with a set of pre-trained voices you can test instantly, so you know what you're getting before you code anything.

How to Try It

You have two main options:

Option 1: Pre-built binary (easiest for Windows)
Download the latest release from the GitHub repo. It's a single executable. No Python environment needed.

Option 2: From source (Linux/macOS/Windows with Python)

git clone https://github.com/jianchang512/ChatTTS-ui.git
cd ChatTTS-ui
pip install -r requirements.txt
python app.py

That starts the web server, usually on http://127.0.0.1:9966. Open it in your browser and you're ready to generate.

For the API, just send a POST to http://127.0.0.1:9966/api/tts with JSON like:

{
  "text": "Hello, this is a test.",
  "voice": "default",
  "speed": 1.0,
  "pitch": 1.0
}

You'll get back a WAV file.

Final Thoughts

ChatTTS-ui is the kind of project that makes a powerful model actually usable. If you're building something that needs speech generation and you want to keep it local, this saves you a lot of boilerplate. The API is clean, the setup is easy, and it just works.

I'd love to see more tools like this. Models are getting better fast, but the real value is in making them accessible. This project does that.


Found this useful? Follow @githubprojects for more dev tools and open-source finds.

Back to Projects
Last updated: June 4, 2026 at 05:53 AM