deepgram-transcription
Deepgram APIを活用し、音声・動画ファイルを文字起こしするSkillで、特にファイルサイズが大きい動画の場合は、事前に音声のみを抽出することで、アップロード時間と処理時間を短縮して効率的に文字起こしするSkill。
📜 元の英語説明(参考)
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.
🇯🇵 日本人クリエイター向け解説
Deepgram APIを活用し、音声・動画ファイルを文字起こしするSkillで、特にファイルサイズが大きい動画の場合は、事前に音声のみを抽出することで、アップロード時間と処理時間を短縮して効率的に文字起こしするSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o deepgram-transcription.zip https://jpskill.com/download/10168.zip && unzip -o deepgram-transcription.zip && rm deepgram-transcription.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/10168.zip -OutFile "$d\deepgram-transcription.zip"; Expand-Archive "$d\deepgram-transcription.zip" -DestinationPath $d -Force; ri "$d\deepgram-transcription.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
deepgram-transcription.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
deepgram-transcriptionフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Deepgram Transcription
概要
このスキルは、Deepgram API を使用して、オーディオファイルおよびビデオファイルを効率的に文字起こしできます。オーディオを最初に抽出することで、大きなビデオファイルを自動的に処理し、アップロード時間と API コストを削減します。出力には、タイムスタンプ付きの完全な JSON レスポンスと、クリーンなテキストトランスクリプトの両方が含まれます。
このスキルの使用時
このスキルは、以下の場合に使用します。
- オーディオファイル(mp3、wav、m4a、aac など)を文字起こしする場合
- ビデオファイル(mp4、mov、avi、mkv など)を文字起こしする場合
- メディアファイル内の音声をテキストに変換する場合
- タイムスタンプの有無にかかわらずトランスクリプトを作成する場合
- ドキュメント用に複数の録音を処理する場合
コアワークフロー
1. 入力タイプの決定
まず、入力ファイルのタイプを特定します。
オーディオファイル(mp3、wav、m4a、aac):
- 直接文字起こしできます
- ファイルサイズが小さく、アップロードが高速です
ビデオファイル(mp4、mov、avi など):
- 50MBを超えるファイルの場合は、最初にオーディオを抽出する必要があります
- アップロード時間を大幅に削減します(例:190MBのビデオ→3MBのオーディオ)
- 文字起こし目的では品質の低下はありません
2. オーディオの抽出(ビデオファイルの場合)
ビデオファイル、特に50MBを超えるファイルの場合は、文字起こしの前にオーディオを抽出します。
ffmpeg -i input_video.mp4 -vn -acodec aac -b:a 128k output_audio.m4a -y
パラメータ:
-vn: ビデオなし(オーディオのみ)-acodec aac: AAC オーディオコーデック-b:a 128k: 128kbps ビットレート(高品質、小サイズ)-y: 出力ファイルを上書き
これにより、音声品質を維持しながら、ファイルサイズが約98%削減されます。
3. Deepgram による文字起こし
提供されている scripts/transcribe.py スクリプトを使用して、自動文字起こしを行います。
scripts/transcribe.py input_file.mp4 \
--api-key YOUR_DEEPGRAM_API_KEY \
--output-dir ./transcripts \
--extract-audio
または、手動で制御するために、直接 curl を使用します。
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. 結果の抽出と保存
文字起こしレスポンスには以下が含まれます。
完全な JSON(タイムスタンプ、信頼度スコア、メタデータ付き):
{
"results": {
"channels": [{
"alternatives": [{
"transcript": "Full text here...",
"words": [
{"word": "hello", "start": 0.5, "end": 0.9, "confidence": 0.99}
]
}]
}]
}
}
プレーンテキストトランスクリプトの抽出:
cat transcription.json | python3 -c "import json, sys; data=json.load(sys.stdin); print(data['results']['channels'][0]['alternatives'][0]['transcript'])" > transcript.txt
文字起こしスクリプトの使用
scripts/transcribe.py は、完全なワークフローを提供します。
基本的な使用法
# ビデオファイルを文字起こしする(オーディオを自動抽出)
scripts/transcribe.py video.mp4 --api-key YOUR_KEY --extract-audio
# オーディオファイルを直接文字起こしする
scripts/transcribe.py audio.mp3 --api-key YOUR_KEY
# 出力ディレクトリを指定する
scripts/transcribe.py video.mov --api-key YOUR_KEY --output-dir ./transcripts
高度なオプション
# 別の Deepgram モデルを使用する
scripts/transcribe.py file.mp4 --api-key YOUR_KEY --model whisper-large
# スマートフォーマットを無効にする
scripts/transcribe.py file.mp4 --api-key YOUR_KEY --no-smart-format
# 抽出時のカスタムオーディオビットレート
scripts/transcribe.py file.mp4 --api-key YOUR_KEY --extract-audio --audio-bitrate 192k
出力ファイル
スクリプトは以下を生成します。
{filename}_transcription.json- タイムスタンプ付きの完全な Deepgram レスポンス{filename}_transcript.txt- クリーンなテキストトランスクリプトのみ
推奨設定
Deepgram モデル: nova-2
- 最新かつ最も正確なモデル
- 速度と品質のバランスが良い
- さまざまなアクセントやオーディオ品質に対応
スマートフォーマット: 有効(デフォルト)
- 自動句読点
- 適切な大文字化
- 数値フォーマット
- 読みやすさの向上
オーディオビットレート: 128kbps
- 優れた音声品質
- 小さなファイルサイズ
- 高速アップロード
一般的なシナリオ
シナリオ 1:単一のビデオファイル
# ユーザー:「このビデオ録画を文字起こししてください」
scripts/transcribe.py recording.mp4 --api-key KEY --extract-audio
シナリオ 2:複数の画面録画
# 最初にすべてのビデオからオーディオを抽出する
for f in *.mov; do
ffmpeg -i "$f" -vn -acodec aac -b:a 128k "${f%.mov}_audio.m4a" -y
done
# すべてのオーディオファイルを文字起こしする
for f in *_audio.m4a; do
scripts/transcribe.py "$f" --api-key KEY --output-dir ./transcripts
done
シナリオ 3:オーディオのみのファイル
# 直接文字起こし(抽出は不要)
scripts/transcribe.py podcast.mp3 --api-key KEY
トラブルシューティング
ファイルアクセスに関する問題
アクセス許可エラーが発生した場合:
- ファイルのアクセス許可を確認します:
ls -l filename - ファイルが存在することを確認します:
file filename - 必要に応じて絶対パスを使用します
大きなファイルのアップロードがタイムアウトする
非常に大きなファイルの場合:
- 常に最初にオーディオを抽出します(
--extract-audio) - 必要に応じてスクリプトのタイムアウトを増やします
- 長い録音を分割することを検討してください
API キーに関する問題
- API キーが正しいことを確認します
- Deepgram アカウントに使用可能なクレジットがあることを確認します
- キーに余分なスペースがないことを確認します
ファイルサイズのガイドライン
| 入力タイプ | サイズ | 推奨事項 |
|---|---|---|
| オーディオ | 任意 | 直接文字起こし |
| ビデオ | < 50MB | 直接文字起こし可能 |
| ビデオ | 50-200MB | 最初にオーディオを抽出 |
| ビデオ | > 200MB | 最初にオーディオを抽出する必要あり |
リソース
scripts/transcribe.py
以下を処理する完全な Python スクリプト:
- ビデオからのオーディオ抽出
- Deepgram API 呼び出し
- レスポンスの解析
- 出力ファイルの生成
効率を高めるために、コンテキストにロードせずに実行します。
references/api_reference.md
以下を含む Deepgram API ドキュメント:
- 利用可能なモデルと機能
- API パラメータとオプション
- レスポンス形式の詳細
- ベストプラクティス
詳細な API 情報が必要な場合は、コンテキストにロードします。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
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:
{filename}_transcription.json- Full Deepgram response with timestamps{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:
- Always extract audio first (
--extract-audio) - Increase timeout in script if needed
- 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 Type | Size | Recommendation |
|---|---|---|
| Audio | Any | Transcribe directly |
| Video | < 50MB | Can transcribe directly |
| Video | 50-200MB | Extract audio first |
| Video | > 200MB | Must 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.