uncloseai.
Open-Source Text-to-Speech
Text-to-Speech
uncloseai-speech speaks and listens through one free, OpenAI-compatible API at https://speech.ai.unturf.com/v1. No API keys, no tracking: change one URL in any OpenAI client.
We recommend F5-TTS for speaking and Parakeet for listening (CPU or GPU). Qwen3-TTS, Piper, XTTS v2, Silero and Kokoro remain supported as legacy engines. Like raccoons, we rescue good open models others left behind and keep them running.
Recommended: F5-TTS
Flow-matching voice cloning (MIT, SWivid/F5-TTS), model tts-1-f5. 41 voices numbered to 42: 40 LibriSpeech public domain speakers, slot 41 left empty for Douglas Adams, and foxhop, self-recorded, as voice 42. English and Chinese. Needs about 1.2 GB of GPU memory; it runs on CPU too, just slower than realtime.
curl https://speech.ai.unturf.com/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model": "tts-1-f5", "voice": "aria", "input": "We rescue abandoned speech models and give them a new home."}' \
-o aria.mp3
from openai import OpenAI
client = OpenAI(api_key="not-needed", base_url="https://speech.ai.unturf.com/v1")
client.audio.speech.create(model="tts-1-f5", voice="atlas", input="One API, no keys, no limits.").stream_to_file("atlas.mp3")
Speech-to-Text
Our same endpoint listens: POST /v1/audio/transcriptions with NVIDIA Parakeet TDT 0.6B v3, 25 languages, word timestamps and subtitles. Model stt-1-parakeet also answers to whisper-1.
curl https://speech.ai.unturf.com/v1/audio/transcriptions -F file=@question.webm -F model=whisper-1
# {"text":"What is seven times eight?"}
→ Speech-to-Text: live demo, API, accuracy, self-hosting
Legacy Engines
Still supported for self-hosting, off by default. Enable one with --engines and its package.
- Qwen3-TTS (
tts-1-qwen): 1.7B params, 10 languages, about 4 GB of GPU memory. Our default before F5-TTS beat it head to head. - Piper (
tts-1): fastest, CPU only, 100+ English voices. - XTTS v2 (
tts-1-hd): cloning from 6 seconds of audio, 16 languages. - Silero (
tts-1-silero): CPU, 5 languages, 48 kHz. - Kokoro (
tts-1-kokoro): 82M params, small enough for a Raspberry Pi.
Self-Hosting
One server speaks and listens. On any Linux CPU:
git clone https://git.unturf.com/engineering/unturf/uncloseai-speech.git
cd uncloseai-speech
make apt-deps && make venv && make venv-run # F5-TTS + Parakeet on :8000
make test
Docker: make deploy-cpu, make deploy (NVIDIA), or make deploy-rocm (AMD). Mac and GPU details live in our README (AGPL v3).
Get Involved
Donate GPU time to share our load, host a regional mirror, add voice samples, or bring a new engine (StyleTTS2, Fish Speech and Chatterbox are on our roadmap).
Questions & Community
Ask questions or share your deployments below!