mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-06 10:58:17 -05:00
[PR #16703] [CLOSED] feat: per-model TTS voice assignment #63070
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/16703
Author: @FSSCoding
Created: 8/18/2025
Status: ❌ Closed
Base:
main← Head:feature/per-model-voice-assignment📝 Commits (1)
3c66af0Implement strategic improvements based on feedback📊 Changes
6 files changed (+346 additions, -21 deletions)
View changed files
📝
backend/open_webui/models/models.py(+7 -0)📝
backend/open_webui/test/apps/webui/routers/test_models.py(+36 -0)📝
src/lib/components/admin/Settings/Audio.svelte(+157 -16)📝
src/lib/components/chat/Messages/ResponseMessage.svelte(+28 -5)📝
src/lib/components/workspace/Models/ModelEditor.svelte(+20 -0)➕
src/lib/components/workspace/Models/TTSVoiceSelector.svelte(+98 -0)📄 Description
Closes: #3347, #3097, #8354
Summary
Complete TTS workflow improvements addressing multiple user-reported issues: per-model voice assignment, dropdown UX bugs, and admin connection testing.
Features Included
1. Per-Model TTS Voice Assignment
effectiveVoice = modelVoice ?? globalVoice2. Fix TTS Dropdown UX Bug
input+datalistwith properselectelements for OpenAI TTS engine3. Add TTS Connection Test Feature
/v1/modelsand/v1/audio/voicesAPI Changes
tts_voice_idon ModelMeta (no DB migration required)Technical Implementation
tts_voice_id: Optional[str]to ModelMeta with future-compatibility commentTTSVoiceSelector.sveltecomponent that adapts to admin TTS engineUsage
Per-model voices: Edit model → TTS Configuration → Select voice → Save
Connection test: Admin Settings → Audio → Enter API URL → Click "Test" → Select preferences
Scope
Checklist
CLA Agreement
By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.