diff --git a/serverAppConfigs-docs/Dankclaw/OpenWebUI.md b/serverAppConfigs-docs/Dankclaw/OpenWebUI.md index 5e6d7e6..a0db298 100644 --- a/serverAppConfigs-docs/Dankclaw/OpenWebUI.md +++ b/serverAppConfigs-docs/Dankclaw/OpenWebUI.md @@ -290,9 +290,12 @@ on large sizes ⇒ check ComfyUI resources; 401 ⇒ the token is bad. ## Text-to-speech (frank-tts) -TTS is the fleet's one OpenAI-compatible speech endpoint — -`http://host.containers.internal:7772/v1` (`audio.tts.openai.api_base_url` -in the config DB, 2026-10-18), model `frank-tts`, voice `narrator1`. That +TTS is the fleet's one OpenAI-compatible speech endpoint. The config DB +`audio.tts.*` is set to engine `openai`, `audio.tts.openai.api_base_url` +`http://192.168.0.143:7772/v1`, `audio.tts.voice` `wilwheaton` (re-keyed +2026-10-20 from the retired `narrator1`; 7772 is a published port so +`host.containers.internal` also reaches it, but the LAN IP is the canonical +on-host form). That port is the rootless quadlet `frank-tts` (this repo: `dankclaw/voiceservice/quadlet/frank-tts.container` `scripts/frank-tts.env`), and its shim resolves `voice=` against @@ -306,8 +309,8 @@ ships an in-page Kokoro implementation (chunk carrying a frozen voice table `onnx-community/Kokoro-82M-v1.0-ONNX`, plus a personal *Kokoro.js dtype* setting). Its engine select takes `""` (Default) or `browser-kokoro`; when `browser-kokoro` is chosen the page synthesizes locally and rejects any -voice outside its fixed pack — so `narrator1` fails with -`Voice: "narrator1" not found. Should be one of: af_heart, …` **without a +voice outside its fixed pack — so `wilwheaton` fails with +`Voice: "wilwheaton" not found. Should be one of: af_heart, …` **without a single request reaching the server**. Personal audio settings are browser: no `user.settings` row and no container env carries an audio override, yet the toast still appears ⇒ the choice lives in that browser's