Add dynamic ElevenLabs voice catalog with provider toggle in the UI, allowing users to browse ElevenLabs voices, configure stability and similarity boost settings, and preview/synthesize with ElevenLabs TTS. Backend: - New elevenlabs_voices.py service with 1-hour cached API fetching - TTS routes support ?provider= query param for voices and options - Preview endpoint routes to ElevenLabs or Gemini based on provider - stability/similarity_boost params flow through TTS synthesis pipeline - TTSPreferences model extended with ElevenLabs-specific fields - Deprecated hardcoded elevenlabs_voices config (now fetched dynamically) Frontend: - Provider toggle (Gemini/ElevenLabs) in VoiceSelector - ElevenLabsSettingsPanel with stability and similarity boost sliders - VoicePreviewButton supports provider-specific preview parameters - API client passes provider param to voices, options, and preview endpoints - New VoiceInfo, ProviderVoicesResponse, ProviderOptionsResponse types Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __pycache__ | ||
| audit_logger.py | ||
| elevenlabs_voices.py | ||
| emailer.py | ||
| ffmpeg_http_service.py | ||
| gcs.py | ||
| gemini.py | ||
| gemini_tts.py | ||
| microsoft_auth.py | ||
| secrets_manager.py | ||
| tts.py | ||
| validation.py | ||
| video_renderer.py | ||
| vtt_retimer.py | ||
| websocket.py | ||
| websocket_publisher.py | ||
| whisper_http_service.py | ||
| whisper_service.py | ||
| zip_download.py | ||