Skillshub deepgram-install-auth
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/jeremylongshore/claude-code-plugins-plus-skills/deepgram-install-auth" ~/.claude/skills/comeonoliver-skillshub-deepgram-install-auth && rm -rf "$T"
manifest:
skills/jeremylongshore/claude-code-plugins-plus-skills/deepgram-install-auth/SKILL.mdsource content
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 |
|---|---|---|
| Full access | Development only |
| STT transcription | Production transcription services |
| TTS synthesis | Voice generation services |
| Project management | Admin tools |
| Usage data | Monitoring dashboards |
Create scoped keys in Console > Settings > API Keys > Create Key.
Output
- Installed
(Node.js) or@deepgram/sdk
(Python)deepgram-sdk - API key configured via environment variable or
.env - Verified connection with project listing
- Singleton client pattern for production use
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Invalid or expired API key | Regenerate key in Console > API Keys |
| Key lacks required scope | Create new key with correct scopes |
| SDK not installed | Run |
| Network/DNS issue | Check internet, verify no proxy blocking |
| SDK v5 installed | Use instead |
Resources
Next Steps
Proceed to
deepgram-hello-world for your first transcription.