- Add concurrent TTS processing with configurable limit (3 parallel requests)
- Use FFmpeg stream copy instead of re-encoding for 10-20x faster combining
- Cache chapter durations to sidecar files to avoid repeated ffprobe calls
- Add text chunking for TTS providers with character limits (Groq: 3800, OpenAI: 4096)
- Include WAV and MP3 buffer concatenation for chunked audio
- Add page mapping cache to optimize chapter regeneration
- Increase middleware client max body size to 100mb
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>