@fredlackey/cli-transcribe
v0.0.3
Published
Multi-provider transcription CLI for meetings, notes, and YouTube workflows
Downloads
43
Maintainers
Readme
cli-transcribe
cli-transcribe is a Node.js CLI for transcription workflows across hosted and local providers.
Supported providers:
assemblyaielevenlabswhispercpp
Implemented workflow commands:
transcribe meetingtranscribe notestranscribe youtube
The CLI also includes configuration, setup, status, provider, and model inspection commands.
Install
Install globally from npm:
npm install -g @fredlackey/cli-transcribeThen run the CLI:
transcribe --helpFor local development from source:
npm install
node src/bin/transcribe.js --helpCommand Surface
Top-level commands:
transcribe configure
transcribe provider
transcribe media
transcribe transcript
transcribe job
transcribe model
transcribe meeting
transcribe notes
transcribe setup
transcribe status
transcribe youtubeGlobal options:
--json--interactive--output <mode>--profile <name>--provider <provider>--model <model>--region <region>--debug
Current implementation notes:
meeting,notes,youtube,configure,setup,status,provider, andmodelare implemented.media,transcript, andjobare scaffolded command groups and currently return placeholder responses rather than full workflows.
Configuration
Config is stored at:
~/.config/cli-transcribe/config.jsonInitialize config:
transcribe configure initInspect config:
transcribe configure list
transcribe configure get
transcribe configure get workflows.meeting
transcribe configure get workflows.noteSet values directly:
transcribe configure set workflows.meeting.defaultProvider assemblyai
transcribe configure set workflows.meeting.sourceDir /Users/flackey/Recordings
transcribe configure set workflows.meeting.outputDir /Users/flackey/Transcriptions
transcribe configure set workflows.note.defaultProvider elevenlabs
transcribe configure set workflows.note.sourceDir /Users/flackey/VoiceNotes
transcribe configure set workflows.note.outputDir /Users/flackey/NotesTranscripts
transcribe configure set workflows.youtube.downloadDir /Users/flackey/Downloads/cli-transcribe
transcribe configure set providers.local.whispercpp.modelPath /absolute/path/to/ggml-small.en.binInteractive configuration:
transcribe configure
transcribe configure providers
transcribe configure workflowsHosted providers use saved provider accounts in config or a direct --key passed at runtime. whispercpp does not use an API key.
Setup And Status
Inspect or install local dependencies:
transcribe setup --check
transcribe setup
transcribe setup --dry-runCurrent dependency targets:
ffmpegyt-dlpwhisper-cli
Inspect runtime state:
transcribe status
transcribe --json status
transcribe --interactive statustranscribe status reports current config, local dependency readiness, provider setup, whispercpp model configuration, and workflow defaults.
Usage
Meeting transcription:
transcribe meeting --provider assemblyai --file /path/to/meeting.mp4
transcribe meeting --provider elevenlabs --file /path/to/meeting.wav --format markdown
transcribe meeting --provider whispercpp --file /path/to/meeting.m4a --out ./meeting.json --format json
transcribe meeting --provider assemblyai --file /path/to/stereo-call.wav --multichannel
transcribe meeting --provider assemblyai --folder /Users/flackey/Recordings
transcribe meeting --provider whispercpp --folder /Users/flackey/Recordings --out ./meeting-transcriptsNotes transcription:
transcribe notes --provider assemblyai --file /path/to/note.m4a
transcribe notes --provider elevenlabs --file /path/to/voice-memo.wav --format markdown
transcribe notes --provider whispercpp --file /path/to/brainstorming-note.m4a --out ./note.json --format json
transcribe notes --provider elevenlabs --folder /Users/flackey/VoiceNotes
transcribe notes --provider whispercpp --folder ./voice-notes --out ./note-transcriptsYouTube transcription:
transcribe youtube "https://youtube.com/watch?v=123" --provider assemblyai
transcribe youtube "https://youtube.com/watch?v=123" --provider whispercpp --speakers
transcribe youtube "https://youtube.com/watch?v=123" --provider elevenlabs --format markdown
transcribe youtube "https://youtube.com/watch?v=123" --provider assemblyai --keep-mediaUsage notes:
meetingandnotesrequire exactly one of--fileor--folder.- In folder mode, existing transcript outputs are skipped automatically.
- When
--outis provided in folder mode, it must be a directory. meetingauto-prepares.mp4inputs by creating a sibling.mp3withffmpegwhen needed.youtube --speakersandyoutube --meetingare equivalent.
If you have a saved provider account slug, you can use it instead of the raw provider id:
transcribe meeting --provider my-assembly --file /path/to/meeting.mp4If you do not want to use saved config, pass a key directly:
transcribe meeting --provider assemblyai --file /path/to/meeting.mp4 --key YOUR_API_KEYProvider Notes
assemblyai:
- hosted async transcription flow
- supports
meeting,notes, andyoutube - uses configured account credentials or
--key
elevenlabs:
- hosted batch transcription flow
- supports
meeting,notes, andyoutube - uses configured account credentials or
--key
whispercpp:
- local offline transcription flow
- supports
meeting,notes, andyoutube - requires a resolvable
whisper-clibinary,ffmpeg, and a local model file - model selection is controlled by config or global
--model
Documentation
Contributing
If you find a gap or have a feature request, open an issue or submit a pull request on GitHub.
Questions?
If you have questions, comments, or just want to talk shop, feel free to reach out.
Fred Lackey
[email protected]
https://fredlackey.com
License
Apache-2.0
