jpskill.com
📦 その他 コミュニティ

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本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
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
🪟 Windows (PowerShell)
$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. 1. 下の青いボタンを押して deepgram-transcription.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → deepgram-transcription フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

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

出力ファイル

スクリプトは以下を生成します。

  1. {filename}_transcription.json - タイムスタンプ付きの完全な Deepgram レスポンス
  2. {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
  • 必要に応じて絶対パスを使用します

大きなファイルのアップロードがタイムアウトする

非常に大きなファイルの場合:

  1. 常に最初にオーディオを抽出します(--extract-audio
  2. 必要に応じてスクリプトのタイムアウトを増やします
  3. 長い録音を分割することを検討してください

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:

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