AI-Powered Video Transcription with Timestamps
Overview
This skill transforms video and audio files into searchable, timestamped transcripts with speaker identification and automatic segment detection. Perfect for content creators, podcasters, educators, and enterprises who need to extract maximum value from video content.
Why This Matters:
- Content Repurposing: Automatically extract quotes, clips, and highlights from full recordings
- Accessibility: Generate accurate captions and transcripts for compliance (ADA, WCAG 2.1)
- SEO & Discovery: Searchable transcripts improve video discoverability in Google, YouTube, and WordPress
- Editing Efficiency: Timestamps let editors jump to key moments without watching entire videos
- Knowledge Management: Build searchable video archives for internal training, documentation, and support
Integrations & Compatibility:
- Video Platforms: YouTube, Vimeo, Wistia, Loom
- Content Management: WordPress (via plugins), HubSpot, Contentful
- Productivity: Slack (post transcripts to channels), Notion (save as database entries)
- Editing Tools: Adobe Premiere Pro, Final Cut Pro, DaVinci Resolve (via EDL/SRT export)
- Cloud Storage: AWS S3, Google Drive, Dropbox, OneDrive
Quick Start
Example 1: Transcribe a Local Video File
Transcribe the video file at /Users/sarah/Downloads/podcast-episode-42.mp4
with speaker identification. Output as JSON with timestamps every 30 seconds.
Include a summary of key topics discussed.
What You Get:
- Full transcript with [00:00:15] style timestamps
- Speaker labels (Speaker 1, Speaker 2, etc.)
- JSON output with start/end times for each segment
- Auto-generated summary of main topics
Example 2: Extract Clips from a Long-Form Video
Transcribe my 2-hour webinar (webinar-2024-01-15.mov) and identify
the top 5 most quotable moments. For each, provide:
- The exact quote
- Start and end timestamps
- Why this moment stands out
- Suggested social media caption
Format as markdown for easy sharing.
What You Get:
- 5 highlighted moments with precise timestamps
- Ready-to-post social captions
- Markdown file for documentation
- Timestamps formatted for video editors
Example 3: Generate SRT Captions for YouTube
Convert this YouTube video (https://youtube.com/watch?v=dQw4w9WgXcQ)
to an SRT subtitle file with timestamps. Group sentences into
5-6 word chunks for readability. Include speaker labels.
What You Get:
- SRT file (compatible with YouTube, Vimeo, all video platforms)
- Properly timed subtitle blocks
- Ready to upload directly to video hosting platforms
Capabilities
1. Multi-Format Video & Audio Support
- Video: MP4, MOV, WebM, AVI, MKV, FLV
- Audio: MP3, WAV, M4A, AAC, OGG, FLAC
- Live streams: YouTube, Twitch, Vimeo (via URL)
- Maximum file size: 2GB (larger files processed in chunks)
2. Automatic Speaker Identification
Detects and labels different speakers with confidence scores:
[00:00:15] Speaker 1: "Welcome to the podcast..."
[00:00:45] Speaker 2: "Thanks for having me!"
[00:01:20] Speaker 1: "So tell us about your background..."
3. Intelligent Timestamping
- Configurable interval: 15s, 30s, 60s, or per-sentence
- Automatic paragraph breaks at natural pauses
- Scene change detection (for multi-camera videos)
- Silence detection and removal (optional)
4. Multiple Output Formats
- JSON: Structured data with confidence scores
- SRT: Subtitle format for all video platforms
- VTT: WebVTT captions for web video
- Markdown: Human-readable with timestamps
- EDL: Edit Decision List for video editors
- CSV: Spreadsheet format for analysis
5. Advanced Filtering & Cleanup
- Remove filler words (um, uh, like, you know)
- Correct common speech-to-text errors
- Normalize timestamps across multiple speakers
- Detect and flag potentially sensitive content (PII, profanity)
6. Keyword & Topic Extraction
Automatically identifies:
- Key phrases and terminology
- Named entities (people, places, organizations)
- Sentiment per segment (positive, neutral, negative)
- Topic clusters (machine learning powered)
7. SEO Optimization
- Generate metadata descriptions from transcript
- Create searchable transcripts for WordPress
- Structured data markup for Google Rich Results
- Sitemap entries for transcript pages
Configuration
Required Environment Variables
# OpenAI API key (for GPT-4 transcript enhancement and summarization)
export OPENAI_API_KEY="sk-proj-xxxxxxxxxxxxx"
# Deepgram API key (primary transcription engine, highly accurate)
export DEEPGRAM_API_KEY="xxxxxxxxxxxxx"
# Optional: For YouTube/Vimeo integration
export YOUTUBE_API_KEY="xxxxxxxxxxxxx"
export VIMEO_API_KEY="xxxxxxxxxxxxx"
Setup Instructions
Install Dependencies:
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt-get install ffmpeg
# Windows (via Chocolatey)
choco install ffmpeg
Get API Keys:
Configure Transcription Options:
{
"transcription": {
"model": "deepgram-nova-2",
"language": "en",
"speaker_detection": true,
"confidence_threshold": 0.85,
"punctuation": true,
"profanity_filter": false,
"diarization": true
},
"output": {
"formats": ["json", "srt", "markdown"],
"timestamp_interval": 30,
"include_speaker_labels": true,
"include_confidence_scores": false
},
"processing": {
"chunk_duration": 600,
"parallel_chunks": 4,
"cleanup_filler_words": true,
"sentiment_analysis": true
}
}
Advanced Options
| Option |
Values |
Default |
Notes |
model |
nova-2, enhanced, base |
nova-2 |
Nova-2 is most accurate; Base is fastest |
language |
en, es, fr, de, ja, etc. |
en |
Supports 100+ languages |
speaker_detection |
true, false |
true |
Requires minimum 30s audio per speaker |
timestamp_interval |
15, 30, 60, sentence |
30 |
Granularity of timestamps |
profanity_filter |
true, false |
false |
Masks or removes profanity |
Example Outputs
JSON Output
{
"metadata": {
"filename": "podcast-episode-42.mp4",
"duration_seconds": 1847,
"language": "en",
"speakers_detected": 2,
"accuracy_score": 0.94
},
"transcript": [
{
"timestamp": "00:00:15",
"speaker": "Speaker 1",
"text": "Welcome to the podcast.",
"confidence": 0.98,
"segment_id": "seg_001"
},
{
"timestamp": "00:00:45",
"speaker": "Speaker 2",
"text": "Thanks for having me!",
"confidence": 0.96,
"segment_id": "seg_002"
}
],
"topics": [
{ "topic": "AI and Machine Learning", "confidence": 0.92, "mentions": 14 },
{ "topic": "Business Strategy", "confidence": 0.88, "mentions": 9 }
],
"summary": "A discussion about AI adoption in enterprise...",
"key_quotes": [
{
"quote": "AI is not about replacing humans...",
"timestamp": "00:12:34",
"speaker": "Speaker 2"
}
]
}
SRT Subtitle Output
1
00:00:15,000 --> 00:00:45,000
Speaker 1: Welcome to the podcast.
2
00:00:45,000 --> 00:01:20,000
Speaker 2: Thanks for having me!
3
00:01:20,000 --> 00:02:15,000
Speaker 1: So tell us about your background
and how you got into this space.
Markdown Output
# Podcast Episode 42 Transcript
**Duration:** 30:47
**Speakers:** 2
**Accuracy:** 94%
---
## Transcript
**[00:00:15] Speaker 1:**
Welcome to the podcast.
**[00:00:45] Speaker 2:**
Thanks for having me!
**[00:01:20] Speaker 1:**
So tell us about your background and how you got into this space.
---
## Key Topics
- AI and Machine Learning (14 mentions)
- Business Strategy (9 mentions)
- Team Building (7 mentions)
## Top Quotes
> "AI is not about replacing humans, it's about augmenting human capability."
> — Speaker 2 at 00:12:34
Tips & Best Practices
1. Audio Quality Matters
- Best Results: Quiet environment, good microphone, clear speech
- Acceptable: Podcast-quality audio (44.1 kHz, mono/stereo)
- Challenging: Noisy backgrounds, multiple overlapping speakers
- Tip: Pre-process audio with noise reduction (Audacity, Adobe Audition) for 5-10% accuracy improvement
2. Speaker Identification
- Works best with 2-4 distinct speakers
- Requires minimum 30 seconds of clear audio per speaker for accurate labeling
- Tip: Have speakers introduce themselves at the start ("Hi, I'm Alice...") for better detection
- For 5+ speakers, consider manual speaker labels in post-processing
3. Language & Accents
- Deepgram Nova-2 handles accents well (95%+ accuracy for native speakers)
- For non-native speakers or heavy accents, use
enhanced model (+20% processing time)
- Specify language code upfront for best results
4. Timestamp Precision
- Use
timestamp_interval: 30 for most use cases (good balance of detail and readability)
- Use
timestamp_interval: sentence for literary/academic transcripts
- Use
timestamp_interval: 15 for music/sound design where timing is critical
5. Repurposing Content
- Clips: Extract 30-60 second segments using timestamps for TikTok/Instagram Reels
- Blog Posts: Convert key quotes into blog posts with embedded video timestamps
- Email Sequences: Create 5-part email series from major topic breaks
- Infographics: Pull statistics and data points for visual content
6. Scaling to Bulk Processing
For 50+ videos, batch process with:
- Parallel chunk processing (set parallel_chunks: 8)
- Schedule during off-peak hours (lower API costs)
- Monitor API usage via Deepgram dashboard
- Implement retry logic for failed segments
7. Cost Optimization
- Deepgram pricing: $0.0043/minute (Nova-2) vs $0.0025/minute (Base model)
- Savings Tip: Use Base model for initial processing, Nova-2 only for critical content
- Batch similar videos together (same language, speaker count) for 10-15% cost reduction
- Cache results for re-transcription requests (avoid duplicate charges)
Safety & Guardrails
What This Skill WILL NOT Do
❌ Automatic Copyright Detection: This skill does not detect or prevent transcription of copyrighted content. Users are responsible for ensuring they have rights to transcribe material.
❌ Real-Time Transcription: Designed for post-processing; not suitable for live event captions (though output can be used for near-real-time systems).
❌ Speaker Identification by Name: Cannot identify who specific speakers are; only labels them as "Speaker 1," "Speaker 2," etc. Requires manual labeling for named identification.
❌ Automatic Content Moderation: While profanity filtering is available, this skill is not designed for content moderation at scale. Manual review recommended for sensitive content.
❌ Emotion/Intent Analysis: Provides sentiment (positive/negative/neutral) but not nuanced emotion detection or intent classification.
Limitations & Boundaries
| Limitation |
Impact |
Mitigation |
| Background Noise |
Accuracy drops 5-15% in noisy environments |
Pre-process audio; record in quiet spaces |
| Overlapping Speech |
Cannot accurately transcribe when 2+ people talk simultaneously |
Encourage speaker turns; use speaker labels |
| Accented Speech |
3-8% accuracy reduction for non-native speakers |
Use enhanced model; provide speaker intro |
| Technical Jargon |
May misidentify domain-specific terms |
Provide custom vocabulary list |
| Audio Quality <16kHz |
Degraded accuracy below 16kHz sample rate |
Recommend 44.1kHz or higher |
| File Size >2GB |
Automatic chunking required; may extend processing |
Split large files; process in parallel |
Privacy & Data Handling
✅ Data Retention: Deepgram retains audio for 30 days for quality improvement (can be disabled)
✅ Encryption: All API calls use TLS 1.2+; data in transit is encrypted
✅ PII Detection: Optional PII masking available (detects SSNs, credit cards, phone numbers)
✅ GDPR Compliant: Deepgram is GDPR-compliant; data processed in EU if requested
⚠️ Recommendation: For HIPAA/FERPA content, use on-premise deployment or Deepgram's enterprise plan with data residency guarantees.
Troubleshooting
Common Issues & Solutions
Issue: "Accuracy Score Below 80%"
Causes & Fixes:
- Background noise: Re-record in quieter environment or use noise reduction
- Heavy accent: Switch to
enhanced model (takes 20% longer)
- Audio corruption: Verify file integrity with
ffmpeg -v error -i file.mp4 -f null -
- Language mismatch: Confirm language code matches actual audio
Test Command:
# Check audio properties
ffprobe -v error -select_streams a:0 -show_entries stream=sample_rate,channels -of default=noprint_wrappers=1 your-file.mp4
Issue: "Speaker Detection Not Working"
Causes & Fixes:
- Too many speakers: Diarization works best with 2-4 speakers; 5+
1---2name: ai-powered-video-transcription-with-timestamps3description: Transcribe videos to text with automatic timestamped segments for editing, SEO, and content repurposing. Use when the user needs accurate transcripts, captions, clip extraction, or searchable video archives.4---56# AI-Powered Video Transcription with Timestamps78## Overview910This skill transforms video and audio files into searchable, timestamped transcripts with speaker identification and automatic segment detection. Perfect for content creators, podcasters, educators, and enterprises who need to extract maximum value from video content.1112**Why This Matters:**13- **Content Repurposing**: Automatically extract quotes, clips, and highlights from full recordings14- **Accessibility**: Generate accurate captions and transcripts for compliance (ADA, WCAG 2.1)15- **SEO & Discovery**: Searchable transcripts improve video discoverability in Google, YouTube, and WordPress16- **Editing Efficiency**: Timestamps let editors jump to key moments without watching entire videos17- **Knowledge Management**: Build searchable video archives for internal training, documentation, and support1819**Integrations & Compatibility:**20- **Video Platforms**: YouTube, Vimeo, Wistia, Loom21- **Content Management**: WordPress (via plugins), HubSpot, Contentful22- **Productivity**: Slack (post transcripts to channels), Notion (save as database entries)23- **Editing Tools**: Adobe Premiere Pro, Final Cut Pro, DaVinci Resolve (via EDL/SRT export)24- **Cloud Storage**: AWS S3, Google Drive, Dropbox, OneDrive2526---2728## Quick Start2930### Example 1: Transcribe a Local Video File31```32Transcribe the video file at /Users/sarah/Downloads/podcast-episode-42.mp4 33with speaker identification. Output as JSON with timestamps every 30 seconds.34Include a summary of key topics discussed.35```3637**What You Get:**38- Full transcript with [00:00:15] style timestamps39- Speaker labels (Speaker 1, Speaker 2, etc.)40- JSON output with start/end times for each segment41- Auto-generated summary of main topics4243---4445### Example 2: Extract Clips from a Long-Form Video46```47Transcribe my 2-hour webinar (webinar-2024-01-15.mov) and identify 48the top 5 most quotable moments. For each, provide:49- The exact quote50- Start and end timestamps51- Why this moment stands out52- Suggested social media caption5354Format as markdown for easy sharing.55```5657**What You Get:**58- 5 highlighted moments with precise timestamps59- Ready-to-post social captions60- Markdown file for documentation61- Timestamps formatted for video editors6263---6465### Example 3: Generate SRT Captions for YouTube66```67Convert this YouTube video (https://youtube.com/watch?v=dQw4w9WgXcQ) 68to an SRT subtitle file with timestamps. Group sentences into 695-6 word chunks for readability. Include speaker labels.70```7172**What You Get:**73- SRT file (compatible with YouTube, Vimeo, all video platforms)74- Properly timed subtitle blocks75- Ready to upload directly to video hosting platforms7677---7879## Capabilities8081### 1. **Multi-Format Video & Audio Support**82- Video: MP4, MOV, WebM, AVI, MKV, FLV83- Audio: MP3, WAV, M4A, AAC, OGG, FLAC84- Live streams: YouTube, Twitch, Vimeo (via URL)85- Maximum file size: 2GB (larger files processed in chunks)8687### 2. **Automatic Speaker Identification**88Detects and labels different speakers with confidence scores:89```90[00:00:15] Speaker 1: "Welcome to the podcast..."91[00:00:45] Speaker 2: "Thanks for having me!"92[00:01:20] Speaker 1: "So tell us about your background..."93```9495### 3. **Intelligent Timestamping**96- Configurable interval: 15s, 30s, 60s, or per-sentence97- Automatic paragraph breaks at natural pauses98- Scene change detection (for multi-camera videos)99- Silence detection and removal (optional)100101### 4. **Multiple Output Formats**102- **JSON**: Structured data with confidence scores103- **SRT**: Subtitle format for all video platforms104- **VTT**: WebVTT captions for web video105- **Markdown**: Human-readable with timestamps106- **EDL**: Edit Decision List for video editors107- **CSV**: Spreadsheet format for analysis108109### 5. **Advanced Filtering & Cleanup**110- Remove filler words (um, uh, like, you know)111- Correct common speech-to-text errors112- Normalize timestamps across multiple speakers113- Detect and flag potentially sensitive content (PII, profanity)114115### 6. **Keyword & Topic Extraction**116Automatically identifies:117- Key phrases and terminology118- Named entities (people, places, organizations)119- Sentiment per segment (positive, neutral, negative)120- Topic clusters (machine learning powered)121122### 7. **SEO Optimization**123- Generate metadata descriptions from transcript124- Create searchable transcripts for WordPress125- Structured data markup for Google Rich Results126- Sitemap entries for transcript pages127128---129130## Configuration131132### Required Environment Variables133134```bash135# OpenAI API key (for GPT-4 transcript enhancement and summarization)136export OPENAI_API_KEY="sk-proj-xxxxxxxxxxxxx"137138# Deepgram API key (primary transcription engine, highly accurate)139export DEEPGRAM_API_KEY="xxxxxxxxxxxxx"140141# Optional: For YouTube/Vimeo integration142export YOUTUBE_API_KEY="xxxxxxxxxxxxx"143export VIMEO_API_KEY="xxxxxxxxxxxxx"144```145146### Setup Instructions1471481. **Install Dependencies:**149 ```bash150 # macOS151 brew install ffmpeg152153 # Ubuntu/Debian154 sudo apt-get install ffmpeg155156 # Windows (via Chocolatey)157 choco install ffmpeg158 ```1591602. **Get API Keys:**161 - Deepgram: https://console.deepgram.com (free tier: 50 hours/month)162 - OpenAI: https://platform.openai.com/account/api-keys163 - YouTube: https://console.cloud.google.com1641653. **Configure Transcription Options:**166 ```json167 {168 "transcription": {169 "model": "deepgram-nova-2",170 "language": "en",171 "speaker_detection": true,172 "confidence_threshold": 0.85,173 "punctuation": true,174 "profanity_filter": false,175 "diarization": true176 },177 "output": {178 "formats": ["json", "srt", "markdown"],179 "timestamp_interval": 30,180 "include_speaker_labels": true,181 "include_confidence_scores": false182 },183 "processing": {184 "chunk_duration": 600,185 "parallel_chunks": 4,186 "cleanup_filler_words": true,187 "sentiment_analysis": true188 }189 }190 ```191192### Advanced Options193194| Option | Values | Default | Notes |195|--------|--------|---------|-------|196| `model` | `nova-2`, `enhanced`, `base` | `nova-2` | Nova-2 is most accurate; Base is fastest |197| `language` | `en`, `es`, `fr`, `de`, `ja`, etc. | `en` | Supports 100+ languages |198| `speaker_detection` | `true`, `false` | `true` | Requires minimum 30s audio per speaker |199| `timestamp_interval` | `15`, `30`, `60`, `sentence` | `30` | Granularity of timestamps |200| `profanity_filter` | `true`, `false` | `false` | Masks or removes profanity |201202---203204## Example Outputs205206### JSON Output207```json208{209 "metadata": {210 "filename": "podcast-episode-42.mp4",211 "duration_seconds": 1847,212 "language": "en",213 "speakers_detected": 2,214 "accuracy_score": 0.94215 },216 "transcript": [217 {218 "timestamp": "00:00:15",219 "speaker": "Speaker 1",220 "text": "Welcome to the podcast.",221 "confidence": 0.98,222 "segment_id": "seg_001"223 },224 {225 "timestamp": "00:00:45",226 "speaker": "Speaker 2",227 "text": "Thanks for having me!",228 "confidence": 0.96,229 "segment_id": "seg_002"230 }231 ],232 "topics": [233 { "topic": "AI and Machine Learning", "confidence": 0.92, "mentions": 14 },234 { "topic": "Business Strategy", "confidence": 0.88, "mentions": 9 }235 ],236 "summary": "A discussion about AI adoption in enterprise...",237 "key_quotes": [238 {239 "quote": "AI is not about replacing humans...",240 "timestamp": "00:12:34",241 "speaker": "Speaker 2"242 }243 ]244}245```246247### SRT Subtitle Output248```srt249125000:00:15,000 --> 00:00:45,000251Speaker 1: Welcome to the podcast.252253225400:00:45,000 --> 00:01:20,000255Speaker 2: Thanks for having me!256257325800:01:20,000 --> 00:02:15,000259Speaker 1: So tell us about your background260and how you got into this space.261```262263### Markdown Output264```markdown265# Podcast Episode 42 Transcript266267**Duration:** 30:47 268**Speakers:** 2 269**Accuracy:** 94%270271---272273## Transcript274275**[00:00:15] Speaker 1:**276Welcome to the podcast.277278**[00:00:45] Speaker 2:**279Thanks for having me!280281**[00:01:20] Speaker 1:**282So tell us about your background and how you got into this space.283284---285286## Key Topics287- AI and Machine Learning (14 mentions)288- Business Strategy (9 mentions)289- Team Building (7 mentions)290291## Top Quotes292> "AI is not about replacing humans, it's about augmenting human capability." 293> — Speaker 2 at 00:12:34294```295296---297298## Tips & Best Practices299300### 1. **Audio Quality Matters**301- **Best Results**: Quiet environment, good microphone, clear speech302- **Acceptable**: Podcast-quality audio (44.1 kHz, mono/stereo)303- **Challenging**: Noisy backgrounds, multiple overlapping speakers304- **Tip**: Pre-process audio with noise reduction (Audacity, Adobe Audition) for 5-10% accuracy improvement305306### 2. **Speaker Identification**307- Works best with 2-4 distinct speakers308- Requires minimum 30 seconds of clear audio per speaker for accurate labeling309- **Tip**: Have speakers introduce themselves at the start ("Hi, I'm Alice...") for better detection310- For 5+ speakers, consider manual speaker labels in post-processing311312### 3. **Language & Accents**313- Deepgram Nova-2 handles accents well (95%+ accuracy for native speakers)314- For non-native speakers or heavy accents, use `enhanced` model (+20% processing time)315- Specify language code upfront for best results316317### 4. **Timestamp Precision**318- Use `timestamp_interval: 30` for most use cases (good balance of detail and readability)319- Use `timestamp_interval: sentence` for literary/academic transcripts320- Use `timestamp_interval: 15` for music/sound design where timing is critical321322### 5. **Repurposing Content**323- **Clips**: Extract 30-60 second segments using timestamps for TikTok/Instagram Reels324- **Blog Posts**: Convert key quotes into blog posts with embedded video timestamps325- **Email Sequences**: Create 5-part email series from major topic breaks326- **Infographics**: Pull statistics and data points for visual content327328### 6. **Scaling to Bulk Processing**329```330For 50+ videos, batch process with:331- Parallel chunk processing (set parallel_chunks: 8)332- Schedule during off-peak hours (lower API costs)333- Monitor API usage via Deepgram dashboard334- Implement retry logic for failed segments335```336337### 7. **Cost Optimization**338- Deepgram pricing: $0.0043/minute (Nova-2) vs $0.0025/minute (Base model)339- **Savings Tip**: Use Base model for initial processing, Nova-2 only for critical content340- Batch similar videos together (same language, speaker count) for 10-15% cost reduction341- Cache results for re-transcription requests (avoid duplicate charges)342343---344345## Safety & Guardrails346347### What This Skill WILL NOT Do348349❌ **Automatic Copyright Detection**: This skill does not detect or prevent transcription of copyrighted content. Users are responsible for ensuring they have rights to transcribe material.350351❌ **Real-Time Transcription**: Designed for post-processing; not suitable for live event captions (though output can be used for near-real-time systems).352353❌ **Speaker Identification by Name**: Cannot identify who specific speakers are; only labels them as "Speaker 1," "Speaker 2," etc. Requires manual labeling for named identification.354355❌ **Automatic Content Moderation**: While profanity filtering is available, this skill is not designed for content moderation at scale. Manual review recommended for sensitive content.356357❌ **Emotion/Intent Analysis**: Provides sentiment (positive/negative/neutral) but not nuanced emotion detection or intent classification.358359### Limitations & Boundaries360361| Limitation | Impact | Mitigation |362|-----------|--------|-----------|363| **Background Noise** | Accuracy drops 5-15% in noisy environments | Pre-process audio; record in quiet spaces |364| **Overlapping Speech** | Cannot accurately transcribe when 2+ people talk simultaneously | Encourage speaker turns; use speaker labels |365| **Accented Speech** | 3-8% accuracy reduction for non-native speakers | Use `enhanced` model; provide speaker intro |366| **Technical Jargon** | May misidentify domain-specific terms | Provide custom vocabulary list |367| **Audio Quality <16kHz** | Degraded accuracy below 16kHz sample rate | Recommend 44.1kHz or higher |368| **File Size >2GB** | Automatic chunking required; may extend processing | Split large files; process in parallel |369370### Privacy & Data Handling371372✅ **Data Retention**: Deepgram retains audio for 30 days for quality improvement (can be disabled) 373✅ **Encryption**: All API calls use TLS 1.2+; data in transit is encrypted 374✅ **PII Detection**: Optional PII masking available (detects SSNs, credit cards, phone numbers) 375✅ **GDPR Compliant**: Deepgram is GDPR-compliant; data processed in EU if requested 376377⚠️ **Recommendation**: For HIPAA/FERPA content, use on-premise deployment or Deepgram's enterprise plan with data residency guarantees.378379---380381## Troubleshooting382383### Common Issues & Solutions384385#### Issue: "Accuracy Score Below 80%"386**Causes & Fixes:**3871. **Background noise**: Re-record in quieter environment or use noise reduction3882. **Heavy accent**: Switch to `enhanced` model (takes 20% longer)3893. **Audio corruption**: Verify file integrity with `ffmpeg -v error -i file.mp4 -f null -` 3904. **Language mismatch**: Confirm language code matches actual audio391392**Test Command:**393```bash394# Check audio properties395ffprobe -v error -select_streams a:0 -show_entries stream=sample_rate,channels -of default=noprint_wrappers=1 your-file.mp4396```397398---399400#### Issue: "Speaker Detection Not Working"401**Causes & Fixes:**4021. **Too many speakers**: Diarization works best with 2-4 speakers; 5+