Gladia CLI is an open-source command-line tool that transcribes audio files from your terminal in a single command. Install it, set your API key, and run gladia transcribe meeting.wav. No SDK, no HTTP boilerplate, no integration code. It's available on macOS, Linux, and Windows.
TL;DR
- What it is: a speech-to-text CLI that turns audio files into transcripts from your terminal, MIT-licensed.
- How fast: one install script, one
auth set, one transcribe command. Sources can be local files or URLs. - What it supports: speaker diarization, language constraints and code-switching, model selection (
solaria-1, solaria-3), and text, json, json-full, srt, or vtt output. - Where it shines: shell pipelines, cron jobs, CI/CD, batch folders.
- What it doesn't do: live/streaming transcription, pre-recorded audio only.
The problem: too much code between you and a transcript
Getting a transcript out of a speech-to-text API usually means writing code you'll throw away. You install an SDK or hand-roll an HTTP client, upload the file, poll for the result, parse the JSON, and format it into whatever you need. That's a few dozen lines and twenty minutes for a task that should take one line and five seconds.
And most of the time you don't want an integration. You have a recording of a customer call sitting in a folder, and you want the transcript out of it. Gladia CLI removes the code layer.
Everything the Gladia API does for pre-recorded audio is available as a flag.
Install and first transcript in under a minute
Install on macOS or Linux:
curl -fsSL https://github.com/gladiaio/gladia-cli/releases/latest/download/install.sh | sh
On Windows:
powershell -c "irm https://github.com/gladiaio/gladia-cli/releases/latest/download/install.ps1 | iex"
Grab an API key from the Gladia app and save it:
gladia auth set your_key
The key is stored in ~/.gladia with 0600 permissions. You can also export GLADIA_API_KEY or pass --gladia-key on any command — the CLI resolves credentials in that order: environment variable, then ~/.gladia, then the flag.
Then transcribe:
gladia transcribe meeting.wav
The source can be a local file or a URL, so you can skip the download step entirely:
gladia transcribe https://example.com/audio.mp3 -o json
What you can do from the command line
Choose your output format
Use -o to pick the format: text (default), json, json-full, srt, or vtt. This is usually where the glue code goes: the API hands back JSON, and what you actually needed was a subtitle file or a paragraph of text.
text gives you something you can pipe into grep, wc, or an LLM. srt and vtt come out ready to drop straight into a video pipeline, no conversion step. json is the structured result for downstream processing, and json-full gives you the complete API response when you need everything the API returned rather than the parts the CLI surfaces.
gladia transcribe call.wav --diarize -o srt
Identify who spoke when
Add --diarize to label speakers in the transcript (Speaker 0: …). It's off by default and works with any output format, though it's most useful with text, srt, and vtt.
The distinction matters more than it sounds. A wall of undifferentiated text from a four-person meeting is technically a transcript and practically unusable: you can't tell who committed to what. Diarization is where transcripts of multi-speaker audio stop being a search index and start being a record. It's also where Gladia is strongest. Powered by pyannote precision 2 model, our diarization scores 3x lower DER than alternative vendors, in a recent open benchmark.
Handle multilingual audio
Gladia CLI auto-detects language by default. Pass --language en,fr,de to constrain detection to a known set, and --code-switching to re-detect language on every utterance — useful for calls where speakers switch mid-sentence. The two flags are independent: --language narrows detection, --code-switching turns on per-utterance switching. Run gladia languages to list valid ISO 639-1 codes.
Worth knowing which one you need. If you already know the recording is a French sales call, --language fr removes the guesswork and stops the model from wandering. If you have a Paris standup where three people slip between French and English in the same sentence, detection-once-per-file is the wrong shape entirely — that's --code-switching. Auto-detect is the right default when you're transcribing a folder of files you haven't listened to.
gladia transcribe mixed.mp3 --code-switching --language en,fr
Pick your model
--model solaria-1 or --model solaria-3 selects the speech-to-text model; leave it out to use the API default.
The two aren't a new-versus-old pair, they're two jobs. Solaria-3 is built for European real-world business audio and it ranks #1 on production recordings in English, French, German, Spanish, and Italian. Solaria-1 is the breadth model: 100+ languages with native code-switching, and it still wins on clean read-speech and formal audio.
That means the honest answer to "which model should I use?" depends on your audio, and the CLI is the cheapest way to find out. Two commands, same file, diff the output:
gladia transcribe sample.wav --model solaria-1 > s1.txt
gladia transcribe sample.wav --model solaria-3 > s3.txt
diff s1.txt s3.txt
No integration, no evaluation harness, and no meeting about it. You read the difference on your own recording and pick.
Where a CLI beats an API integration
Anything scriptable. Because the CLI is a single Go binary with no language runtime to install, it drops straight into shell pipelines, cron jobs, and CI/CD steps:
for f in recordings/*.wav; do
gladia transcribe "$f" --diarize -o json > "transcripts/$(basename "$f" .wav).json"
done
That's a batch transcription of a whole directory in three lines. Add -v to watch progress while it polls.
The credential order pays off here too. Locally, gladia auth set writes the key once to ~/.gladia and you forget about it. In CI, you set GLADIA_API_KEY as a secret and the same command works untouched, because the environment variable takes precedence. Nothing to change between your laptop and the pipeline.
None of this is an argument against the API. If you're building transcription into a product, use the API, that's what it's for. The CLI is for everything else you do with audio: the one-off, the sanity check, the folder of files, the cron job nobody wants to own. Those tasks never justified an integration, so they got done by hand or not at all.
Open source, and open to contributions
Gladia CLI is MIT-licensed and written in Go. The source, issues, and pull requests live at our GitHub. If a flag is missing or an output format doesn't fit your workflow, open an issue or send a PR.
curl -fsSL https://github.com/gladiaio/gladia-cli/releases/latest/download/install.sh | sh
FAQ
What is Gladia CLI?
Gladia CLI is an open-source command-line tool that transcribes audio files using Gladia's speech-to-text API. It supports speaker diarization, multilingual and code-switching configuration, model selection, and text, JSON, SRT, or VTT output, all from a single terminal command.
How do I transcribe an audio file from the command line?
To transcribe audio from the command line install Gladia CLI, set your API key with gladia auth set your_key, and run gladia transcribe meeting.wav. The source can be a local file path or a URL.
Is Gladia CLI free?
The CLI itself is free and open source under an MIT license. Transcription runs against the Gladia API, so usage is billed under your Gladia plan.
Does Gladia CLI support real-time transcription?
No. For now, Gladia CLI works with pre-recorded audio files only. Real-time and streaming transcription are available through the Gladia API.
Can Gladia CLI identify different speakers?
Yes. Add the --diarize flag and the transcript includes speaker labels such as Speaker 0:. Diarization is off by default and works with any output format.
Should I use solaria-1 or solaria-3 with the CLI?
Use --model solaria-3 for real-world business audio: noisy and multi-speaker recordings in English, French, German, Spanish, or Italian. Use --model solaria-1 for clean or formal audio and for language breadth, with 100+ languages and native code-switching. The fastest way to decide is to run the same file through both and diff the output.
Does Gladia CLI work on Windows?
Yes. There's a PowerShell install script for Windows alongside the shell script for macOS and Linux, plus prebuilt binaries for other platforms on the GitHub page.
Can I use Gladia CLI in a CI/CD pipeline?
Yes. It's a single binary with no runtime dependencies, and it reads credentials from the GLADIA_API_KEY environment variable, which makes it straightforward to use in CI jobs, cron tasks, and shell scripts.
How do I transcribe multilingual audio with Gladia CLI?
Language is auto-detected by default. Use --language en,fr,de to constrain detection to specific languages, and add --code-switching when speakers switch languages within the same recording.