Official Deepgram Developer Tool  ·  v0.2.6

Speech AI, in your terminal.

Transcribe, synthesize, and stream audio. The official CLI for Deepgram's speech platform.

$ curl -fsSL deepgram.com/install.sh | sh
dg — zsh — 80×24
25+
Commands
nova-3
Default STT model
Python 3.10+
Runtime
MIT
License

Everything speech AI. One command.

Built for developers who live in the terminal and need their tools to keep up.

Speech-to-text

Transcribe files and URLs with nova-3. Speaker diarization, smart formatting, topic detection, and summaries — all from one command.

$ dg listen podcast.mp3 --diarize

Live streaming

WebSocket stream from mic or stdin. Real-time transcripts with interim results and word-level timing.

Text-to-speech

Generate speech with Aura voices. Pipe to ffplay or save to file.

Agent-ready by default

Auto-detects Claude Code, Aider, and Codex. Disables prompts, routes status to stderr, switches to JSON — no flags needed.

# Auto-detected
CLAUDECODE=1
# Explicit
dg ... --agent-friendly

UNIX philosophy

Pipe-friendly.
Script-ready.

Every command writes structured data to stdout and diagnostics to stderr. Switch formats with -o json or let it auto-switch when piped. Plays nicely with every UNIX tool you already know.

JSON / YAML / table / CSV
Explicit output format, or auto-JSON when piped.
Errors to stderr
Clean stdout channel. No surprises in pipes.
Exit codes everywhere
Non-zero on error. Works in set -e scripts.
# Transcribe + extract with jq
$ dg transcribe call.mp3 -o json \
| jq '.results.channels[0] .alternatives[0].transcript'
"Hello and welcome to our Q1 review..."
# TTS piped to speaker
$ dg speak "Hello from Deepgram" \
| ffplay -nodisp -autoexit -
# Stream mic → log
$ dg listen --mic -o json | tee log.jsonl

Get started in seconds

One command. Every platform. Authenticate once, then go.

$ curl -fsSL deepgram.com/install.sh | sh
# Authenticate
$ dg login
# Transcribe
$ dg transcribe audio.mp3
# Explore
$ dg --help
Built for AI agents

Works with your AI coding tools

dg auto-detects Claude Code, Aider, Codex and more. Detected agents get non-interactive defaults, clean JSON output, and stderr-only status — automatically.

dg transcribe audio.mp3 --agent-friendly
$ dg listen --agent-friendly
{
"command": "listen",
"agent_hints": "Accepts local files or HTTP URLs...",
"requires_auth": true,
"non_interactive": true,
"output_formats": ["json", "yaml", ...]
}