Agent SkillsAgent Skills
jeremylongshore

deepgram-install-auth

@jeremylongshore/deepgram-install-auth
jeremylongshore
2,103
284 forks
Updated 5/5/2026
View on GitHub

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

$npx agent-skills-cli install @jeremylongshore/deepgram-install-auth
Claude Code
Cursor
Copilot
Codex
Antigravity

Details

Pathplugins/saas-packs/deepgram-pack/skills/deepgram-install-auth/SKILL.md
Branchmain
Scoped Name@jeremylongshore/deepgram-install-auth

Usage

After installing, this skill will be available to your AI coding assistant.

Verify installation:

npx agent-skills-cli list

Skill 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

ScopePermissionUse Case
memberFull accessDevelopment only
listenSTT transcriptionProduction transcription services
speakTTS synthesisVoice generation services
manageProject managementAdmin tools
usageUsage dataMonitoring dashboards

Create scoped keys in Console > Settings > API Keys > Create Key.

Output

  • Installed @deepgram/sdk (Node.js) or deepgram-sdk (Python)
  • API key configured via environment variable or .env
  • Verified connection with project listing
  • Singleton client pattern for production use

Error Handling

ErrorCauseSolution
401 UnauthorizedInvalid or expired API keyRegenerate key in Console > API Keys
403 ForbiddenKey lacks required scopeCreate new key with correct scopes
MODULE_NOT_FOUNDSDK not installedRun npm install @deepgram/sdk
ENOTFOUND api.deepgram.comNetwork/DNS issueCheck internet, verify no proxy blocking
TypeError: createClient is not a functionSDK v5 installedUse new DeepgramClient() instead

Resources

Next Steps

Proceed to deepgram-hello-world for your first transcription.

More by jeremylongshore

View all
docker-compose-generator
2,103

generating-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".

environment-config-manager
2,103

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.

fairdb-backup-manager
2,103

Automatically manages PostgreSQL backups with pgBackRest and Wasabi S3 storage when working with FairDB databases Activates when you request "fairdb backup manager" functionality.

git-commit-smart
2,103

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`.