This commit restructures the audiobook generation and serving layer to rely exclusively on S3-compatible blob storage, removing the dependency on local filesystem paths. - Bundle `ffmpeg` and `ffprobe` binaries via npm to ensure portability across environments. - Update API routes to stream audio directly from blob storage instead of local disk. - Remove legacy migration endpoints and filesystem-based indexing logic. - Add startup scripts to facilitate the transition from local to remote storage. BREAKING CHANGE: Audiobook functionality is now strictly dependent on S3 configuration. The previous filesystem-based storage method has been removed.
48 lines
1.6 KiB
Markdown
48 lines
1.6 KiB
Markdown
---
|
|
title: TTS Providers
|
|
---
|
|
|
|
OpenReader WebUI supports OpenAI-compatible TTS providers through a common API shape.
|
|
|
|
## Supported provider patterns
|
|
|
|
- OpenAI API
|
|
- DeepInfra
|
|
- Kokoro-FastAPI
|
|
- Orpheus-FastAPI
|
|
- Custom OpenAI-compatible endpoints
|
|
|
|
## Provider dropdown behavior
|
|
|
|
In Settings, the provider dropdown includes:
|
|
|
|
- `OpenAI`
|
|
- `Deepinfra`
|
|
- `Custom OpenAI-Like` (for Kokoro, Orpheus, and other compatible endpoints)
|
|
|
|
`API_BASE` guidance:
|
|
|
|
- For `OpenAI` and `Deepinfra`, OpenReader auto-fills the default endpoint.
|
|
- For `Custom OpenAI-Like`, set `API_BASE` to your server endpoint.
|
|
- In practice, you usually only set `API_BASE` when using a provider/endpoint that is not directly covered by the built-in dropdown defaults.
|
|
|
|
## Custom provider compatibility
|
|
|
|
For custom providers, OpenReader expects these endpoints:
|
|
|
|
- `GET /v1/audio/voices`
|
|
- `POST /v1/audio/speech`
|
|
|
|
If your provider exposes this interface, it can be used as an OpenAI-compatible TTS backend.
|
|
|
|
## Setup flow
|
|
|
|
1. Select your provider in the OpenReader Settings modal.
|
|
2. If using `Custom OpenAI-Like` (or overriding a default), set `API_BASE`.
|
|
3. Set `API_KEY` if required by your provider.
|
|
4. Choose model and voice.
|
|
|
|
For environment variables, see [Environment Variables](../reference/environment-variables).
|
|
For TTS quota behavior, see [TTS Rate Limiting](./tts-rate-limiting).
|
|
For auth behavior, see [Auth](./configuration).
|
|
For provider-specific integration guides, see [Kokoro-FastAPI](../integrations/kokoro-fastapi), [Orpheus-FastAPI](../integrations/orpheus-fastapi), [Deepinfra](../integrations/deepinfra), [OpenAI](../integrations/openai), and [Custom OpenAI](../integrations/custom-openai).
|