Pydantic + FastAPI FastAPI+ React React+ Vite Vite + Python 3.11+ uv+ NVIDIA GPU (CUDA)+ Chatterbox TTS+ Docker Compose

用 FastAPI 封装 Chatterbox TTS,提供 OpenAI 兼容的语音合成与声音克隆 REST API

✓ OpenAI 接口即插即用✓ 支持 22 种语言声音克隆 ✕ 非 CUDA 环境上游已损坏✕ 首次合成耗时长

方案简介

本方案是 travisvn/chatterbox-tts-api 项目:基于 FastAPI 将 resemble-ai 的 Chatterbox TTS 封装为 REST API,提供与 OpenAI TTS API 兼容的端点,可直接作为 OpenAI 语音接口的替代品。方案支持用自带声音样本进行个性化语音克隆、22 种语言的多语言合成、长文本自动分块,并附带可选的 React Web 界面与完整的 Docker 容器化部署。适合希望自托管 TTS 服务、兼容 OpenAI 生态的开发者。

前置要求

  • Python 3.11(pip 方式)或安装 uv
  • Docker(推荐,可选 GPU 版本支持 NVIDIA CUDA)
  • 前端开发需 Node/npm

安装 uv:
bash
curl -LsSf https://astral.sh/uv/install.sh | sh

本地 Python 方式:
bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

实施步骤

1. 本地安装(uv,推荐)

bash
git clone https://github.com/travisvn/chatterbox-tts-api
cd chatterbox-tts-api
uv sync
cp .env.example .env
uv run uvicorn app.main:app --host 0.0.0.0 --port 4123

或直接 uv run main.py

2. 本地安装(pip)

bash
git clone https://github.com/travisvn/chatterbox-tts-api
cd chatterbox-tts-api
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
cp your-voice.mp3 voice-sample.mp3
uvicorn app.main:app --host 0.0.0.0 --port 4123

3. Docker 部署(推荐)

bash
git clone https://github.com/travisvn/chatterbox-tts-api
cd chatterbox-tts-api
cp .env.example.docker .env
docker compose -f docker/docker-compose.uv.gpu.yml up -d

GPU 用户推荐 uv+GPU 变体;CPU-only 用 docker/docker-compose.cpu.yml;Blackwell (50XX) 用 docker/docker-compose.blackwell.yml。加 --profile frontend 可同时启动 Web UI。

4. 运行前端(开发)

bash
cd frontend && npm install && npm run dev

注意事项与常见问题

  • 上游 resemble-ai/chatterbox 在非 CUDA 环境下目前已损坏(见其 issue)
  • 首次使用 TTS 耗时最长
  • Chatterbox Turbo 支持即将到来
  • 想回到非多语言版本可使用本仓库的 stable 分支
  • 遇到问题可查看 README 的 troubleshooting/common issues 部分
  • 可通过大量环境变量进行配置,含语音参数实时调节与内存自动清理

优缺点

  • ✓ OpenAI 接口即插即用
  • ✓ 支持 22 种语言声音克隆
  • ✕ 非 CUDA 环境上游已损坏
  • ✕ 首次合成耗时长

出处

本方案挖掘自开源项目 travisvn/chatterbox-tts-api,方案内容与实施命令均来自其 README 原文。

方案出处
travisvn/chatterbox-tts-api:Local, OpenAI-compatible text-to-speech (TTS) API using Chatterbox, enabling use
677 star Local, OpenAI-compatible text-to-speech (TTS) API using Chatterbox, enabling users to generate voice cloned speech anywhere the OpenAI API is used (e.g. Open WebUI, AnythingLLM, etc.)

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。