✨ Features
- shell:
- SvelteKit application using Svelte 5 runes and Skeleton UI.
- sticky full-width navigation with six active work areas.
- contextual right panel for voices, models, output formats, examples, and mode-specific settings.
- full-width History mode without the right sidebar.
- work_areas:
- Speech:
- single-voice text-to-speech.
- dialogue mode folded into the Speech tab.
- Ctrl or Cmd plus Enter generation shortcut.
- multilingual prompt examples with expressive Eleven v3 tags.
- Voices:
- searchable voice library loaded from ElevenLabs.
- automatic default voice selection when no voice is chosen.
- voice parsing helper keeps names, taglines, and descriptions consistent.
- Designer:
- text-to-voice design previews.
- loudness, guidance scale, output format, prompt strength, and optional reference audio.
- save path can enrich voice metadata through OpenRouter when the optional key is configured.
- SFX:
- sound-generation prompt workflow.
- duration, prompt influence, and loop-friendly ambient presets.
- quick examples for explosions, rain, cars, bells, fire, wind, and other common effects.
- Batch:
- queued generation items with processing state and per-item results.
- designed for repeatable prompt sets rather than one-off manual generation.
- History:
- local history capped by application state.
- tracks tts, dialogue, sfx, designer, and batch sources.
- stores generated audio as data URLs for later playback and downloads.
- audio_experience:
- bottom player persists across tabs.
- blob URLs are cleaned up before replacement.
- current voice name and source type are shown alongside playback state.
- model_defaults:
- speech model: eleven_v3.
- voice design model: eleven_ttv_v3.
- default output: mp3_44100_128.
- alternate outputs include higher bitrate MP3, PCM, μ-law, and designer WAV formats.
- reliability_guards:
- app requires login before workspace access.
/api/elevenlabs routes are rate-limited per auth cookie.
- voice list auto-recovers when cleared by downstream actions.
- API calls are server-side proxies so browser code never receives ElevenLabs credentials.