transcribe-video
Skill30 starsChanged 9 months agoMITView on GitHub
Generate subtitles (SRT/VTT) and plain text transcripts from video or audio files using AWS Transcribe. Use when creating captions, extracting spoken content, generating transcripts for notes, or making video content searchable.
- Installs packages
4 other projects use a version of this.
Adopted by
Most recently taken up by
- CharlesLadera/claude-custom-skillstheir own version, first seen Oct 25, 2026
- AlemTuzlak/skillstheir own version, first seen Aug 3, 2026
- smitmartijn/claude-skillstheir own version, first seen Jun 20, 2026
- feiskyer/video-skillstheir own version, first seen Apr 15, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- AlemTuzlak/skills★ 45same name
- feiskyer/video-skills★ 14same name
- CharlesLadera/claude-custom-skills★ 1same name
- smitmartijn/claude-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository4 other files it gives its agents.
- compress-imagesSkill
- customer-empathySkill
- download-videoSkill
- x-postSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 3 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 16
Verify prerequisites: - check ffmpeg and aws CLI are installed and configured
- Distinctive: line 21
Clean up all AWS resources: - delete S3 bucket, Transcribe job, and temp files.
- Distinctive: line 96
IMPORTANT: Always clean up to avoid recurring S3 storage costs.
- Distinctive: line 123
Cleanup is critical: - always delete the S3 bucket to avoid storage charges
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Video Transcription Skill
Generate subtitles and transcripts from $ARGUMENTS (a video or audio file path, optionally followed by a language code like en-US or es-ES) using AWS Transcribe.
Outputs .srt, .vtt, and .txt files next to the source file.
Process
- Verify prerequisites - check
ffmpegandawsCLI are installed and configured - Extract audio from the video as MP3 using ffmpeg
- Create temporary S3 bucket, upload audio
- Run AWS Transcribe job with SRT and VTT subtitle output
- Download results and generate plain text transcript
- Clean up all AWS resources - delete S3 bucket, Transcribe job, and temp files. No recurring costs.
Prerequisites
ffmpeginstalled (brew install ffmpeg)awsCLI installed and configured with valid credentials (brew install awscli && aws configure)- AWS credentials need permissions for:
s3:*(create/delete buckets),transcribe:*(start/delete jobs)
Step-by-Step
Step 1: Extract audio
ffmpeg -i "input.mp4" -vn -acodec mp3 -q:a 2 "/tmp/transcribe-audio.mp3" -yStep 2: Create temp S3 bucket and upload
BUCKET="tmp-transcribe-$(date +%s)"
aws s3 mb "s3://$BUCKET" --region us-east-1
aws s3 cp "/tmp/transcribe-audio.mp3" "s3://$BUCKET/audio.mp3"Step 3: Start transcription job
JOB_NAME="tmp-job-$(date +%s)"
aws transcribe start-transcription-job \
--transcription-job-name "$JOB_NAME" \
--language-code en-US \
--media-format mp3 \
--media "MediaFileUri=s3://$BUCKET/audio.mp3" \
--subtitles "Formats=srt,vtt" \
--output-bucket-name "$BUCKET" \
--region us-east-1Language codes: en-US, es-ES, fr-FR, de-DE, pt-BR, ja-JP, zh-CN, it-IT, ko-KR, etc. Default to en-US if not specified.
Step 4: Poll until complete
while true; do
STATUS=$(aws transcribe get-transcription-job \
--transcription-job-name "$JOB_NAME" \
--region us-east-1 \
--query 'TranscriptionJob.TranscriptionJobStatus' \
--output text)
if [ "$STATUS" = "COMPLETED" ] || [ "$STATUS" = "FAILED" ]; then break; fi
sleep 5
doneStep 5: Download subtitle files
Save .srt and .vtt next to the original file:
aws s3 cp "s3://$BUCKET/$JOB_NAME.srt" "/path/to/input.srt"
aws s3 cp "s3://$BUCKET/$JOB_NAME.vtt" "/path/to/input.vtt"Step 6: Generate plain text transcript
Download the JSON result and extract the full transcript text:
aws s3 cp "s3://$BUCKET/$JOB_NAME.json" "/tmp/transcribe-result.json"Then use a tool to extract the .results.transcripts[0].transcript field from the JSON and save it as a .txt file next to the original.
Step 7: Clean up everything
IMPORTANT: Always clean up to avoid recurring S3 storage costs.
# Delete S3 bucket and all contents
aws s3 rb "s3://$BUCKET" --force --region us-east-1
# Delete the transcription job
aws transcribe delete-transcription-job --transcription-job-name "$JOB_NAME" --region us-east-1
# Delete temp audio file
rm -f "/tmp/transcribe-audio.mp3" "/tmp/transcribe-result.json"Real-World Results (Reference)
From actual transcription runs:
| Video | Duration | Audio Size | Transcribe Time | Subtitle Segments |
| X/Twitter clip | 2:40 | 2.5 MB | ~20 seconds | 83 |
| Screen recording | 18:45 | 11.4 MB | ~60 seconds | 500+ |
Key Insights
- AWS Transcribe is fast - even 19-minute videos complete in about a minute
- Short-form content (tweets, reels) transcribes almost instantly
- Cost is negligible - AWS Transcribe charges ~$0.024/min, so a 19-min video costs ~$0.46
- Cleanup is critical - always delete the S3 bucket to avoid storage charges
- SRT is most compatible - works with most video players and editors; VTT is better for web
Output Files
original-video.mp4
original-video.srt # Subtitles with timestamps (most compatible)
original-video.vtt # Web-optimized subtitles (for HTML5 <track>)
original-video.txt # Plain text transcript (no timestamps)After Transcription
- Verify all output files exist:
ls -lh /path/to/original-video.{srt,vtt,txt} - Report the number of subtitle segments and total duration
- Confirm all AWS resources have been cleaned up (no S3 buckets, no Transcribe jobs remaining)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

