F5-TTS is an open text-to-speech model that speaks in any voice you give it an example of. Provide a reference clip of a few seconds plus what it says (or let it transcribe the clip for you), type the text you want, and it generates new speech in that voice, carrying over tone and pace. It runs on your own GPU, an Apple Silicon Mac or, slowly, a CPU.
It comes from researchers at Shanghai Jiao Tong University and others, and uses a diffusion transformer with flow matching, which made it notably fast and natural-sounding when it appeared and kept it one of the most used open voice models since. The pip package includes a Gradio web app with basic generation, multi-speaker and multi-style scripts, and a voice chat mode, a command line tool driven by TOML files for longer stories, and training and fine-tuning tools for new languages; the community has published fine-tunes for many of them.
The code is MIT-licensed, with about 15,400 stars, at 1.1.22 when scanned. The official pretrained models are CC-BY-NC because of their training data, so they are for non-commercial use.
- Repository: github.com/SWivid/F5-TTS
- Licence: MIT (MIT License)
- Language: Python. Stars: 15.4K. Forks: 2,250. Last push: Oct 14, 2026.
- Scan: safe, Oct 22, 2026, commit 2f86664
Who it is for
Creators making narration, audiobooks or game dialogue on their own hardware, researchers working on speech, and anyone curious about voice cloning who would rather not upload their voice to a web service.
Getting started
1. Install PyTorch for your hardware first (see the README), then the package
pip install f5-tts2. Start the web app
f5-tts_infer-gradio3. Or generate from the command line
f5-tts_infer-cli --model F5TTS_v1_Base --ref_audio ref.wav --ref_text "What the reference clip says." --gen_text "The new sentence to speak."The web app opens at http://127.0.0.1:7860. Leaving the reference text empty makes it transcribe the clip with an extra speech model, which uses more GPU memory. Only clone voices you have permission to use.
Safety scan
We cloned SWivid/F5-TTS at commit 2f86664 on Oct 22, 2026 and ran the checks described on the GitHub Tools page: credential patterns, decode-and-execute code, install-time scripts, committed binaries, risky CI workflows, every host the code talks to, known vulnerabilities in pinned dependencies, and project hygiene. A person read every hit. This is what we found.
- No secrets, no suspicious code patterns, no committed binaries and no install hooks across 97 files and about 16,000 lines of Python. The hosts in the code are GitHub, Hugging Face and paper links.
- No lockfile, so there were no pinned dependencies to check against OSV. Dependencies are declared as ranges in pyproject.toml and resolved at install time; keep your environment updated as with any PyTorch project.
- The one shell script is a helper for serving the model with NVIDIA Triton and TensorRT-LLM; it does not use sudo or edit your shell profile.
- The Gradio app and Docker examples can bind to 0.0.0.0 or create a public share link when you ask them to; by default the app stays on your machine.
- 3 workflows, none using pull_request_target; 3 of 6 third-party actions pinned to commits. Licence present; no security policy, Dependabot or CodeQL.
What the scanner counted
| Check | Result |
|---|---|
| Secrets | None found. |
| Suspicious code | None found. |
| Install-time code | 1 installer script |
| Committed binaries | None. |
| CI workflows | 3 workflows. None use pull_request_target. 3 of 6 third-party actions pinned to a tag rather than a commit. |
| Network hosts | 9 distinct hosts referenced from source; most often github.com, www.apache.org, arxiv.org, huggingface.co. No URLs to bare IP addresses. |
| Known vulnerabilities | No lockfile to check: dependencies are declared as ranges, so what gets installed is whatever is current on the day. |
| Project hygiene | Has licence file. Missing security policy, automated dependency updates, CodeQL, contributing guide. |
| OpenSSF Scorecard | Not scored: the project is not in Scorecard's weekly index. |
The raw findings
Every hit the scanner wrote out, with a link to the exact line at the scanned commit. Secrets candidates are redacted.
Installer scripts (1)
- src/f5_tts/runtime/triton_trtllm/run.sh, 112 lines
By the numbers
| Stars | 15.4K |
|---|---|
| Forks | 2,250 |
| Contributors | 66 |
| Commits | 704 |
| Open issues | 48 |
| Open pull requests | 17 |
| Releases | 22 |
| Latest release | 1.1.22 |
| Licence | MIT |
| Main language | Python |
| Project age | 2 years |
| Last push | Oct 14, 2026 |
| Tracked files | 97 |
| Lines of code | 15.9K |
| Checkout size | 2 MB |
Lines by language: Python 13.9K, Markdown 949, YAML 713, Shell 292, TOML 109.
Questions
Is F5-TTS free for commercial use?
The code is MIT-licensed, but the official pretrained models are CC-BY-NC because they were trained on the Emilia dataset, so commercial use of those weights is not allowed. Commercial projects need a model trained on data that permits it.
How much audio does F5-TTS need to clone a voice?
A clean clip of a few seconds, ideally under 12, with its transcript. Clear speech without music or background noise gives the best results; the transcript can be left empty and filled in automatically.
Which languages does F5-TTS speak?
The base model is trained on English and Chinese. Community fine-tunes on Hugging Face add other languages, and the repository includes the tools to fine-tune your own.
This post is part of GitHub Tools, where every repository is cloned and scanned before it is written up. The scan is a snapshot of one commit on one day; the repository has moved on since, so check it before you install.
