ffai-cli
The ffai binary — a thin shell over the FFai library crates, the way the ffmpeg binary is a thin shell over libav*.
It contains no logic. Every capability lives in a crate you can embed; this only parses arguments and prints. If the CLI can do it, your application can do it without the CLI.
Speech
Output format follows the extension, as ffmpeg -o does.
Discovery
ffai engines prints stub / experimental / stable honestly — a stub is registered and selectable and will tell you it is a stub rather than failing obscurely.
Benchmarking
Runs the engine and every declared reference over the same holdout clips, scores them with the same metric code, and appends a record to bench/ledger.jsonl.
Flags that mean what they say
Conflicting flags error rather than silently picking one: --no-vad with --diarize is refused, because diarization needs speech segmentation and quietly degrading would be worse. Out-of-range thresholds are rejected with the reason. A flag that implies another says so on stderr.
License
MIT OR Apache-2.0.