> deepgram-install-auth
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".
curl "https://skillshub.wtf/jeremylongshore/claude-code-plugins-plus-skills/deepgram-install-auth?format=md"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.
> related_skills --same-repo
> fathom-cost-tuning
Optimize Fathom API usage and plan selection. Trigger with phrases like "fathom cost", "fathom pricing", "fathom plan".
> fathom-core-workflow-b
Sync Fathom meeting data to CRM and build automated follow-up workflows. Use when integrating Fathom with Salesforce, HubSpot, or custom CRMs, or creating automated post-meeting email summaries. Trigger with phrases like "fathom crm sync", "fathom salesforce", "fathom follow-up", "fathom post-meeting workflow".
> fathom-core-workflow-a
Build a meeting analytics pipeline with Fathom transcripts and summaries. Use when extracting insights from meetings, building CRM sync, or creating automated meeting follow-up workflows. Trigger with phrases like "fathom analytics", "fathom meeting pipeline", "fathom transcript analysis", "fathom action items sync".
> fathom-common-errors
Diagnose and fix Fathom API errors including auth failures and missing data. Use when API calls fail, transcripts are empty, or webhooks are not firing. Trigger with phrases like "fathom error", "fathom not working", "fathom api failure", "fix fathom".