Project
Subtext
Turn any YouTube video — or a whole playlist — into a timestamped, searchable, exportable transcript.
Overview
Subtext converts YouTube video into text you can actually work with: every line timestamped and linked back to the moment it was said, searchable, and exportable as real subtitle files. It tries existing captions first and only falls back to Whisper speech-to-text when a video has none, which is what keeps the common case free. Transcription runs as a background job rather than inside the request, so a two-hour video is not limited by an edge timeout, and a playlist or channel URL expands into one job per video with live per-video progress. Everything is persisted, so the library survives restarts and a second visit costs nothing. The point of difference is the artifact rather than the intelligence — a chatbot will summarise a video, but it will not hand you a frame-accurate .srt, a verbatim record you can quote from, or an API you can run across two hundred videos.
Highlights
- Captions-first: most videos cost nothing to transcribe, Whisper only fires when there are none
- Whole playlists and channels queue as background jobs, so long videos are not bound by an HTTP timeout
- Exports real subtitle files — .srt, .vtt, .txt, .md, .json — not just a summary
- Every transcript kept in a local library, so re-opening one is instant and free
Screenshots
Stack
Roadmap
- Cloudflare Access in front of the public instance
- Speaker labels via a diarising speech-to-text model
- Translation of finished transcripts
- Full-text search across the whole library