This is a standalone Text-to-Speech API built with FastAPI, based on the powerful OmniVoice engine. It provides a simple REST interface for high-quality, multilingual voice cloning and synthesis.

This project is based on the original OmniVoice repository by k2-fsa. All credits for the core model architecture and training go to the original authors.
Distributed under the Apache 2.0 License. See LICENSE for more information.
If you find this project useful, consider supporting me:
Or send Solana / USDC / USDT via Solana network:
9rupbyrM19RaVbHmJ4fusozux6P9t72GoYB7Sdy4Nmks
Before getting started, make sure you have the following installed on your system:
| Requirement | Version | Purpose |
|---|---|---|
| Python | 3.10+ | Runtime for the API backend |
| uv | Latest | Python package manager (install) |
| Node.js | 18+ | Runtime for the frontend |
| npm | 9+ | Frontend package manager (comes with Node.js) |
| NVIDIA GPU | 6GB+ VRAM recommended | CUDA acceleration for inference |
| CUDA Toolkit | 11.8+ | GPU compute support |
| FFmpeg | Latest | Audio format conversion (used by pydub) |
Note: The API can run on CPU, but generation will be significantly slower. A GPU with at least 6GB VRAM is strongly recommended for real-time usage.
uv)This project uses uv for fast and reliable Python package management. You must have uv installed to run the backend.
Install uv: Follow the instructions at astral.sh/uv to install it on your system.
Setup Environment: In the root directory of this repository, run:
uv sync
This will create a virtual environment and install all necessary dependencies (including torch, fastapi, etc.).
Run the API: You can use the provided batch file (Windows) or run manually:
# Using the batch file
run_api.bat
# Manual run
uv run uvicorn api:app --host 0.0.0.0 --port 8000 --reload
npm)The frontend is built with React and Vite.
Navigate to frontend folder:
cd frontend
Install dependencies:
npm install
Run the frontend:
npm run dev
The frontend will typically be available at http://localhost:5173.
You can easily add new voices for cloning through the web interface:
http://localhost:5173)..wav or .mp3 file you want to clone.To delete a voice: Simply go to the voices/ folder in the root directory and delete the folder named after the voice you want to remove.
Once the API is running, you can access the interactive Swagger documentation at:
http://localhost:8000/docsFor a detailed breakdown of endpoints, see API_DOCS.md.
8 commits
Python
94.0%
TypeScript
4.3%
CSS
1.5%
This is a standalone Text-to-Speech API built with FastAPI, based on the powerful OmniVoice engine. It provides a simple REST interface for high-quality, multilingual voice cloning and synthesis.

This project is based on the original OmniVoice repository by k2-fsa. All credits for the core model architecture and training go to the original authors.
Distributed under the Apache 2.0 License. See LICENSE for more information.
If you find this project useful, consider supporting me:
Or send Solana / USDC / USDT via Solana network:
9rupbyrM19RaVbHmJ4fusozux6P9t72GoYB7Sdy4Nmks
Before getting started, make sure you have the following installed on your system:
| Requirement | Version | Purpose |
|---|---|---|
| Python | 3.10+ | Runtime for the API backend |
| uv | Latest | Python package manager (install) |
| Node.js | 18+ | Runtime for the frontend |
| npm | 9+ | Frontend package manager (comes with Node.js) |
| NVIDIA GPU | 6GB+ VRAM recommended | CUDA acceleration for inference |
| CUDA Toolkit | 11.8+ | GPU compute support |
| FFmpeg | Latest | Audio format conversion (used by pydub) |
Note: The API can run on CPU, but generation will be significantly slower. A GPU with at least 6GB VRAM is strongly recommended for real-time usage.
uv)This project uses uv for fast and reliable Python package management. You must have uv installed to run the backend.
Install uv: Follow the instructions at astral.sh/uv to install it on your system.
Setup Environment: In the root directory of this repository, run:
uv sync
This will create a virtual environment and install all necessary dependencies (including torch, fastapi, etc.).
Run the API: You can use the provided batch file (Windows) or run manually:
# Using the batch file
run_api.bat
# Manual run
uv run uvicorn api:app --host 0.0.0.0 --port 8000 --reload
npm)The frontend is built with React and Vite.
Navigate to frontend folder:
cd frontend
Install dependencies:
npm install
Run the frontend:
npm run dev
The frontend will typically be available at http://localhost:5173.
You can easily add new voices for cloning through the web interface:
http://localhost:5173)..wav or .mp3 file you want to clone.To delete a voice: Simply go to the voices/ folder in the root directory and delete the folder named after the voice you want to remove.
Once the API is running, you can access the interactive Swagger documentation at:
http://localhost:8000/docsFor a detailed breakdown of endpoints, see API_DOCS.md.
8 commits
Python
94.0%
TypeScript
4.3%
CSS
1.5%