How It Works
Architecture
Three surfaces — the CLI, the Streamlit webapp, and the HTTP API — all drive the same engine.
Pipeline
The default transcript path runs in two stages.
1. Acquire the transcript
Cache first, then the downloader fallback chain, then captions or Whisper.
2. Chunk, filter, summarize
Download Pipeline
The app uses a fallback downloader chain:
- yt-dlp — YouTube, Instagram, TikTok, Twitter/X, Reddit, Facebook
- YouTube (
pytubefix) — fallback if yt-dlp fails - Cobalt — fallback for other HTTP video URLs
If a downloader does not support a URL or fails, the next one is tried automatically.
Key Files
Processing Paths
- Transcript path (default): downloads audio/video, transcribes with Whisper or captions, caches the complete transcript, optionally selects passages with JEV, then summarizes with an LLM.
- Visual path (
--visual): sends the video directly to a vision-capable model, skipping transcription. Uses the same prompts, provider config, and.envkeys as the transcript path. Supportsbase64chunks (default) andurlpassthrough for YouTube.
See Visual Mode for provider setup and Transcription for Whisper options.
Notes
Tip: If YouTube captions are unavailable, the tool automatically falls back to audio download + Whisper transcription.
Tip: Transcripts are cached in memory by default. Re-summarizing the same source with a different style, provider, or JEV selection skips transcription entirely. Disable with
cache-transcript: falseinsummarizer.yaml.
- Cloud Whisper uses Groq Cloud API and requires a Groq API key.
- The Docker image does not include Local Whisper and is aimed at lightweight VPS deployment.