Usage: dg [OPTIONS] COMMAND [ARGS]...
████████████████
██████████████████
████████████████████
█████████████████████
███████ ████████
███████ ███████
████████
███████████████
████████████████
████████████████
████████████████
deepctl — Official Deepgram CLI STT · TTS · Audio IntelligenceThe official Deepgram CLI brings speech-to-text, text-to-speech, audio
intelligence, and project management directly into your terminal. Aliases:
deepctl, deepgram, dg.
macOS / Linux:
curl -fsSL https://deepgram.com/install.sh | shWindows (PowerShell):
iwr https://deepgram.com/install.ps1 -useb | iexpip install deepctl # pip
uv tool install deepctl # uv
pipx install deepctl # pipxuvx deepctl --help
pipx run deepctl --help# Authenticate with Deepgram
dg login
# Transcribe an audio file
dg transcribe recording.wav
# Text-to-speech
dg speak "Hello from Deepgram" -o hello.mp3
# Live microphone transcription
dg listen --mic
# Analyze text for sentiment and topics
dg read "The product is amazing" --sentiment --topicsTranscribe audio files, URLs, or live microphone input.
dg transcribe meeting.wav --diarize --smart-format
dg transcribe https://example.com/audio.mp3 --model nova-3
dg listen --mic --model nova-3 --language en-US
cat audio.raw | dg listen --encoding linear16 --sample-rate 16000Convert text to natural speech. Supports file output and piping.
dg speak "Welcome to Deepgram" -o welcome.mp3
dg speak --file script.txt -o output.mp3 -m aura-2-luna-en
echo "Hello" | dg speak -o greeting.mp3
dg speak "Stream me" | ffplay -nodisp - # pipe to audio playerAnalyze text for sentiment, summaries, topics, and intents.
dg read "Customer called about billing" --sentiment --summarize
dg read --file article.txt --topics --intents
cat feedback.txt | dg read --sentimentManage your Deepgram account from the terminal.
dg projects --list # List projects
dg keys --list # List API keys
dg keys --create --comment "staging" # Create API key
dg members # List team members
dg members --invite user@co.com # Invite member
dg usage --last-month # View usage stats
dg billing # Check balances
dg requests --limit 20 --status failed # Request history
dg models --type tts # List available modelsMake authenticated requests to any Deepgram endpoint.
dg api /v1/projects
dg api /v1/projects -X POST -f name="New Project"
dg api /v1/listen -X POST --input audio.wav --jq '.results'Diagnose audio, network, and browser issues.
dg debug audio --file recording.wav # Analyze audio compatibility
dg debug network --verbose # Test connectivity to Deepgram
dg debug probe --port 3100 # Live stream audio analysisConnect Deepgram tools to AI coding assistants (Claude Code, Cursor, etc.).
dg mcp # Start MCP server (stdio)
dg mcp --transport sse --port 8000 # SSE transportAdd to your editor's MCP config:
{
"mcpServers": {
"deepgram": {
"type": "stdio",
"command": "dg",
"args": ["mcp"]
}
}
}Automatically detect and configure AI coding assistants with Deepgram skills.
dg skills status # Detect AI tools
dg skills setup # Interactive setup wizard
dg skills install --all # Install for all detected toolsScaffold a new project from Deepgram templates.
dg init --list # Browse templates
dg init node-live-transcription # Clone and set upEvery command is CI-friendly. Authentication works via environment variables,
all interactive prompts have flag-based alternatives, and destructive operations
require explicit --yes.
# CI authentication
export DEEPGRAM_API_KEY="your-key"
export DEEPGRAM_PROJECT_ID="your-project-id"
# Non-interactive usage
dg transcribe recording.wav
dg speak "Deploy complete" -o notification.mp3
dg keys --create --comment "ci-key" --scopes member
dg keys --delete KEY_ID --yes
dg read --file report.txt --summarize
# Output formats for scripting
dg projects --list -o json
dg keys --list -o csv
dg usage --last-week -o yamlWhen running in a non-TTY environment (pipes, CI, or AI coding tools), the CLI automatically switches to structured JSON output with plain-text status messages.
Extend the CLI with custom commands.
dg plugin search deepctl- # Find plugins
dg plugin install <package> # Install
dg plugin list # List installed
dg plugin remove <package> # RemoveCreate your own — see the plugin example.
Priority: CLI flags > environment variables > profile config > project config
dg login # Interactive or --api-key
dg login --profile staging --api-key SK # Named profiles
dg profiles --list # List profiles
dg profiles --switch staging # Switch profileOutput format on any command: --output json|yaml|table|csv
git clone https://github.com/deepgram/cli && cd cli
uv sync --group dev
make dev # Format + lint + test
make check # Format + lint + typecheck (no tests)cli/
├── src/deepctl/ # Main CLI entry point
├── packages/
│ ├── deepctl-cmd-api/ # API command for deepctl
│ ├── deepctl-cmd-billing/ # Billing command for deepctl
│ ├── deepctl-cmd-debug/ # Debug command group for deepctl
│ ├── deepctl-cmd-debug-audio/ # Audio debug subcommand for deepctl
│ ├── deepctl-cmd-debug-browser/ # Browser debug subcommand for deepctl
│ ├── deepctl-cmd-debug-network/ # Network debug subcommand for deepctl
│ ├── deepctl-cmd-debug-probe/ # Debug probe subcommand for deepctl — live ffprobe analysis during streaming
│ ├── deepctl-cmd-ffprobe/ # FFprobe configuration command for deepctl
│ ├── deepctl-cmd-init/ # Init command for deepctl — scaffold Deepgram starter apps
│ ├── deepctl-cmd-keys/ # API keys management command for deepctl
│ ├── deepctl-cmd-listen/ # Listen (live speech-to-text) command for deepctl
│ ├── deepctl-cmd-login/ # Login command for deepctl
│ ├── deepctl-cmd-mcp/ # MCP proxy command for deepctl — connects to Deepgram's developer API
│ ├── deepctl-cmd-members/ # Members management command for deepctl
│ ├── deepctl-cmd-models/ # Models command for deepctl
│ ├── deepctl-cmd-plugin/ # Plugin management command for deepctl
│ ├── deepctl-cmd-projects/ # Projects command for deepctl
│ ├── deepctl-cmd-read/ # Read (text intelligence) command for deepctl
│ ├── deepctl-cmd-requests/ # Requests history command for deepctl
│ ├── deepctl-cmd-skills/ # AI coding assistant skill management for deepctl
│ ├── deepctl-cmd-speak/ # Speak (text-to-speech) command for deepctl
│ ├── deepctl-cmd-transcribe/ # Transcribe command for deepctl
│ ├── deepctl-cmd-update/ # Update command for deepctl
│ ├── deepctl-cmd-usage/ # Usage command for deepctl
│ ├── deepctl-core/ # Core components for deepctl
│ ├── deepctl-plugin-example/ # Example plugin for deepctl
│ └── deepctl-shared-utils/ # Shared utilities for deepctl
├── tests/ # Integration tests
└── Makefile # Development tasks
| Command | Description |
|---|---|
deepctl api |
API command for deepctl |
deepctl billing |
Billing command for deepctl |
deepctl debug audio |
Audio debug subcommand for deepctl |
deepctl debug browser |
Browser debug subcommand for deepctl |
deepctl debug network |
Network debug subcommand for deepctl |
deepctl debug probe |
Debug probe subcommand for deepctl — live ffprobe analysis during streaming |
deepctl debug |
Debug command group for deepctl |
deepctl ffprobe |
FFprobe configuration command for deepctl |
deepctl init |
Init command for deepctl — scaffold Deepgram starter apps |
deepctl keys |
API keys management command for deepctl |
deepctl listen |
Listen (live speech-to-text) command for deepctl |
deepctl login |
Login command for deepctl |
deepctl logout |
Login command for deepctl |
deepctl mcp |
MCP proxy command for deepctl — connects to Deepgram's developer API |
deepctl members |
Members management command for deepctl |
deepctl models |
Models command for deepctl |
deepctl plugin |
Plugin management command for deepctl |
deepctl profiles |
Login command for deepctl |
deepctl projects |
Projects command for deepctl |
deepctl read |
Read (text intelligence) command for deepctl |
deepctl requests |
Requests history command for deepctl |
deepctl skills |
AI coding assistant skill management for deepctl |
deepctl speak |
Speak (text-to-speech) command for deepctl |
deepctl transcribe |
Transcribe command for deepctl |
deepctl update |
Update command for deepctl |
deepctl usage |
Usage command for deepctl |
| Package | Description |
|---|---|
deepctl-cmd-api |
API command for deepctl |
deepctl-cmd-billing |
Billing command for deepctl |
deepctl-cmd-debug |
Debug command group for deepctl |
deepctl-cmd-debug-audio |
Audio debug subcommand for deepctl |
deepctl-cmd-debug-browser |
Browser debug subcommand for deepctl |
deepctl-cmd-debug-network |
Network debug subcommand for deepctl |
deepctl-cmd-debug-probe |
Debug probe subcommand for deepctl — live ffprobe analysis during streaming |
deepctl-cmd-ffprobe |
FFprobe configuration command for deepctl |
deepctl-cmd-init |
Init command for deepctl — scaffold Deepgram starter apps |
deepctl-cmd-keys |
API keys management command for deepctl |
deepctl-cmd-listen |
Listen (live speech-to-text) command for deepctl |
deepctl-cmd-login |
Login command for deepctl |
deepctl-cmd-mcp |
MCP proxy command for deepctl — connects to Deepgram's developer API |
deepctl-cmd-members |
Members management command for deepctl |
deepctl-cmd-models |
Models command for deepctl |
deepctl-cmd-plugin |
Plugin management command for deepctl |
deepctl-cmd-projects |
Projects command for deepctl |
deepctl-cmd-read |
Read (text intelligence) command for deepctl |
deepctl-cmd-requests |
Requests history command for deepctl |
deepctl-cmd-skills |
AI coding assistant skill management for deepctl |
deepctl-cmd-speak |
Speak (text-to-speech) command for deepctl |
deepctl-cmd-transcribe |
Transcribe command for deepctl |
deepctl-cmd-update |
Update command for deepctl |
deepctl-cmd-usage |
Usage command for deepctl |
deepctl-core |
Core components for deepctl |
deepctl-plugin-example |
Example plugin for deepctl |
deepctl-shared-utils |
Shared utilities for deepctl |
Merging conventional commits to main
triggers release-please to open
a release PR. Merging that PR creates tags and publishes all changed packages to
PyPI. Each package is versioned independently.
- Python 3.10+
- Cross-platform: Linux, Windows, macOS
- Fork the repository
uv sync --group devmake dev(formats, lints, tests)- Submit a pull request
See AGENTS.md for detailed architecture and conventions.
MIT