openreader/docs-site/docs/configure/tts-provider-guides/kitten-tts-fastapi.md
Richard R dae97b2afc docs(admin,config,tts): document admin panel for runtime TTS provider and feature config
Add a dedicated Admin Panel documentation page detailing management of shared TTS providers and site features via the admin UI. Update all TTS provider guides, environment variable references, and deployment docs to clarify the new runtime configuration model: environment variables serve as first-boot seeds only, with ongoing management handled through the admin interface. Revise sidebars and cross-links to include the new admin panel docs and clarify the distinction between legacy env-based and admin-managed configuration.
2026-05-12 22:39:37 -06: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