Official Deepgram Developer Tool · v0.2.18
Transcribe, synthesize, and stream audio. The official CLI for Deepgram's speech platform.
$ curl -fsSL deepgram.com/install.sh | sh
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.
ALL COMMANDS
Every workflow, covered.
From a quick transcription to a full production pipeline — there's a command for that.
Transcribe a local file
Smart formatting, punctuation, and speaker diarization on any audio or video file.
$ dg listen podcast.mp3 --smart-format --diarize
Fetch and transcribe a URL
$ dg listen https://dpgr.am/spacewalk.wav
Live microphone transcription
Real-time WebSocket stream with interim results as you speak.
$ dg listen --mic --smart-format
Stream via ffmpeg
Pipe any source ffmpeg can read — HLS, RTMP, webcam, or broadcast.
$ ffmpeg -i stream.m3u8 -f wav - \
| dg listen --srt
Write live WebVTT captions
Pipe real-time caption output directly to a .vtt file.
$ dg listen --mic --webvtt > captions.vtt
Pipe transcript to an LLM
Chain with any LLM CLI for instant summarization or Q&A.
$ dg listen meeting.mp3 \
| llm "summarize key decisions"
Synthesize speech to a file
$ dg speak "Hello from Deepgram" -o hello.wav
Pipe TTS to your speaker
Any text in, audio out. Works with ffplay, aplay, or mpv.
$ echo "Latest headlines" | dg speak \
| ffplay -nodisp -autoexit -
Analyze a text document
Topics, sentiment, and summary — all in one pass against Deepgram's text intelligence API.
$ dg read report.txt --topics --sentiment --summarize
Summarize piped text
$ cat transcript.txt | dg read --summarize
Authenticate the CLI
Walks through API key setup and saves it to your local profile.
Create a scoped API key
$ dg keys create "ci-runner"
List all projects
View project members
Browse available models
Filter by type, language, or tier to find the right model.
$ dg models list --type stt
Check usage and limits
View account balance
Audit recent API calls
$ dg requests list --limit 20 -o json
Call any Deepgram endpoint
Escape hatch for endpoints not yet covered by a dedicated command.
$ dg api GET /v1/projects
Diagnose audio devices
Lists input devices and tests recording capability.
Test Deepgram connectivity
Checks DNS, TLS, and WebSocket reachability to Deepgram endpoints.
Scaffold a starter app
Clone a Deepgram starter app, pre-wired and ready to run.
Run as MCP server
Expose every CLI command to Claude, Cursor, and other MCP clients.
Regenerate AI skill files
Keep your coding agent's context current with the latest commands.
Install a community plugin
$ dg plugin install deepctl-cmd-studio
Self-update the CLI
Detects your install method and runs the right upgrade command.
Install shell tab-completion
$ dg completion install --shell zsh
Get started in seconds
One command. Every platform. Authenticate once, then go.
$ curl -fsSL deepgram.com/install.sh | sh