@wovin/tranz-cli
v0.1.5
Published
CLI for audio and video transcription
Readme
@wovin/tranz-cli
CLI for audio and video transcription
Quick Start
Transcribe an audio file using the Mistral provider with speaker diarization and segment-level timestamps:
tranz scribe --provider mistral --timestamps segment --diarization path/to/audio.fileSetup / Configuration
Installation
# npm
npm install -g @wovin/tranz-cli
# pnpm
pnpm add -g @wovin/tranz-cli
# yarn
yarn global add @wovin/tranz-cli
# deno
deno install -g jsr:@wovin/tranz-cli
# jsr (for any runtime)
npx jsr add -g @wovin/tranz-cliAPI Key Configuration
The scribe command supports multiple transcription providers. For API-based providers (Mistral, GreenPT), you need to configure an API key.
Option 1: Environment Variable (Recommended)
export MISTRAL_API_KEY="your-api-key-here"
tranz scribe path/to/audio.mp3Option 2: Secret File
Create a secret file in the project directory:
mkdir -p secret
echo "your-api-key-here" > secret/mistralThe tool will automatically look for secret/mistral if the MISTRAL_API_KEY environment variable is not set.
Supported Providers
- whisper (default) - Local Whisper transcription (no API key needed)
- mistral - Mistral Voxtral transcription API
- greenpt - GreenPT transcription API
For GreenPT, use the same pattern with GREENPT_API_KEY or secret/greenpt.
Common Examples
Basic transcription with Whisper (local, no API key)
tranz scribe path/to/audio.mp3Mistral with specific model
tranz scribe path/to/audio.mp3 --provider mistral --model voxtral-mini-latestMistral with word-level timestamps and diarization
tranz scribe path/to/audio.mp3 --provider mistral --timestamps word --diarizationTranscribe with preprocessing and normalization
tranz scribe path/to/audio.mp3 --prep --normGreenPT with language specification
tranz scribe path/to/audio.mp3 --provider greenpt --language enUsage
$ npm install -g @wovin/tranz-cli
$ tranz COMMAND
running command...
$ tranz (--version)
@wovin/tranz-cli/0.0.26 linux-x64 node-v22.20.0
$ tranz --help [COMMAND]
USAGE
$ tranz COMMAND
...Commands
tranz help [COMMANDS]tranz pluginstranz plugins:install PLUGIN...tranz plugins:inspect PLUGIN...tranz plugins:install PLUGIN...tranz plugins:link PLUGINtranz plugins:uninstall PLUGIN...tranz plugins:uninstall PLUGIN...tranz plugins:uninstall PLUGIN...tranz plugins updatetranz prep INPUTtranz scribe INPUT
tranz help [COMMANDS]
Display help for tranz.
USAGE
$ tranz help [COMMANDS] [-n]
ARGUMENTS
COMMANDS Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for tranz.See code: @oclif/plugin-help
tranz plugins
List installed plugins.
USAGE
$ tranz plugins [--json] [--core]
FLAGS
--core Show core plugins.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List installed plugins.
EXAMPLES
$ tranz pluginsSee code: @oclif/plugin-plugins
tranz plugins:install PLUGIN...
Installs a plugin into the CLI.
USAGE
$ tranz plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ tranz plugins add
EXAMPLES
$ tranz plugins:install myplugin
$ tranz plugins:install https://github.com/someuser/someplugin
$ tranz plugins:install someuser/someplugintranz plugins:inspect PLUGIN...
Displays installation properties of a plugin.
USAGE
$ tranz plugins:inspect PLUGIN...
ARGUMENTS
PLUGIN [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ tranz plugins:inspect mypluginSee code: @oclif/plugin-plugins
tranz plugins:install PLUGIN...
Installs a plugin into the CLI.
USAGE
$ tranz plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ tranz plugins add
EXAMPLES
$ tranz plugins:install myplugin
$ tranz plugins:install https://github.com/someuser/someplugin
$ tranz plugins:install someuser/somepluginSee code: @oclif/plugin-plugins
tranz plugins:link PLUGIN
Links a plugin into the CLI for development.
USAGE
$ tranz plugins:link PLUGIN
ARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ tranz plugins:link mypluginSee code: @oclif/plugin-plugins
tranz plugins:uninstall PLUGIN...
Removes a plugin from the CLI.
USAGE
$ tranz plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ tranz plugins unlink
$ tranz plugins removetranz plugins:uninstall PLUGIN...
Removes a plugin from the CLI.
USAGE
$ tranz plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ tranz plugins unlink
$ tranz plugins removeSee code: @oclif/plugin-plugins
tranz plugins:uninstall PLUGIN...
Removes a plugin from the CLI.
USAGE
$ tranz plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ tranz plugins unlink
$ tranz plugins removetranz plugins update
Update installed plugins.
USAGE
$ tranz plugins update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.See code: @oclif/plugin-plugins
tranz prep INPUT
Prepare audio file - normalize, noise reduce, split on silence
USAGE
$ tranz prep INPUT [-n] [-o <value>] [-s <value>] [-d <value>]
ARGUMENTS
INPUT input file
FLAGS
-d, --sildur=<value> [default: 1.1] silence duration
-n, --norm do normalization?
-o, --output=<value> [default: ./out] output directory
-s, --silence=<value> [default: -45dB] silence threshold
DESCRIPTION
Prepare audio file - normalize, noise reduce, split on silence
EXAMPLES
$ tranz prep path/to/audio.mp3See code: src/commands/prep/index.ts
tranz scribe INPUT
Transcribe audio file - optionally prepare first
USAGE
$ tranz scribe INPUT [-o <value>] [-p] [-n] [-d]
ARGUMENTS
INPUT input file
FLAGS
-d, --separate_speakers separate via diarization
-n, --norm do normalization?
-o, --output=<value> [default: ./out] output directory
-p, --prep do prep?
DESCRIPTION
Transcribe audio file - optionally prepare first
EXAMPLES
$ tranz scribe 'path/to/16khz-audiofile.wav'
runs whisper and outputs and saves a transcription json
$ tranz scribe 'path/to/whatever-audiofile.mp3' -p
first prepares and then runs whisper and outputs and saves a transcription jsonSee code: src/commands/scribe/index.ts
