Loading...
Loading...
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.
npx skill4agent add agentiveau/myagentive deepgram-transcriptionffmpeg -i input_video.mp4 -vn -acodec aac -b:a 128k output_audio.m4a -y-vn-acodec aac-b:a 128k-yscripts/transcribe.pyscripts/transcribe.py input_file.mp4 \
--api-key YOUR_DEEPGRAM_API_KEY \
--output-dir ./transcripts \
--extract-audiocurl -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{
"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.txtscripts/transcribe.py# 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# 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{filename}_transcription.json{filename}_transcript.txtnova-2# User: "Transcribe this video recording"
scripts/transcribe.py recording.mp4 --api-key KEY --extract-audio# 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# Direct transcription (no extraction needed)
scripts/transcribe.py podcast.mp3 --api-key KEYls -l filenamefile filename--extract-audio| 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 |