Voice cloning & text-to-speech SaaS

November 9, 2026

Open-source part: github.com/Nomannazir/f5-tts-fastapi

The problem

Open-source voice models have become good enough to clone a voice from a few seconds of audio, but a model on its own is not a product. Turning one into a SaaS means user accounts, billing, a queue of generation jobs, GPU servers, file storage and an interface that non-technical people can use.

What I built

The platform is split into four parts:

  1. Web app (React, Vite, Tailwind). Users sign in, upload a voice sample, type text and play or download the result.
  2. API (Node.js, Express, PostgreSQL). Authentication, voices, generation history, usage tracking, subscription tiers and payments. It never runs the model itself; it sends work to the inference service.
  3. Inference service (Python, FastAPI, F5-TTS) on GPU servers. Takes text plus a reference voice and returns audio, either as a file or as a real-time stream.
  4. Admin analytics dashboard. Usage and subscription data for the team running the product.

The services run together with Docker Compose in development and deploy independently, so the expensive GPU service can be scaled separately from the cheap web tier. In production it ran on AWS, Google Cloud Storage and Ubuntu servers.

Choosing the model

Before building, I tested several open-source voice models, including F5-TTS, GPT-SoVITS, OpenVoice and Kokoro, for voice similarity, naturalness and speed. F5-TTS gave the best balance for voice cloning, so the inference service is built around it.

The inference API

I published the inference layer as an open-source project, f5-tts-fastapi:

  • /tts and /tts-fast for standard and faster generation
  • /tts-stream and /tts-stream-chunked for real-time audio streaming
  • Configurable speed, inference steps, silence removal and CFG strength

Stack

React · Next.js · Tailwind CSS · Node.js · Express · PostgreSQL · Python · FastAPI · PyTorch · F5-TTS · Docker · GPU servers · AWS · Google Cloud Storage

What this means for your project

If you want to put an AI model behind a product (voice, image or text), the hard part is everything around the model: queues, GPUs, streaming, billing and cost. That's the part I build.

LinkedIn
GitHub