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."4version: 1.0.05homepage: https://github.com/ncreighton/empire-skills6metadata:7 {8 "openclaw": {9 "requires": {10 "env": ["OPENAI_API_KEY", "DEEPGRAM_API_KEY"],11 "bins": ["ffmpeg"]12 },13 "os": ["macos", "linux", "win32"],14 "files": ["SKILL.md"],15 "emoji": "🎬"16 }17 }18---1920# AI-Powered Video Transcription with Timestamps2122## Overview2324This 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.2526**Why This Matters:**27- **Content Repurposing**: Automatically extract quotes, clips, and highlights from full recordings28- **Accessibility**: Generate accurate captions and transcripts for compliance (ADA, WCAG 2.1)29- **SEO & Discovery**: Searchable transcripts improve video discoverability in Google, YouTube, and WordPress30- **Editing Efficiency**: Timestamps let editors jump to key moments without watching entire videos31- **Knowledge Management**: Build searchable video archives for internal training, documentation, and support3233**Integrations & Compatibility:**34- **Video Platforms**: YouTube, Vimeo, Wistia, Loom35- **Content Management**: WordPress (via plugins), HubSpot, Contentful36- **Productivity**: Slack (post transcripts to channels), Notion (save as database entries)37- **Editing Tools**: Adobe Premiere Pro, Final Cut Pro, DaVinci Resolve (via EDL/SRT export)38- **Cloud Storage**: AWS S3, Google Drive, Dropbox, OneDrive3940---4142## Quick Start4344### Example 1: Transcribe a Local Video File45```46Transcribe the video file at /Users/sarah/Downloads/podcast-episode-42.mp4 47with speaker identification. Output as JSON with timestamps every 30 seconds.48Include a summary of key topics discussed.49```5051**What You Get:**52- Full transcript with [00:00:15] style timestamps53- Speaker labels (Speaker 1, Speaker 2, etc.)54- JSON output with start/end times for each segment55- Auto-generated summary of main topics5657---5859### Example 2: Extract Clips from a Long-Form Video60```61Transcribe my 2-hour webinar (webinar-2024-01-15.mov) and identify 62the top 5 most quotable moments. For each, provide:63- The exact quote64- Start and end timestamps65- Why this moment stands out66- Suggested social media caption6768Format as markdown for easy sharing.69```7071**What You Get:**72- 5 highlighted moments with precise timestamps73- Ready-to-post social captions74- Markdown file for documentation75- Timestamps formatted for video editors7677---7879### Example 3: Generate SRT Captions for YouTube80```81Convert this YouTube video (https://youtube.com/watch?v=dQw4w9WgXcQ) 82to an SRT subtitle file with timestamps. Group sentences into 835-6 word chunks for readability. Include speaker labels.84```8586**What You Get:**87- SRT file (compatible with YouTube, Vimeo, all video platforms)88- Properly timed subtitle blocks89- Ready to upload directly to video hosting platforms9091---9293## Capabilities9495### 1. **Multi-Format Video & Audio Support**96- Video: MP4, MOV, WebM, AVI, MKV, FLV97- Audio: MP3, WAV, M4A, AAC, OGG, FLAC98- Live streams: YouTube, Twitch, Vimeo (via URL)99- Maximum file size: 2GB (larger files processed in chunks)100101### 2. **Automatic Speaker Identification**102Detects and labels different speakers with confidence scores:103```104[00:00:15] Speaker 1: "Welcome to the podcast..."105[00:00:45] Speaker 2: "Thanks for having me!"106[00:01:20] Speaker 1: "So tell us about your background..."107```108109### 3. **Intelligent Timestamping**110- Configurable interval: 15s, 30s, 60s, or per-sentence111- Automatic paragraph breaks at natural pauses112- Scene change detection (for multi-camera videos)113- Silence detection and removal (optional)114115### 4. **Multiple Output Formats**116- **JSON**: Structured data with confidence scores117- **SRT**: Subtitle format for all video platforms118- **VTT**: WebVTT captions for web video119- **Markdown**: Human-readable with timestamps120- **EDL**: Edit Decision List for video editors121- **CSV**: Spreadsheet format for analysis122123### 5. **Advanced Filtering & Cleanup**124- Remove filler words (um, uh, like, you know)125- Correct common speech-to-text errors126- Normalize timestamps across multiple speakers127- Detect and flag potentially sensitive content (PII, profanity)128129### 6. **Keyword & Topic Extraction**130Automatically identifies:131- Key phrases and terminology132- Named entities (people, places, organizations)133- Sentiment per segment (positive, neutral, negative)134- Topic clusters (machine learning powered)135136### 7. **SEO Optimization**137- Generate metadata descriptions from transcript138- Create searchable transcripts for WordPress139- Structured data markup for Google Rich Results140- Sitemap entries for transcript pages141142---143144## Configuration145146### Required Environment Variables147148```bash149# OpenAI API key (for GPT-4 transcript enhancement and summarization)150export OPENAI_API_KEY="sk-proj-xxxxxxxxxxxxx"151152# Deepgram API key (primary transcription engine, highly accurate)153export DEEPGRAM_API_KEY="xxxxxxxxxxxxx"154155# Optional: For YouTube/Vimeo integration156export YOUTUBE_API_KEY="xxxxxxxxxxxxx"157export VIMEO_API_KEY="xxxxxxxxxxxxx"158```159160### Setup Instructions1611621. **Install Dependencies:**163 ```bash164 # macOS165 brew install ffmpeg166167 # Ubuntu/Debian168 sudo apt-get install ffmpeg169170 # Windows (via Chocolatey)171 choco install ffmpeg172 ```1731742. **Get API Keys:**175 - Deepgram: https://console.deepgram.com (free tier: 50 hours/month)176 - OpenAI: https://platform.openai.com/account/api-keys177 - YouTube: https://console.cloud.google.com1781793. **Configure Transcription Options:**180 ```json181 {182 "transcription": {183 "model": "deepgram-nova-2",184 "language": "en",185 "speaker_detection": true,186 "confidence_threshold": 0.85,187 "punctuation": true,188 "profanity_filter": false,189 "diarization": true190 },191 "output": {192 "formats": ["json", "srt", "markdown"],193 "timestamp_interval": 30,194 "include_speaker_labels": true,195 "include_confidence_scores": false196 },197 "processing": {198 "chunk_duration": 600,199 "parallel_chunks": 4,200 "cleanup_filler_words": true,201 "sentiment_analysis": true202 }203 }204 ```205206### Advanced Options207208| Option | Values | Default | Notes |209|--------|--------|---------|-------|210| `model` | `nova-2`, `enhanced`, `base` | `nova-2` | Nova-2 is most accurate; Base is fastest |211| `language` | `en`, `es`, `fr`, `de`, `ja`, etc. | `en` | Supports 100+ languages |212| `speaker_detection` | `true`, `false` | `true` | Requires minimum 30s audio per speaker |213| `timestamp_interval` | `15`, `30`, `60`, `sentence` | `30` | Granularity of timestamps |214| `profanity_filter` | `true`, `false` | `false` | Masks or removes profanity |215216---217218## Example Outputs219220### JSON Output221```json222{223 "metadata": {224 "filename": "podcast-episode-42.mp4",225 "duration_seconds": 1847,226 "language": "en",227 "speakers_detected": 2,228 "accuracy_score": 0.94229 },230 "transcript": [231 {232 "timestamp": "00:00:15",233 "speaker": "Speaker 1",234 "text": "Welcome to the podcast.",235 "confidence": 0.98,236 "segment_id": "seg_001"237 },238 {239 "timestamp": "00:00:45",240 "speaker": "Speaker 2",241 "text": "Thanks for having me!",242 "confidence": 0.96,243 "segment_id": "seg_002"244 }245 ],246 "topics": [247 { "topic": "AI and Machine Learning", "confidence": 0.92, "mentions": 14 },248 { "topic": "Business Strategy", "confidence": 0.88, "mentions": 9 }249 ],250 "summary": "A discussion about AI adoption in enterprise...",251 "key_quotes": [252 {253 "quote": "AI is not about replacing humans...",254 "timestamp": "00:12:34",255 "speaker": "Speaker 2"256 }257 ]258}259```260261### SRT Subtitle Output262```srt263126400:00:15,000 --> 00:00:45,000265Speaker 1: Welcome to the podcast.266267226800:00:45,000 --> 00:01:20,000269Speaker 2: Thanks for having me!270271327200:01:20,000 --> 00:02:15,000273Speaker 1: So tell us about your background274and how you got into this space.275```276277### Markdown Output278```markdown279# Podcast Episode 42 Transcript280281**Duration:** 30:47 282**Speakers:** 2 283**Accuracy:** 94%284285---286287## Transcript288289**[00:00:15] Speaker 1:**290Welcome to the podcast.291292**[00:00:45] Speaker 2:**293Thanks for having me!294295**[00:01:20] Speaker 1:**296So tell us about your background and how you got into this space.297298---299300## Key Topics301- AI and Machine Learning (14 mentions)302- Business Strategy (9 mentions)303- Team Building (7 mentions)304305## Top Quotes306> "AI is not about replacing humans, it's about augmenting human capability." 307> — Speaker 2 at 00:12:34308```309310---311312## Tips & Best Practices313314### 1. **Audio Quality Matters**315- **Best Results**: Quiet environment, good microphone, clear speech316- **Acceptable**: Podcast-quality audio (44.1 kHz, mono/stereo)317- **Challenging**: Noisy backgrounds, multiple overlapping speakers318- **Tip**: Pre-process audio with noise reduction (Audacity, Adobe Audition) for 5-10% accuracy improvement319320### 2. **Speaker Identification**321- Works best with 2-4 distinct speakers322- Requires minimum 30 seconds of clear audio per speaker for accurate labeling323- **Tip**: Have speakers introduce themselves at the start ("Hi, I'm Alice...") for better detection324- For 5+ speakers, consider manual speaker labels in post-processing325326### 3. **Language & Accents**327- Deepgram Nova-2 handles accents well (95%+ accuracy for native speakers)328- For non-native speakers or heavy accents, use `enhanced` model (+20% processing time)329- Specify language code upfront for best results330331### 4. **Timestamp Precision**332- Use `timestamp_interval: 30` for most use cases (good balance of detail and readability)333- Use `timestamp_interval: sentence` for literary/academic transcripts334- Use `timestamp_interval: 15` for music/sound design where timing is critical335336### 5. **Repurposing Content**337- **Clips**: Extract 30-60 second segments using timestamps for TikTok/Instagram Reels338- **Blog Posts**: Convert key quotes into blog posts with embedded video timestamps339- **Email Sequences**: Create 5-part email series from major topic breaks340- **Infographics**: Pull statistics and data points for visual content341342### 6. **Scaling to Bulk Processing**343```344For 50+ videos, batch process with:345- Parallel chunk processing (set parallel_chunks: 8)346- Schedule during off-peak hours (lower API costs)347- Monitor API usage via Deepgram dashboard348- Implement retry logic for failed segments349```350351### 7. **Cost Optimization**352- Deepgram pricing: $0.0043/minute (Nova-2) vs $0.0025/minute (Base model)353- **Savings Tip**: Use Base model for initial processing, Nova-2 only for critical content354- Batch similar videos together (same language, speaker count) for 10-15% cost reduction355- Cache results for re-transcription requests (avoid duplicate charges)356357---358359## Safety & Guardrails360361### What This Skill WILL NOT Do362363❌ **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.364365❌ **Real-Time Transcription**: Designed for post-processing; not suitable for live event captions (though output can be used for near-real-time systems).366367❌ **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.368369❌ **Automatic Content Moderation**: While profanity filtering is available, this skill is not designed for content moderation at scale. Manual review recommended for sensitive content.370371❌ **Emotion/Intent Analysis**: Provides sentiment (positive/negative/neutral) but not nuanced emotion detection or intent classification.372373### Limitations & Boundaries374375| Limitation | Impact | Mitigation |376|-----------|--------|-----------|377| **Background Noise** | Accuracy drops 5-15% in noisy environments | Pre-process audio; record in quiet spaces |378| **Overlapping Speech** | Cannot accurately transcribe when 2+ people talk simultaneously | Encourage speaker turns; use speaker labels |379| **Accented Speech** | 3-8% accuracy reduction for non-native speakers | Use `enhanced` model; provide speaker intro |380| **Technical Jargon** | May misidentify domain-specific terms | Provide custom vocabulary list |381| **Audio Quality <16kHz** | Degraded accuracy below 16kHz sample rate | Recommend 44.1kHz or higher |382| **File Size >2GB** | Automatic chunking required; may extend processing | Split large files; process in parallel |383384### Privacy & Data Handling385386✅ **Data Retention**: Deepgram retains audio for 30 days for quality improvement (can be disabled) 387✅ **Encryption**: All API calls use TLS 1.2+; data in transit is encrypted 388✅ **PII Detection**: Optional PII masking available (detects SSNs, credit cards, phone numbers) 389✅ **GDPR Compliant**: Deepgram is GDPR-compliant; data processed in EU if requested 390391⚠️ **Recommendation**: For HIPAA/FERPA content, use on-premise deployment or Deepgram's enterprise plan with data residency guarantees.392393---394395## Troubleshooting396397### Common Issues & Solutions398399#### Issue: "Accuracy Score Below 80%"400**Causes & Fixes:**4011. **Background noise**: Re-record in quieter environment or use noise reduction4022. **Heavy accent**: Switch to `enhanced` model (takes 20% longer)4033. **Audio corruption**: Verify file integrity with `ffmpeg -v error -i file.mp4 -f null -` 4044. **Language mismatch**: Confirm language code matches actual audio405406**Test Command:**407```bash408# Check audio properties409ffprobe -v error -select_streams a:0 -show_entries stream=sample_rate,channels -of default=noprint_wrappers=1 your-file.mp4410```411412---413414#### Issue: "Speaker Detection Not Working"415**Causes & Fixes:**4161. **Too many speakers**: Diarization works best with 2-4 speakers; 5+