openreader/docs-site/versioned_docs/version-v4.3.0/configure/tts-provider-guides/kitten-tts-fastapi.md
github-actions[bot] 2b27c16367
Some checks failed
Docs Deploy / build (push) Has been cancelled
Playwright Tests / e2e-testing (push) Has been cancelled
Vitest Tests / vitest-testing (push) Has been cancelled
Docs Deploy / deploy (push) Has been cancelled
docs: snapshot v4.3.0
2026-06-13 21:27:08 +00:00

1.6 KiB

title
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

  1. Add a shared provider with type custom-openai.
  2. Set base URL to your KittenTTS endpoint (e.g. http://kittentts-fastapi:8005/v1).
  3. Leave API key blank unless required by your deployment.
  4. Set default model to kitten-tts (or your backend model id).

Legacy bootstrap seed (optional, first boot only):

API_BASE=http://kittentts-fastapi:8005/v1

Use kittentts-fastapi if that's the container name, or host.docker.internal if not.

Or in-app via Settings → TTS Provider:

  1. Set provider to Custom OpenAI-Like.
  2. Set API_BASE to your KittenTTS endpoint (e.g. http://kittentts-fastapi:8005/v1).
  3. Leave API_KEY blank unless your deployment requires one.
  4. Choose model kitten-tts (or the model your deployment exposes).

See TTS Providers for admin-shared vs per-user behavior.

References