Copy ready-made configuration snippets for SillyTavern, Open WebUI, Home Assistant, MCP agents, and more.
Expose voice tools to Claude Code, Cursor, and other MCP-aware agents via Streamable HTTP (JSON-RPC 2.0). Tools: speak, transcribe, list_captures, list_profiles.
http://localhost:7890/mcp
claude mcp add voice-creator --transport http --url http://localhost:7890/mcp --header "X-Voice-Creator-Client-Id: claude-code"
{"mcpServers":{"voice-creator":{"url":"http://localhost:7890/mcp","headers":{"X-Voice-Creator-Client-Id":"my-agent"}}}}
Generate audio from any app or script without routing rules.
curl -X POST http://localhost:7890/speak \
-H "Content-Type: application/json" \
-H "X-Voice-Creator-Client-Id: my-script" \
-d '{"text":"Hello world","voice":"EN_F_Anna"}' \
--output speech.wav
curl -X PUT http://localhost:7890/speak/bindings/my-script \
-H "Content-Type: application/json" \
-d '{"voice":"EN_F_Anna"}'
Push-to-talk transcription that types the result into any focused window on the host machine.
pip install pynput sounddevice soundfile pyperclip requests python hotkey_daemon.py --server http://localhost:7890Hold Ctrl+Shift+Space to record, release to transcribe and type. Linux: install
xdotool for direct key injection.
The editor creates and manages the voice files. External apps should connect to the Creator proxy or a reachable TTS backend, then use one of the active voice names.
Use an OpenAI-compatible TTS provider. Paste one active voice into the voice field, or paste the comma-separated list where SillyTavern accepts custom voices.
Enable TTS in Open WebUI under Settings → Audio. Set API base URL to this app's proxy and pick any active voice name. STT also works via the same proxy.
Use this as a REST example for automations or scripts that call the TTS backend. Save the returned audio somewhere Home Assistant can play from.
Quick terminal test for the voice list and speech endpoint after restarting the TTS container.
Use saved Voice Design prompt presets without exporting WAVs. Point the external app at this creator app as an OpenAI-compatible TTS proxy and select a vd_... voice.
The app ships a built-in MCP server at /mcp (JSON-RPC 2.0, Streamable HTTP). No external script or extra packages needed. Tools: speak, transcribe, list_captures, list_profiles.
POST text to /speak from any script, agent, or app. Voice resolves from explicit param → per-client binding → default voice. Optional persona LLM rewrite.
Use this when the target app can play audio progressively. For routed streaming, keep response format WAV and avoid before/after route sounds, otherwise the proxy must buffer before playback.
After enabling, hiding, adding, renaming, cropping, or normalising voices, restart the Qwen3-TTS container so its engine scans the updated active_voices folder. Then refresh the model or voice list in the target app.
Virtual VoiceDesign voices are different: they use saved prompt presets through this app's proxy and do not need a WAV export or TTS-container rescan. They do need the faster-qwen3-tts-voicedesign container reachable from Settings.