# 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

- Parameters: 82 million (decoder-only architecture)
- Voices: 34 (American/British English)
- License: Apache 2.0 (commercial use OK)
- Sample rate: 24kHz
- Hardware: CPU or GPU, minimal resources needed
- Upstream: Kokoro TTS by Hexgrad

## 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