## App Routing

Map incoming requests from apps like Open WebUI or SillyTavern to specific voices and backends.

## TTS voice routing

Map incoming app voice names to real cloned voices and backends. Rules are matched top-to-bottom by app name, voice, and detected language.

Recommended OpenAI-compatible TTS base URL: ``. If an app asks for the full speech endpoint instead of a base URL, use `/v1/audio/speech`. Rules can turn an incoming app voice such as `default` into a real cloned voice before the request is sent to Qwen3-TTS. The app name is read from request JSON fields `app`/`client`, headers such as `X-TTS-App`, or guessed from `User-Agent`/`Origin`. If a client cannot send that, use app `*` or give each app a unique incoming voice name. For Open WebUI, set Audio → Text-to-Speech → Additional Parameters to `{"app":"Open WebUI"}` so these routes match explicitly. For Home Assistant, set the TTS agent base URL to this Creator proxy, not the direct Qwen backend, and use extra payload `{"app":"Home Assistant"}`. Use Response splitting `Punctuation` for lower perceived latency. Backend chooses whether this route uses normal Voice Clone, low-latency Streaming, or Voice Design presets such as `vd_...`. Streaming routes cannot apply before/after sounds without buffering. Language rules use lightweight text detection for EN, DE, FR, ES, IT, PT, NL, and PL. Optional before/after sounds are audio files inside the configured voices folder, for example `sounds/start.wav`.
Do not use `0.0.0.0` in Open WebUI. Use this machine's LAN IP, hostname, or Docker service name instead.
No routes loaded.
Das ist ein kurzer deutscher Routing Test.
On
App
Input voice
Language
Backend
Output voice
Before sound
After sound

## Sound browser

Preview uploaded route sounds, then apply one as a before or after sound.

## Routing log

Recent route tests and proxy requests. This log is kept in memory and resets when the server restarts.

No routing log entries yet.