Skip to content
deepgram-transcription logo

Deepgram Transcription

deepgram-transcription

Transcribe audio and video files using the Deepgram API. This skill should be used when the user requests transcription of audio files (mp3, wav, m4a, aac) or video files (mp4, mov, avi, etc.). Handles large video files by extracting audio first to reduce upload size and processing time.

SKILL.md

Full skill instructions

Deepgram Transcription

Overview

This skill enables efficient transcription of audio and video files using the Deepgram API. It automatically handles large video files by extracting audio first, reducing upload time and API costs. Outputs include both full JSON responses with timestamps and clean text transcripts.

When to Use This Skill

Use this skill when:

  • Transcribing audio files (mp3, wav, m4a, aac, etc.)
  • Transcribing video files (mp4, mov, avi, mkv, etc.)
  • Converting speech in media files to text
  • Creating transcripts with or without timestamps
  • Processing multiple recordings for documentation

Core Workflow

1. Determine Input Type

First, identify the input file type:

Audio files (mp3, wav, m4a, aac):

  • Can be transcribed directly
  • Smaller file sizes, faster uploads

Video files (mp4, mov, avi, etc.):

  • Should extract audio first for files >50MB
  • Reduces upload time significantly (e.g., 190MB video → 3MB audio)
  • No quality loss for transcription purposes

2. Extract Audio (For Video Files)

For video files, especially those larger than 50MB, extract audio before transcription:

ffmpeg -i input_video.mp4 -vn -acodec aac -b:a 128k output_audio.m4a -y

Parameters:

  • -vn: No video (audio only)
  • -acodec aac: AAC audio codec
  • -b:a 128k: 128kbps bitrate (good quality, small size)
  • -y: Overwrite output file

This reduces file size by ~98% while preserving speech quality.

3. Transcribe with Deepgram

Use the provided scripts/​transcribe.py script for automated transcription:

scripts/​transcribe.py input_file.mp4 \
  --api-key YOUR_DEEPGRAM_API_KEY \
  --output-dir ./​transcripts \
  --extract-audio

Or use curl directly for manual control:

curl -X POST "https://api.deepgram.com/​v1/​listen?model=nova-2&smart_format=true" \
  -H "Authorization: Token YOUR_API_KEY" \
  -H "Content-Type: audio/​mp4" \
  --data-binary @audio_file.m4a \
  -o transcription.json

4. Extract and Save Results

The transcription response includes:

Full JSON (with timestamps, confidence scores, metadata):

{
  "results": {
    "channels": [{
      "alternatives": [{
        "transcript": "Full text here...",
        "words": [
          {"word": "hello", "start": 0.5, "end": 0.9, "confidence": 0.99}
        ]
      }]
    }]
  }
}

Extract plain text transcript:

cat transcription.json | python3 -c "import json, sys; data=json.load(sys.stdin); print(data['results']['channels'][0]['alternatives'][0]['transcript'])" > transcript.txt

Using the Transcription Script

The scripts/​transcribe.py provides a complete workflow:

Basic Usage

# Transcribe a video file (auto-extracts audio)
scripts/​transcribe.py video.mp4 --api-key YOUR_KEY --extract-audio

# Transcribe an audio file directly
scripts/​transcribe.py audio.mp3 --api-key YOUR_KEY

# Specify output directory
scripts/​transcribe.py video.mov --api-key YOUR_KEY --output-dir ./​transcripts

Advanced Options

# Use a different Deepgram model
scripts/​transcribe.py file.mp4 --api-key YOUR_KEY --model whisper-large

# Disable smart formatting
scripts/​transcribe.py file.mp4 --api-key YOUR_KEY --no-smart-format

# Custom audio bitrate when extracting
scripts/​transcribe.py file.mp4 --api-key YOUR_KEY --extract-audio --audio-bitrate 192k

Output Files

The script generates:

  1. {filename}_transcription.json - Full Deepgram response with timestamps
  2. {filename}_transcript.txt - Clean text transcript only

Recommended Settings

Deepgram Model: nova-2

  • Latest and most accurate model
  • Good balance of speed and quality
  • Handles various accents and audio quality

Smart Formatting: Enabled (default)

  • Automatic punctuation
  • Proper capitalization
  • Number formatting
  • Better readability

Audio Bitrate: 128kbps

  • Excellent speech quality
  • Small file size
  • Fast uploads

Common Scenarios

Scenario 1: Single Video File

# User: "Transcribe this video recording"
scripts/​transcribe.py recording.mp4 --api-key KEY --extract-audio

Scenario 2: Multiple Screen Recordings

# Extract audio from all videos first
for f in *.mov; do
  ffmpeg -i "$f" -vn -acodec aac -b:a 128k "${f%.mov}_audio.m4a" -y
done

# Transcribe all audio files
for f in *_audio.m4a; do
  scripts/​transcribe.py "$f" --api-key KEY --output-dir ./​transcripts
done

Scenario 3: Audio-Only File

# Direct transcription (no extraction needed)
scripts/​transcribe.py podcast.mp3 --api-key KEY

Troubleshooting

File Access Issues

If encountering permission errors:

  • Check file permissions: ls -l filename
  • Ensure file exists: file filename
  • Use absolute paths if needed

Large File Uploads Timing Out

For very large files:

  1. Always extract audio first (--extract-audio)
  2. Increase timeout in script if needed
  3. Consider splitting long recordings

API Key Issues

  • Verify API key is correct
  • Check Deepgram account has available credits
  • Ensure no extra spaces in key

File Size Guidelines

Input TypeSizeRecommendation
AudioAnyTranscribe directly
Video< 50MBCan transcribe directly
Video50-200MBExtract audio first
Video> 200MBMust extract audio first

Resources

scripts/​transcribe.py

Complete Python script handling:

  • Audio extraction from video
  • Deepgram API calls
  • Response parsing
  • Output file generation

Execute without loading into context for efficiency.

references/​api_reference.md

Deepgram API documentation including:

  • Available models and features
  • API parameters and options
  • Response format details
  • Best practices

Load into context when needing detailed API information.

More Productivity & Planning skills

brainstorming logo
Productivity & Planning

brainstorming

Structured design dialogue that validates ideas before implementation begins.

295.4K 385.7K
View
ui-ux-pro-max logo
Productivity & Planning

ui-ux-pro-max

Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.

133.1K 383.9K
View
writing-plans logo
Productivity & Planning

writing-plans

Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.

295.4K 268K
View
using-superpowers logo
Productivity & Planning

using-superpowers

Introduction to the obra skills system with mandatory skill invocation rules and best practices.

295.4K 259.8K
View
executing-plans logo
Productivity & Planning

executing-plans

Execute a written implementation plan with critical review and task checkpoints.

295.4K 229.1K
View
dispatching-parallel-agents logo
Productivity & Planning

dispatching-parallel-agents

Delegate independent tasks to specialized agents working concurrently with isolated context.

295.4K 206.3K
View
using-git-worktrees logo
Productivity & Planning

using-git-worktrees

Isolated git worktrees with smart directory selection and safety verification.

295.4K 205.2K
View
webapp-testing logo
Productivity & Planning

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

179.7K 170.6K
View
content-strategy logo
Productivity & Planning

content-strategy

Plan searchable and shareable content that drives traffic, builds authority, and generates leads.

53.3K 150.9K
View
repo-intake-and-plan logo
Productivity & Planning

repo-intake-and-plan

README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.

497 139.6K
View
marketing-ideas logo
Productivity & Planning

marketing-ideas

Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.

53.3K 137.2K
View
site-architecture logo
Productivity & Planning

site-architecture

Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.

53.3K 112.8K
View

Productivity AI tools

Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View
SaveDay logo
Productivity

SaveDay

Capture, organize, and utilize your knowledge effortlessly.

Free
View
A
Productivity

Any Summary

Instant Summaries of Audio & Video Interviews with AnySummary

Freemium
View
M
Productivity

Map This

Transform PDFs into engaging mind maps.

Freemium
View
ChatPDF logo
Productivity

ChatPDF

Chat with any PDF instantly

Free
View
I
Productivity

intellisay

Create an optimal daily plan using your voice

Paid
View
A
Productivity

Aurora AI

A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.

Paid
View
AskYourPDF logo
Productivity

AskYourPDF

AskYourPDF Pricing Plans: Tailored to Your Needs

Free
View