Install and configure Deepgram SDK authentication. Use when setting up a new Deepgram integration, configuring API keys, or initializing Deepgram in your project. Trigger: "install deepgram", "setup deepgram", "deepgram auth", "configure deepgram API key", "deepgram credentials".
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
name: deepgram-install-auth description: 'Install and configure Deepgram SDK authentication.
Use when setting up a new Deepgram integration, configuring API keys,
or initializing Deepgram in your project.
Trigger: "install deepgram", "setup deepgram", "deepgram auth",
"configure deepgram API key", "deepgram credentials".
' allowed-tools: Read, Write, Edit, Bash(npm:), Bash(pip:), Grep version: 1.0.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
- saas
- deepgram
- api
- authentication
- setup compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw
Deepgram Install & Auth
Current State
!npm list @deepgram/sdk 2>/dev/null || echo '@deepgram/sdk not installed'
!pip show deepgram-sdk 2>/dev/null | grep Version || echo 'deepgram-sdk (Python) not installed'
Overview
Install the Deepgram SDK and configure API key authentication. Deepgram provides speech-to-text (Nova-3, Nova-2), text-to-speech (Aura-2), and audio intelligence APIs. The JS SDK uses createClient() (v3/v4) or new DeepgramClient() (v5+).
Prerequisites
- Node.js 18+ or Python 3.10+
- Deepgram account at console.deepgram.com
- API key from Console > Settings > API Keys
Instructions
Step 1: Install SDK
Node.js (v3/v4 — current stable):
npm install @deepgram/sdk
# or
pnpm add @deepgram/sdk
Python:
pip install deepgram-sdk
Step 2: Configure API Key
# Option A: Environment variable (recommended)
export DEEPGRAM_API_KEY="your-api-key-here"
# Option B: .env file (add .env to .gitignore)
echo 'DEEPGRAM_API_KEY=your-api-key-here' >> .env
Never hardcode keys. Use dotenv for local dev, secret managers in production.
Step 3: Initialize Client (TypeScript)
import { createClient } from '@deepgram/sdk';
// Reads DEEPGRAM_API_KEY from env automatically
const deepgram = createClient(process.env.DEEPGRAM_API_KEY!);
SDK v5+ uses a different constructor:
import { DeepgramClient } from '@deepgram/sdk';
const deepgram = new DeepgramClient({ apiKey: process.env.DEEPGRAM_API_KEY });
Step 4: Initialize Client (Python)
from deepgram import DeepgramClient, PrerecordedOptions, LiveOptions
import os
client = DeepgramClient(os.environ["DEEPGRAM_API_KEY"])
Step 5: Verify Connection
// TypeScript — list projects to verify key is valid
async function verify() {
const deepgram = createClient(process.env.DEEPGRAM_API_KEY!);
const { result, error } = await deepgram.manage.getProjects();
if (error) {
console.error('Auth failed:', error.message);
process.exit(1);
}
console.log(`Connected. Projects: ${result.projects.length}`);
result.projects.forEach(p => console.log(` - ${p.name} (${p.project_id})`));
}
verify();
# Python — verify connection
from deepgram import DeepgramClient
import os
client = DeepgramClient(os.environ["DEEPGRAM_API_KEY"])
response = client.manage.v("1").get_projects()
print(f"Connected. Projects: {len(response.projects)}")
for p in response.projects:
print(f" - {p.name} ({p.project_id})")
Step 6: Configure for Production
// Singleton client with custom options
import { createClient, DeepgramClient } from '@deepgram/sdk';
let client: DeepgramClient | null = null;
export function getDeepgramClient(): DeepgramClient {
if (!client) {
const apiKey = process.env.DEEPGRAM_API_KEY;
if (!apiKey) throw new Error('DEEPGRAM_API_KEY is required');
client = createClient(apiKey);
}
return client;
}
API Key Scopes
| Scope | Permission | Use Case |
|---|---|---|
member | Full access | Development only |
listen | STT transcription | Production transcription services |
speak | TTS synthesis | Voice generation services |
manage | Project management | Admin tools |
usage | Usage data | Monitoring dashboards |
Create scoped keys in Console > Settings > API Keys > Create Key.
Output
- Installed
@deepgram/sdk(Node.js) ordeepgram-sdk(Python) - API key configured via environment variable or
.env - Verified connection with project listing
- Singleton client pattern for production use
Error Handling
| Error | Cause | Solution |
|---|---|---|
401 Unauthorized | Invalid or expired API key | Regenerate key in Console > API Keys |
403 Forbidden | Key lacks required scope | Create new key with correct scopes |
MODULE_NOT_FOUND | SDK not installed | Run npm install @deepgram/sdk |
ENOTFOUND api.deepgram.com | Network/DNS issue | Check internet, verify no proxy blocking |
TypeError: createClient is not a function | SDK v5 installed | Use new DeepgramClient() instead |
Resources
Next Steps
Proceed to deepgram-hello-world for your first transcription.
More by jeremylongshore
View allgenerating-docker-compose-files: This skill enables Claude to generate Docker Compose configurations for multi-container applications. It leverages best practices for production-ready deployments, including defining services, networks, volumes, health checks, and resource limits. Claude should use this skill when the user requests a Docker Compose file, specifies application architecture involving multiple containers, or mentions needs for container orchestration, environment variables, or persistent data management in a Docker environment. Trigger terms include "docker-compose", "docker compose file", "multi-container", "container orchestration", "docker environment", "service definition", "volume management", "network configuration", "health checks", "resource limits", and ".env files".
managing-environment-configurations: This skill enables Claude to manage environment configurations and secrets across different deployments using the environment-config-manager plugin. It is invoked when the user needs to generate, update, or retrieve configuration settings for various environments (e.g., development, staging, production). Use this skill when the user explicitly mentions "environment configuration," "secrets management," "deployment configuration," or asks to "generate config files". It helps streamline DevOps workflows by providing production-ready configurations based on best practices.
Automatically manages PostgreSQL backups with pgBackRest and Wasabi S3 storage when working with FairDB databases Activates when you request "fairdb backup manager" functionality.
generating-smart-commits: This skill generates conventional commit messages using AI analysis of staged Git changes. It automatically determines the commit type (feat, fix, docs, etc.), identifies breaking changes, and formats the message according to conventional commit standards. Use this when asked to create a commit message, write a Git commit, or when the user uses the `/commit-smart` or `/gc` command. It is especially useful after changes have been staged with `git add`.
