Paste a YouTube URL → the app downloads the audio, transcribes it with local Whisper, then summarizes it with any text model on OpenRouter.
No YouTube captions required.
Repo: nsdivyasingh/Youtube-Video-Summerizer
- Install ffmpeg and put it on your
PATH. - Install Python deps:
pip install -r requirements.txt
- Create a
.envfile (copy from the example) and add your OpenRouter key:cp .env.example .env
OPENROUTER_API_KEY=your-openrouter-api-key-here OPENROUTER_MODEL=meta-llama/llama-3.3-70b-instruct
- Run:
streamlit run app.py
Get a key at openrouter.ai/keys.
.env is gitignored — never commit real API keys.
The in-app Deploy button often fails for private repos or OneDrive paths. Deploy from the website instead:
- Make sure
mainis on GitHub (already pushed to
https://github.com/nsdivyasingh/Youtube-Video-Summerizer). - Open share.streamlit.io and sign in with GitHub.
- Click New app and choose:
- Repository:
nsdivyasingh/Youtube-Video-Summerizer - Branch:
main - Main file path:
app.py
- Repository:
- Under Advanced settings → Secrets (or Manage app → Settings → Secrets), paste:
OPENROUTER_API_KEY = "your-openrouter-api-key-here"
- Click Deploy, then reboot the app after saving secrets. If the repo does not appear in the list:
- Grant Streamlit access to the repo (GitHub → Settings → Applications → Streamlit), or
- Make the repo Public (GitHub → Settings → Danger zone → Change visibility).
packages.txt installs ffmpeg on Cloud. First run downloads the Whisper model and can take a few minutes.
- yt-dlp downloads audio (up to 15 minutes)
- faster-whisper (
tiny) transcribes locally - OpenRouter returns the summary
- OpenRouter audio/video models need account credits; this app only uses OpenRouter for text summary.
- Free Cloud apps have limited RAM. If the app is killed during transcription, try a shorter video or run locally with a larger Whisper model.