{"id":30700917,"url":"https://github.com/ebrahimar/youtube-video-summarizer","last_synced_at":"2026-05-06T03:32:09.074Z","repository":{"id":312724593,"uuid":"1048522474","full_name":"EbrahimAR/YouTube-Video-Summarizer","owner":"EbrahimAR","description":"A Streamlit-based web app that generates structured summaries of YouTube videos using Google Gemini AI, supports videos without subtitles via Faster-Whisper, and allows PDF export of summaries.","archived":false,"fork":false,"pushed_at":"2025-09-01T15:41:33.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-01T17:20:51.547Z","etag":null,"topics":["ai","geminiai","nlp","pdf","python","streamlit","transcription","video-summarization","whisper","youtube","youtubetranscriptapi","yt-dlp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EbrahimAR.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-01T15:18:49.000Z","updated_at":"2025-09-01T15:52:08.000Z","dependencies_parsed_at":"2025-09-01T17:21:13.087Z","dependency_job_id":"7099b581-7489-44ae-85c7-91cdd8c08c0f","html_url":"https://github.com/EbrahimAR/YouTube-Video-Summarizer","commit_stats":null,"previous_names":["ebrahimar/youtube-video-summarizer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/EbrahimAR/YouTube-Video-Summarizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EbrahimAR%2FYouTube-Video-Summarizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EbrahimAR%2FYouTube-Video-Summarizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EbrahimAR%2FYouTube-Video-Summarizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EbrahimAR%2FYouTube-Video-Summarizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EbrahimAR","download_url":"https://codeload.github.com/EbrahimAR/YouTube-Video-Summarizer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EbrahimAR%2FYouTube-Video-Summarizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273287684,"owners_count":25078575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","geminiai","nlp","pdf","python","streamlit","transcription","video-summarization","whisper","youtube","youtubetranscriptapi","yt-dlp"],"created_at":"2025-09-02T13:01:10.237Z","updated_at":"2026-05-06T03:32:09.013Z","avatar_url":"https://github.com/EbrahimAR.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📺 YouTube Video Summarizer (Whisper + Gemini AI)\n\nA Streamlit-based web app that summarizes YouTube videos into structured reports or notes using:\n- **Google Gemini AI** for summarization\n- **YouTubeTranscriptApi** for transcript fetching\n- **Faster-Whisper** for audio transcription (fallback when no transcript)\n- **yt-dlp** for audio downloading\n- **ReportLab** for generating PDF reports\n\n---\n\n## ✅ Features\n- ✔ Summarizes **entire YouTube videos into structured reports** (Introduction, Main Points, Key Takeaways)\n- ✔ Supports **videos without subtitles** using Whisper transcription\n- ✔ Handles **long transcripts** with chunking + merging\n- ✔ Downloads **PDF notes** with clean formatting\n- ✔ Displays **video info and thumbnail**\n- ✔ Uses **Streamlit for UI**\n\n---\n\n## 🛠 Tech Stack\n- **Python 3.10+** (Recommended)\n- **Streamlit** (Frontend UI)\n- **Google Generative AI (Gemini)** for summarization\n- **Faster-Whisper** for speech-to-text\n- **yt-dlp** for audio download\n- **YouTubeTranscriptApi** for captions\n- **ReportLab** for PDF generation\n\n---\n\n## 📂 Project Structure\n    AI-Exam-System/\n    ├── main.py\n    ├── requirements.txt\n    ├── README.md\n    ├── LICENSE\n    └── .gitignore\n    \n---\n\n## ⚙️ Installation\n\n### **1. Clone the Repository**\n```bash\ngit clone https://github.com/EbrahimAR/Youtube-Video-Summarizer.git\ncd youtube-video-summarizer\n```\n\n### **2. Create a virtual environment (recommended)**\n```bash\npython -m venv venv\nsource venv/bin/activate  # For Linux/Mac\nvenv\\Scripts\\activate     # For Windows\n```\n\n\n### **3. Install dependencies**\n```bash\npip install -r requirements.txt\n```\n    \n---\n\n## 🔑 Set Your API Key\n\nYou need a **Gemini API key** from [Google AI Studio](https://aistudio.google.com/).\n\nAdd it as:\n- **Environmental Variable:**\n    ```bash\n    export GEMINI_API_KEY=\"your_api_key_here\"\n    ```\n    (Windows Powershell)\n    ```bash\n    setx GEMINI_API_KEY \"your_api_key_here\"\n    ```\n**OR**\n- **Streamlit Secrets:**\n    Create `.streamlit/secrets.toml`:\n    ```bash\n    GEMINI_API_KEY = \"your_api_key_here\"\n    ```\n\n---\n\n## ▶ Usage\n\n### **Launching the App**\n\n  - Run the script:\n    ```bash\n    streamlit run main.py\n    ```\n\n\n### **📄 Features in Detail**\n\n  - ✅ **Detailed Report** – Creates a structured summary (Introduction, Main Points, Key Takeaways)\n  - ✅ **PDF Export** – Save summaries as a PDF\n  - ✅ **Whisper Fallback** – Handles videos without captions\n  - ✅ **Gemini AI Integration** – For high-quality summarization\n\n---\n\n## 🔮 Future Improvements\n\n- Add **UI option for summary style** (Detailed Report / Bullet Notes)\n- Support **multiple languages**\n- Add **audio-only mode for podcasts**\n\n---\n\n## 👨‍💻 Author\n\nEbrahim Abdul Raoof\n\n[LinkedIn](https://www.linkedin.com/in/ebrahim-ar/)\n\n[GitHub](https://github.com/EbrahimAR)\n\n---\n\n## 📜 License\n\nThis project is licensed under the MIT License. See [LICENSE](https://github.com/EbrahimAR/YouTube-Video-Summarizer/blob/main/LICENSE) for details.\n#\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febrahimar%2Fyoutube-video-summarizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Febrahimar%2Fyoutube-video-summarizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febrahimar%2Fyoutube-video-summarizer/lists"}