Landing page: testimonials slider, how-it-works page, 25 TTS voices
- Add testimonial slider with 8 fake caller reviews - Add how-it-works page with visual architecture diagram - Expand voice pools: Inworld 25 voices (14M/11F), ElevenLabs 22 (14M/8F) - Voice pools auto-switch when TTS provider changes - Add cover art locally, update cache-busted image refs - Add "More from Luke" footer links (MMG, prints, YouTube) - Ad channel configurable in settings UI Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -577,7 +577,12 @@ async def generate_speech_inworld(text: str, voice_id: str) -> tuple[np.ndarray,
|
||||
import base64
|
||||
import librosa
|
||||
|
||||
voice = INWORLD_VOICES.get(voice_id, DEFAULT_INWORLD_VOICE)
|
||||
# voice_id is now the Inworld voice name directly (e.g. "Edward")
|
||||
# Fall back to legacy mapping if it's an ElevenLabs ID
|
||||
if voice_id in INWORLD_VOICES:
|
||||
voice = INWORLD_VOICES[voice_id]
|
||||
else:
|
||||
voice = voice_id
|
||||
|
||||
api_key = settings.inworld_api_key
|
||||
if not api_key:
|
||||
|
||||
Reference in New Issue
Block a user