Voice Studio

CLI Reference

studio.py subcommands and backend.cli flags.

studio.py (launcher)

The cross-platform launcher orchestrates setup and running. It's stdlib-only and bootstraps the virtual environment, so you run it with your system Python.

CommandWhat it does
setupOne-time: venv, deps, PyTorch/CUDA auto-detect, system-dep checks, model picker
startRun backend + frontend (auto dev/prod)
start --devForce dev (uvicorn :8880 + Vite :5173, hot reload)
start --prodForce prod (single server :8880 serving UI + API)
start --device cpuForward a device to the backend (cuda / cpu / mps / auto)
modelsRe-open the interactive model picker
install-chatterboxBuild the isolated Chatterbox env (also install-omnivoice / install-voxcpm / install-qwen)
optimize-venvsRebuild engine venvs via uv to reclaim disk (--include-main to also rebuild the base venv)
update --tag vX.Y.ZCheck out a release tag, sync deps, rebuild the frontend
python studio.py setup
python studio.py start --prod

start forwards its flags (--device, --port, …) to the backend.

backend.cli (backend directly)

For finer control, run the FastAPI backend yourself from the repo root:

python -m backend.cli --engine kokoro --device cuda --port 8880
python -m backend.cli --help
FlagDescription
--engineEngine to activate on startup (persists across restarts)
--modelHF model id or local path (VibeVoice only)
--deviceauto (default) / cuda / cpu / mps
--kokoro-langKokoro lang_code: a (US English) / b (British) / j (Japanese) / z (Mandarin)
--chatterbox-langDefault Chatterbox language_id (one of its 23 codes)
--no-chatterbox-watermarkDisable Chatterbox's Perth watermark
--models-dirWhere HF weights are cached (default backend/models/)
--hostBind host (default 0.0.0.0)
--portBind port (default 8880)
--voices-dir / --uploads-dirVoice directories
--log-leveldebug / info / warning / error
--reloadAutoreload (dev only)

Once frontend/dist exists, the backend serves the built UI too, so backend.cli alone runs the full app on one port — this is what the VPS deployment service uses. CLI flags map onto the same settings you can set via env vars — see Configuration.

On this page