- Updated environment variables documentation to include Replicate as a TTS provider option. - Added Replicate to the sidebar for TTS provider guides. - Included Replicate as a dependency in package.json and pnpm-lock.yaml. - Enhanced audiobook chapter generation to normalize native speed settings based on the TTS provider. - Improved error handling in TTS API routes to provide retry information for rate-limited responses. - Updated AudiobookExportModal to reflect native speed support for Replicate models. - Modified SettingsModal to set default model for Replicate. - Enhanced SpeedControl component to conditionally render native speed controls based on provider support. - Updated TTSContext to utilize effective native speed for TTS requests. - Implemented Replicate request handling in the TTS generation logic. - Added new documentation for configuring Replicate as a TTS provider.
53 lines
2.9 KiB
Markdown
53 lines
2.9 KiB
Markdown
---
|
|
id: intro
|
|
title: Introduction
|
|
slug: /
|
|
---
|
|
|
|
OpenReader is an open source text-to-speech document reader built with Next.js. It provides a read-along experience with narration for **EPUB, PDF, TXT, MD, and DOCX documents**.
|
|
|
|
> Previously named **OpenReader-WebUI**.
|
|
|
|
It supports multiple TTS providers including OpenAI, Replicate, DeepInfra, and custom OpenAI-compatible endpoints such as [Kokoro-FastAPI](https://github.com/remsky/Kokoro-FastAPI), [KittenTTS-FastAPI](https://github.com/richardr1126/KittenTTS-FastAPI), and [Orpheus-FastAPI](https://github.com/Lex-au/Orpheus-FastAPI).
|
|
|
|
## ✨ Highlights
|
|
|
|
- 🎯 **Multi-Provider TTS Support**
|
|
- [**Kokoro-FastAPI**](https://github.com/remsky/Kokoro-FastAPI): supports multi-voice combinations (for example `af_heart+af_bella`)
|
|
- [**KittenTTS-FastAPI**](https://github.com/richardr1126/KittenTTS-FastAPI): lightweight, CPU-friendly self-hosted TTS
|
|
- [**Orpheus-FastAPI**](https://github.com/Lex-au/Orpheus-FastAPI)
|
|
- **Custom OpenAI-compatible**: any TTS API with `/v1/audio/voices` and `/v1/audio/speech` endpoints
|
|
- **Cloud TTS providers**:
|
|
- [**Replicate**](https://replicate.com/explore): `google/gemini-3.1-flash-tts`, `minimax/speech-2.8-turbo`, `qwen/qwen3-tts`, and `inworld/tts-1.5-mini`
|
|
- [**DeepInfra**](https://deepinfra.com/models/text-to-speech): Kokoro-82M and other hosted models
|
|
- [**OpenAI API**](https://platform.openai.com/docs/pricing#transcription-and-speech): `tts-1`, `tts-1-hd`, and `gpt-4o-mini-tts`
|
|
- 🛜 **Server-side Document Storage**
|
|
- Documents are persisted in server blob/object storage for consistent access
|
|
- 📚 **External Library Import**
|
|
- Import documents from server-mounted folders
|
|
- 🎧 **Server-side Audiobook Export** in `m4b`/`mp3` with resumable chapter generation
|
|
- 📖 **Read Along Experience**
|
|
- Real-time highlighting for PDF/EPUB, with optional word-level [whisper.cpp](https://github.com/ggml-org/whisper.cpp) timestamps
|
|
- 🔐 **Auth Optional by Design**
|
|
- Run no-auth for local use, or enable auth with user isolation and claim flow
|
|
- 🗂️ **Flexible Storage and Database Modes** with embedded defaults or external S3/Postgres
|
|
- 🚀 **Production-ready Server Behavior** with TTS caching/retries/rate limits and startup migrations
|
|
- 🎨 **Customizable Experience**
|
|
- 13 built-in themes (light and dark palettes), TTS, and document handling controls
|
|
|
|
## 🧭 Key Docs
|
|
|
|
- [Docker Quick Start](./docker-quick-start)
|
|
- [Local Development](./deploy/local-development)
|
|
- [Vercel Deployment](./deploy/vercel-deployment)
|
|
- [Environment Variables](./reference/environment-variables)
|
|
- [Auth](./configure/auth)
|
|
- [Database](./configure/database)
|
|
- [Object / Blob Storage](./configure/object-blob-storage)
|
|
- [Migrations](./configure/migrations)
|
|
- [Server Library Import](./configure/server-library-import)
|
|
- [TTS Providers](./configure/tts-providers)
|
|
|
|
## Source Repository
|
|
|
|
- GitHub: [richardr1126/openreader](https://github.com/richardr1126/openreader)
|