What's Changed
New feature: YouTube audio transcription via OpenRouter Whisper
Videos that lack YouTube captions can now be transcribed using OpenRouter's
Whisper API, producing dramatically better summaries than RSS descriptions.
How it works:
youtube-transcript-apitries to fetch captions (free, existing behaviour)- If no captions →
yt-dlpdownloads the audio track - Audio is sent to
openrouter.ai/api/v1/audio/transcriptions(Whisper) - Falls back to the RSS description if everything fails
Key details:
- Disabled by default — enable in Admin > Digest under "YouTube transcription"
- Uses your existing OpenRouter API key — no new subscription needed
- Spend is tracked in Admin > Budget and respects daily/monthly limits
- Default model:
openai/whisper-large-v3-turbo(fast, cheap);whisper-large-v3available for highest accuracy - Configurable max video duration (default 30 min) to control cost
yt-dlpandffmpegadded to Docker images andprovision-ubuntu.sh
Bug fix: YouTube video publish dates
YouTube videos now use their actual feed publish date rather than now(), so the age filter correctly excludes old videos.
Upgrading
If deploying to an existing VPS (outside Docker), install the new dependencies once:
pip install yt-dlp
apt-get install -y ffmpegCommits Since 2.6.0
866607dfeat(youtube): add remote Whisper transcription via OpenRouter02074f9fix(youtube): use feed publish date for age filter