GitHub - itsfabioroma/transcribee: Open source macOS video transcriber that builds a self-organizing knowledge base ๐ ยท GitHub
transcribee ๐
Open source macOS transcriber for YouTube, Instagram Reels, TikTok, and local media โ evolves a self-organizing knowledge base.
transcribee "https://youtube.com/watch?v=..." transcribee "https://instagram.com/reel/..." transcribee "https://vt.tiktok.com/..." transcribee ~/Downloads/podcast.mp3
Over time, your ~/Documents/transcripts/ folder naturally evolves into a personal library:
transcripts/ โโโ AI-Research/ โ โโโ ilya-sutskever-agi-2024/ โ โโโ anthropic-constitutional-ai/ โโโ Startups/ โ โโโ ycombinator-how-to-get-users/ โ โโโ pmarca-founder-mode/ โโโ Health/ โโโ huberman-sleep-optimization/
Each transcript is speaker-labeled and ready to paste into ChatGPT, Claude, or any LLM.
Why ๐ฏ
I consume a lot of video content โ YouTube, Instagram, TikTok, podcasts, interviews. I wanted to:
- Ask questions about videos in LLMs
- Have all that knowledge searchable and organized
- Not do any manual work to maintain it
transcribee does exactly that. Transcribe once, knowledge stays forever.
Features ๐ชป
- Transcribes YouTube, Instagram Reels, TikTok, and local audio/video files
- Speaker diarization โ identifies different speakers
- Auto-categorizes transcripts using Claude based on content
- Builds a knowledge library that organizes itself over time
Use with OpenClaw ๐ค
transcribee is available as an OpenClaw skill. Just ask your agent to transcribe any YouTube video:
"Transcribe this video: https://youtube.com/watch?v=..."
Install the skill
Install from ClawHub (recommended)
openclaw skills install transcribee
Or clone manually
git clone https://github.com/itsfabioroma/transcribee.git ~/.openclaw/workspace/skills/transcribee
Make sure you have the dependencies installed (brew install yt-dlp ffmpeg) and API keys configured.
Quick Start ๐ชบ
Install dependencies (macOS)
brew install yt-dlp ffmpeg pnpm install
Configure API keys
cp .env.example .env
Add your ElevenLabs + Anthropic API keys to .env
Transcribe anything
transcribee "https://youtube.com/watch?v=..." transcribee "https://instagram.com/reel/..." transcribee "https://vt.tiktok.com/..." transcribee ~/Downloads/podcast.mp3 transcribee ~/Videos/interview.mp4
Shell alias (recommended)
Add to ~/.zshrc:
alias transcribee="noglob /path/to/transcribee/transcribe.sh"
Output ๐ฏ
Each transcript saves to ~/Documents/transcripts/{category}/{title}/:
File | What it's for
transcript.txt | Speaker-labeled transcript โ paste this into your LLM
metadata.json | Video info, language, auto-detected theme
Raw JSON (optional)
For power users who need word-level timestamps and confidence scores:
transcribee --raw "https://youtube.com/watch?v=..."
This adds transcript-raw.json with the full ElevenLabs response.
How it works ๐
- Downloads audio from YouTube (yt-dlp) or extracts from local video (ffmpeg)
- Transcribes with ElevenLabs (
scribe_v1_experimentalwith speaker diarization) - Claude analyzes content and existing library structure
- Auto-categorizes into the right folder
- Saves transcript files with metadata
Requirements
- macOS (tested on Sonoma)
- Node.js 18+
- yt-dlp โ
brew install yt-dlp - ffmpeg โ
brew install ffmpeg - ElevenLabs API key โ for transcription
- Anthropic API key โ for auto-categorization
Supported formats
Type | Formats
Audio | mp3, m4a, wav, ogg, flac Video | mp4, mkv, webm, mov, avi URLs | youtube.com, youtu.be, instagram.com/reel, tiktok.com bzz bzz ๐