KittenTTS-FastAPI
Run KittenTTS-FastAPI locally and connect it to OpenReader using the Custom OpenAI-Like provider. Lightweight and CPU-friendly.
Run KittenTTS
docker run -it --rm \
--name kittentts-fastapi \
-e KITTEN_MODEL_REPO_ID="KittenML/kitten-tts-nano-0.8-fp32" \
-p 8005:8005 \
ghcr.io/richardr1126/kittentts-fastapi-cpu
Connect to OpenReader
Recommended (auth + admin): Settings → Admin → Shared providers
- Add a shared provider with type
custom-openai. - Set base URL to
http://host.docker.internal:8005/v1. - Leave API key blank unless required by your deployment.
- Set default model to
kitten-tts(or your backend model id).
Legacy bootstrap seed (optional, first boot only):
API_BASE=http://host.docker.internal:8005/v1
Use
host.docker.internalso the OpenReader container reaches KittenTTS's published port on your host. The container name (kittentts-fastapi) only resolves if OpenReader and KittenTTS share a Docker network, i.e. you started them with Docker Compose,--link kittentts-fastapi, or a shared--network. On native Linux Docker,host.docker.internalneeds--add-host=host.docker.internal:host-gatewayon the OpenReader container. Note thatlocalhost/127.0.0.1will not work, since inside the container that points at the container itself.
Users select the configured shared provider, model, and voice from Settings → TTS Provider.