MacawMacaw OpenVoice
Guides

CLI Reference

Macaw ships with an Ollama-style CLI for managing models, running the server, and transcribing audio. All commands are available via the macaw binary.

macaw --help

Commands

macaw serve

Start the API server and gRPC workers.

Basic usage
macaw serve
Custom host and port
macaw serve --host 0.0.0.0 --port 9000
FlagDefaultDescription
--host127.0.0.1Bind address
--port8000HTTP port
--models-dir~/.macaw/modelsModels directory
--cors-origins*Allowed CORS origins
--log-formattextLog format (text or json)
--log-levelinfoLog level (debug, info, warning, error)

The server starts:

  1. FastAPI HTTP server on the specified port
  2. STT gRPC worker on port 50051
  3. TTS gRPC worker on port 50052

Production

For production deployments, use structured logging and bind to all interfaces:

macaw serve --host 0.0.0.0 --log-format json --log-level info

macaw transcribe

Transcribe an audio file or stream from the microphone.

Transcribe a file
macaw transcribe recording.wav --model faster-whisper-large-v3
Stream from microphone
macaw transcribe --stream --model faster-whisper-large-v3
FlagShortDefaultDescription
--model-mModel to use (required)
--formatjsonOutput format (json, text, verbose_json, srt, vtt)
--language-lautoLanguage code (e.g., en, pt)
--no-itnDisable Inverse Text Normalization
--hot-wordsComma-separated hot words
--streamStream from microphone instead of file
--serverhttp://localhost:8000Server URL (connects to running server)

File mode sends the audio to the REST API for batch transcription. Stream mode connects to the WebSocket endpoint for real-time transcription.

With hot words and language
macaw transcribe call.wav -m faster-whisper-large-v3 -l pt --hot-words "Macaw,OpenVoice"
Output as subtitles
macaw transcribe video.wav -m faster-whisper-large-v3 --format srt

macaw translate

Translate audio to English.

Translate Portuguese audio
macaw translate reuniao.wav --model faster-whisper-large-v3
FlagShortDefaultDescription
--model-mModel to use (required)
--formatjsonOutput format
--no-itnDisable ITN
--hot-wordsComma-separated hot words
--serverhttp://localhost:8000Server URL

English output only

Translation always produces English text, regardless of the source language. This matches the OpenAI API behavior.


macaw list

List installed models.

macaw list
NAME                        TYPE   ENGINE            SIZE
faster-whisper-large-v3     stt    faster-whisper    3.1 GB
kokoro                      tts    kokoro            982 MB
wenet-chinese               stt    wenet            1.2 GB
FlagDefaultDescription
--models-dir~/.macaw/modelsModels directory to scan

macaw inspect

Show detailed information about a model.

macaw inspect faster-whisper-large-v3
Name:           faster-whisper-large-v3
Type:           stt
Engine:         faster-whisper
Architecture:   encoder-decoder
Size:           3.1 GB

Capabilities:
  Hot words:          false (via initial_prompt workaround)
  Initial prompt:     true
  Batch:              true
  Word timestamps:    true
  Max concurrent:     1

Engine Config:
  beam_size:          5
  vad_filter:         false
  compute_type:       float16
  device:             cuda
FlagDefaultDescription
--models-dir~/.macaw/modelsModels directory

macaw ps

List models loaded on a running server.

macaw ps
NAME                        TYPE   ENGINE            STATUS
faster-whisper-large-v3     stt    faster-whisper    ready
kokoro                      tts    kokoro            ready
FlagDefaultDescription
--serverhttp://localhost:8000Server URL to query

This queries the GET /v1/models endpoint on the running server.


macaw pull

Download a model from HuggingFace Hub.

Download a model
macaw pull faster-whisper-large-v3
Force re-download
macaw pull faster-whisper-large-v3 --force
FlagDefaultDescription
--models-dir~/.macaw/modelsDownload destination
--forceRe-download even if already exists

macaw remove

Remove an installed model.

Remove with confirmation
macaw remove faster-whisper-large-v3
Skip confirmation
macaw remove faster-whisper-large-v3 --yes
FlagShortDefaultDescription
--models-dir~/.macaw/modelsModels directory
--yes-ySkip confirmation prompt

Typical Workflow

1. Install a model
macaw pull faster-whisper-large-v3

# 2. Verify it's installed
macaw list

# 3. Start the server
macaw serve

# 4. In another terminal — check loaded models
macaw ps

# 5. Transcribe a file
macaw transcribe audio.wav -m faster-whisper-large-v3

# 6. Stream from microphone
macaw transcribe --stream -m faster-whisper-large-v3

# 7. Translate foreign audio
macaw translate foreign.wav -m faster-whisper-large-v3

Environment Variables

CLI commands respect these environment variables:

VariableDefaultDescription
MACAW_MODELS_DIR~/.macaw/modelsDefault models directory
MACAW_SERVER_URLhttp://localhost:8000Default server URL for client commands
MACAW_LOG_LEVELinfoDefault log level
MACAW_LOG_FORMATtextDefault log format