API Comparison Table

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

Text link

Bold text

Emphasis

Superscript

Subscript

Pricing
Get started
Get started

Read more

Speech-To-Text

Diarization error rate (DER) explained

TL;DR: Your transcription model might achieve a 5% Word Error Rate, but your meeting summaries can still be completely unreliable if Diarization Error Rate (DER) spikes. DER is the metric that determines whether your system correctly identifies who spoke each word, measured as the sum of three error types: Missed Speech, False Alarm, and Speaker Confusion. For production multi-speaker pipelines, a DER below 15% is the threshold for reliable speaker-labeled analytics; below 10% is the target for clean audio with controlled conditions, such as high-quality meeting assistant output. Accurate speaker attribution directly determines the reliability of downstream LLM summaries and CRM data. Our async pipeline, powered by pyannoteAI's Precision-2 model, delivers up to 3x lower DER than alternatives on conversational speech.

Speech-To-Text

Latency benchmarks for streaming speech-to-text (TTLB and P99)

TL;DR: A voice agent with a 150ms average STT latency sounds fast in a slide deck, but if its P99 spikes to 1.2 seconds, one in every hundred conversational turns breaks. This piece maps the full end-to-end streaming latency budget (network Round Trip Time (RTT), audio buffering, model inference, Voice Activity Detection (VAD) endpointing), explains why P99 and TTLB are the metrics that matter most for production user experience, and shows how to build a reproducible test harness. We cover how our Solaria-1 model delivers first partials under 103ms and final transcripts around 300ms, backed by an open, reproducible benchmark methodology.

Speech-To-Text

Multi-tenant, white-label speech-to-text for platforms

TL;DR: Building a compliant multi-tenant STT layer requires strict data isolation at the key level, granular cost attribution per tenant, and contractual infrastructure guarantees that flow through to your own SLAs. Self-hosting open-source models introduces DevOps overhead, scaling unpredictability, and the absence of built-in tenant isolation features that a managed API provides by default. Managed infrastructure with per-client keys, certified data handling, and all-inclusive pricing removes most of that build cost ($0.20–$0.61/hr with diarization, translation, and entity recognition included, compared with $240K–$480K/yr in dedicated engineering to self-host) but the isolation and attribution architecture still has to be designed correctly regardless of which vendor provides it.

Gladia CLI: transcribe audio from your terminal in one command

Published on Jul 16, 2026
By Ani Ghazaryan
Gladia CLI: transcribe audio from your terminal in one command

You have a recording on your desk and you need the text. Forty minutes later, you're reading API docs about polling intervals, writing an upload handler, and you still don't have the transcript. That gap between "I have audio" and "I have text” is filled with code nobody wants to write. Today we're shipping the shortcut.

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. See how you can use Gladia CLI skills to give your coding agent ears.

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.

Contact us

280
Your request has been registered
A problem occurred while submitting the form.

Read more