Skip to content

Command Line ​

Everything in the web UI can also be done from the terminal with the openvoicelab command. It's installed in the app's environment, so run it as venv/bin/openvoicelab (venv\Scripts\openvoicelab on Windows), or activate the venv first.

Commands ​

bash
openvoicelab                     # launch the web UI (same as `openvoicelab ui`)
openvoicelab ui [--host HOST] [--port PORT] [--share] [--debug]
openvoicelab models              # list model families, install status and checkpoints
openvoicelab install <id> ...    # install model environments (or `install all`)
openvoicelab install <id> --reinstall
openvoicelab tts <id> "text" [options]

Model family ids: vibevoice, qwen3_tts, voxcpm, chatterbox, omnivoice, echo_tts, moss_tts, kitten_tts, pocket_tts, kokoro.

tts options ​

OptionDescription
--modelCheckpoint: a Hugging Face repo id or local path (defaults to the family's first checkpoint)
--voicePreset voice name; repeat it for multiple speakers
--refReference audio for cloning; repeat it for multiple speakers
--ref-textTranscript of each --ref clip, in the same order
--designVoice description, for voice-design models
--instructStyle or emotion instruction
--languageLanguage name, e.g. English
--seedRandom seed
--param key=valueA model-specific parameter (the value is parsed as JSON); repeatable
--loraLoRA adapter path (VibeVoice)
--deviceauto (default), cuda, mps or cpu
-o, --outputOutput WAV path (defaults to outputs/)

Examples ​

bash
# Preset voice
openvoicelab tts kokoro "Hello there" --voice af_heart -o hello.wav

# Clone a voice (some models want the clip's transcript too)
openvoicelab tts qwen3_tts "Hello there" --model Qwen/Qwen3-TTS-12Hz-1.7B-Base \
    --ref my_voice.wav --ref-text "What I say in the clip." -o clone.wav

# Describe a voice
openvoicelab tts voxcpm "Hello there" --design "A warm, older British man" -o design.wav

# Style instruction with a preset
openvoicelab tts qwen3_tts "I can't believe it worked!" \
    --model Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --voice Ryan --instruct "Very happy" -o happy.wav

# Dialogue: one --ref (or --voice) per speaker
openvoicelab tts vibevoice "$(cat script.txt)" \
    --ref ovl/voices/Alice.wav --ref ovl/voices/Carter.wav -o podcast.wav

# Model-specific parameters
openvoicelab tts echo_tts "Hello there" --ref my_voice.wav --param num_steps=20 --seed 42

Each run loads the model, generates the clip, and unloads the model again. For many clips in a row, the web UI is faster because the model stays loaded.

Released under the BSD-3-Clause License.