Skip to content

CLI

The openasr binary is built from the openasr-cli crate in the open core. Install a release binary or build from source — see the CLI quickstart. From a source checkout you can run any command below via cargo run -p openasr-cli -- <args> instead of a bare openasr.

CommandPurpose
transcribe <inputs>... (alias t)Transcribe files or directories. --benchmark prints run timing instead of the transcript.
liveMicrophone / system-audio capture; streams final-per-utterance (or streaming-partial, for packs that declare it) captions.
serveLocal OpenAI-compatible HTTP API; TLS + pairing for non-loopback serving.
search [query] / pull <ref>Browse the model catalog / download and install a pack.
list / show <id-or-pack> / rm <id>List installed packs / show catalog or pack details / remove a pack.
verify <pack.oasr>Probe a local pack’s ggml integrity (no inference, no download).
speaker enroll / speaker clearManage local voice-match profiles for diarization display names (embeddings only, not authentication).
model-pack import <family>Build a local .oasr pack from source weights (maintainer tool).
config / doctor / bench-suiteEdit saved config / print environment diagnostics / run the performance suite.

Run openasr --help or openasr <command> --help for the authoritative, versioned flag list.

bash
openasr search # browse the model catalog
openasr pull whisper-small # download and install a pack
openasr list # installed packs
openasr rm whisper-small # remove an installed pack
openasr config list
openasr doctor
bash
openasr transcribe audio.wav --model whisper-small --format text

Useful transcribe flags: -m/--model (also OPENASR_MODEL), -f/--format (repeatable — text, json, srt, vtt, verbose_json, markdown), -o/--output, -l/--language (auto or a hint like en), --diarize (+ --speakers <n>), --word-timestamps, --continue-on-error (multi-input), --hotword <phrase> / --hotword-boost for phrase bias, -y/--yes to skip the download confirmation, and --offline to fail closed instead of downloading anything.

native is the default backend, so transcribe/live/serve already run it. --model-pack pins an explicit local .oasr file instead of resolving an installed model by id:

bash
openasr transcribe audio.wav --model-pack /path/to/model.oasr --format text

Unsupported native inputs fail closed rather than producing partial, timestamp, diarization, or confidence claims.

transcribe is variadic: pass several files or a directory to write one transcript per file into --output, and --benchmark to print run timing instead of the transcript.

bash
openasr transcribe /path/to/audio-dir --output /path/to/transcripts
openasr transcribe audio.wav --benchmark --model whisper-small
openasr live --source mic --max-seconds 5 --format jsonl
openasr serve