From 34b94534cfb5c24d7a8e54a0101d00fc92fc6d4e Mon Sep 17 00:00:00 2001 From: Richard R Date: Tue, 9 Jun 2026 11:00:51 -0600 Subject: [PATCH] docs(tts): clarify fallback voice set logic for OpenAI-compatible providers Update documentation to specify that OpenReader uses the Kokoro voice set for Kokoro models and the standard OpenAI voices for other models when no voice listing endpoint is available. Improves clarity on provider fallback behavior. --- docs-site/docs/configure/tts-provider-guides/other.md | 2 +- docs-site/docs/configure/tts-providers.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs-site/docs/configure/tts-provider-guides/other.md b/docs-site/docs/configure/tts-provider-guides/other.md index 1d247a0..e393655 100644 --- a/docs-site/docs/configure/tts-provider-guides/other.md +++ b/docs-site/docs/configure/tts-provider-guides/other.md @@ -9,7 +9,7 @@ Use any OpenAI-compatible TTS service with OpenReader, including self-hosted ser Your service only needs an OpenAI-compatible speech endpoint: - `POST /v1/audio/speech` — **required**. -- Voice listing is **optional** and auto-discovered from `/v1/audio/voices`, `/v1/voices`, or `/v1/styles`; OpenReader falls back to default voices if none are available. +- Voice listing is **optional** and auto-discovered from `/v1/audio/voices`, `/v1/voices`, or `/v1/styles`. If none respond, OpenReader falls back to default voices — the Kokoro voice set for Kokoro models, otherwise the standard OpenAI voices (`alloy`, `echo`, `fable`, `onyx`, `nova`, `shimmer`). The endpoint may return `mp3`, `wav`, `ogg`, or `flac` — OpenReader normalizes non-mp3 audio to mp3 automatically. An API key is optional. diff --git a/docs-site/docs/configure/tts-providers.md b/docs-site/docs/configure/tts-providers.md index b0e0565..9f5ba7c 100644 --- a/docs-site/docs/configure/tts-providers.md +++ b/docs-site/docs/configure/tts-providers.md @@ -34,7 +34,7 @@ For `OpenAI`, `DeepInfra`, and `Replicate` you only need to supply an API key. F Self-hosted or custom providers only need an OpenAI-compatible speech endpoint: - `POST /v1/audio/speech` — **required**. -- Voice listing is **optional** and auto-discovered: OpenReader probes `/v1/audio/voices`, `/v1/voices`, then `/v1/styles`, and falls back to sensible default voices if none respond. +- Voice listing is **optional** and auto-discovered: OpenReader probes `/v1/audio/voices`, `/v1/voices`, then `/v1/styles`. If none respond, it falls back to default voices — the Kokoro set for Kokoro models, otherwise the standard OpenAI voices (`alloy`, `echo`, `fable`, `onyx`, `nova`, `shimmer`). The speech endpoint may return any common audio format — `mp3`, `wav`, `ogg`, or `flac`. OpenReader detects the format and transcodes non-mp3 audio to mp3 automatically, so your server does not need to honor `response_format: mp3`. An API key is optional; keyless servers work.