Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎥 YouTube Video Summarizer

An AI-powered YouTube video summarizer built with Python, Streamlit, and Google Gemini. Paste a YouTube video URL and instantly get concise summaries in multiple formats.

✨ Features

  • 📄 Summarize any YouTube video with transcripts enabled.

  • 📝 Multiple summary styles:

    • Bullet Points
    • Time Stamped
    • Detailed Notes
    • Study Notes
    • ELI5
    • Blog Post
  • 🧩 Automatic chunking for long videos.

  • ⚡ Streamlit caching for faster repeated summaries.

  • 📥 Download summaries as Markdown files.

  • 🚨 Proper error handling for missing or disabled transcripts.


🛠 Tech Stack

  • Python
  • Streamlit
  • Google Gemini API
  • youtube-transcript-api
  • python-dotenv

📂 Project Structure

yt_summarizer/
│
├── ui.py                 # Streamlit interface
├── summarizer.py         # Core summarization logic
├── requirements.txt
├── .env
├── .gitignore
├── README.md
└── TO_BE_IMPLEMENTED.md

🚀 Installation

Clone the repository

git clone https://github.com/<your-username>/yt_summarizer.git
cd yt_summarizer

Create a virtual environment

python -m venv venv

Activate the environment:

Windows

venv\Scripts\activate

Linux / macOS

source venv/bin/activate

Install dependencies

pip install -r requirements.txt

🔑 Environment Variables

Create a .env file:

GEMINI_API_KEY=your_api_key_here

Get a Gemini API key from Google AI Studio.


▶ Running the App

streamlit run ui.py

Then open:

http://localhost:8501

🎯 Supported Summary Styles

Style Description
Bullet Points Quick overview
Time Stamped Topic-wise summary with timestamps
Detailed Notes Detailed explanation
Study Notes Revision-friendly notes
ELI5 Simplified explanation
Blog Post Blog/article format

📸 Example

Input

https://www.youtube.com/watch?v=xxxxxxxx

Output

# Summary

## Introduction
- Topic overview

## Main Concepts
- Key point 1
- Key point 2

## Conclusion
- Final takeaway

Current Limitations

  • Videos must have transcripts available.
  • Videos with disabled transcripts are unsupported.
  • Playlist summarization is not implemented yet.
  • Only Markdown export is currently supported.

Future Features

  • Playlist summarization
  • Chapter-wise summaries
  • PDF and DOCX export
  • Flashcard generation
  • Quiz generation
  • Learning roadmap
  • Code snippet extraction
  • Key takeaways
  • Semantic search using embeddings
  • Chat with videos (RAG)
  • Timestamp search
  • Video metadata display
  • Video and audio download using yt-dlp

See TO_BE_IMPLEMENTED.md for the complete roadmap.


Dependencies

streamlit
google-genai
youtube-transcript-api
python-dotenv

License

This project is licensed under the MIT License.


Author

Built with ❤️ using Python and Gemini.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages