uncloseai.

Kokoro TTS

Self-host — Not on the public endpoint. Clone the repo to use this engine.

What It Does

A tiny model that punches above its weight. Only 82 million parameters — small enough to run on a Raspberry Pi, an edge device, or anywhere resources are tight. Despite its size, the output quality is surprisingly good.

34 voices in American and British English, with names intentionally mirroring the OpenAI voice lineup. If you're migrating from OpenAI's TTS API and want something that feels familiar but runs on your own hardware, this is a natural fit.

Apache 2.0 licensed, 24kHz output. The smallest raccoon in the dumpster, but it gets the job done.

Example

Once self-hosted and enabled, it works through the same OpenAI-compatible API:

from openai import OpenAI

client = OpenAI(
    api_key="not-needed",
    base_url="http://localhost:8000/v1"
)

# Kokoro uses voice names like af_heart, am_adam, bf_emma
client.audio.speech.create(
    model="tts-1-kokoro",
    voice="af_heart",
    input="A tiny model that fits anywhere. Edge devices, embedded systems, even a Raspberry Pi. The raccoons rescued this one for the smallest hardware."
).stream_to_file("kokoro.mp3")

Technical Details

Self-Hosting

git clone https://git.unturf.com/engineering/unturf/uncloseai-speech.git
cd uncloseai-speech
make deploy
make voices-kokoro

Add Kokoro voices to voice_to_speaker.default.yaml and restart.

← Back to Text-to-Speech overview