{"id":30700960,"url":"https://github.com/harikrishnan669/youtube_summarizer","last_synced_at":"2026-05-16T11:02:49.260Z","repository":{"id":312603329,"uuid":"1046850304","full_name":"harikrishnan669/Youtube_summarizer","owner":"harikrishnan669","description":"Your personal study assistant! This bot makes learning easier by converting YouTube videos into summarized notes with key points. Just send a video link, and get a clear PDF summary—perfect for studying, revising, or quickly understanding any topic. ","archived":false,"fork":false,"pushed_at":"2025-09-01T16:02:42.000Z","size":44,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-19T20:39:38.894Z","etag":null,"topics":["bert-model","huggingface-transformers","mbert","python3","telegrambot","whisper"],"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/harikrishnan669.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-08-29T10:24:14.000Z","updated_at":"2025-09-06T17:39:54.000Z","dependencies_parsed_at":"2025-08-31T21:20:21.041Z","dependency_job_id":"95bf857e-f2f1-4b32-9cdb-a5467a7ed5a8","html_url":"https://github.com/harikrishnan669/Youtube_summarizer","commit_stats":null,"previous_names":["harikrishnan669/youtube_summarizer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/harikrishnan669/Youtube_summarizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harikrishnan669%2FYoutube_summarizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harikrishnan669%2FYoutube_summarizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harikrishnan669%2FYoutube_summarizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harikrishnan669%2FYoutube_summarizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/harikrishnan669","download_url":"https://codeload.github.com/harikrishnan669/Youtube_summarizer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harikrishnan669%2FYoutube_summarizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33100319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bert-model","huggingface-transformers","mbert","python3","telegrambot","whisper"],"created_at":"2025-09-02T13:01:19.886Z","updated_at":"2026-05-16T11:02:49.255Z","avatar_url":"https://github.com/harikrishnan669.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YouTube Summarizer Bot – Your Personal Study Assistant\n\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"640\" height=\"360\" alt=\"YTSummarizer\" src=\"https://github.com/user-attachments/assets/cd9cb536-8198-488f-8936-bcb754460fc6\" /\u003e\n\u003c/div\u003e\n\n## Your personal study assistant!\nYour personal study assistant! This bot makes learning easier by converting YouTube videos into summarized notes with key points. Just send a video link, and get a clear PDF summary—perfect for studying, revising, or quickly understanding any topic. Say goodbye to long videos and hello to smart learning\n\nA demo project to study about ML models and how the models works\n\n---\n\n## Features\n\n* Download YouTube audio with `yt-dlp`\n*  Transcribe audio into text using **OpenAI Whisper**\n*  Detect spoken language automatically\n*  Translate **Malayalam → English** using **mBART**\n*  Summarize long transcripts using **BART Large CNN**\n*  Extract key points for quick revision\n*  Generate a **PDF report** with summary + key points\n*  Get results directly in Telegram\n\n---\n\n## Models Used\n\n### 1. **Whisper (Base Model)**\n\n* Source: [OpenAI Whisper](https://github.com/openai/whisper)\n* Task: **Speech-to-text transcription** and **language detection**\n* Strength: Works with noisy audio and supports multiple languages.\n\n### 2. **facebook/bart-large-cnn**\n\n* Source: [Hugging Face BART](https://huggingface.co/facebook/bart-large-cnn)\n* Task: **Summarization of English text**\n* Strength: Extracts concise, human-readable summaries from long transcripts.\n\n### 3. **facebook/mbart-large-50-many-to-many-mmt**\n\n* Source: [Hugging Face mBART](https://huggingface.co/facebook/mbart-large-50-many-to-many-mmt)\n* Task: **Translation (Malayalam → English)**\n* Strength: Supports **50 languages**, making the bot multilingual.\n\n---\n\n## ⚡ Workflow\n\n### Step-by-step Flow:\n\n1. **User sends YouTube link** in Telegram\n2. **Bot downloads audio** using `yt-dlp`\n3. **Whisper transcribes audio** → Returns full transcript\n4. **Language detection**:\n\n   * If English → move to summarization\n   * If Malayalam → Translate Malayalam → English using mBART\n5. **Summarize transcript** with **BART-Large-CNN**\n6. **Extract key points** (max 8 important sentences)\n7. **Generate PDF** with:\n\n   * Title\n   * Summary\n   * Key points\n   * Footer (Bot signature)\n8. **Bot sends back results**:\n\n   * Summary in text format\n   * PDF file with key points\n\n---\n\n## Flow Diagram\n\u003cimg width=\"500\" height=\"800\" alt=\"ChatGPT Image Aug 31, 2025, 08_41_55 PM\" src=\"https://github.com/user-attachments/assets/db096434-c7c1-4ebb-b3e1-ddb6364f68cf\" /\u003e\n\n## File Structure\n```\n📦 youtube-summarizer-bot\n ┣ 📜 main.py            # Main bot code\n ┣ 📜 requirements.txt  # Dependencies\n ┣ 📜 README.md         # Documentation\n```\n\n---\n\n## ⚙️ Setup Instructions\n\n### 1. Clone the Repo\n\n```bash\ngit clone https://github.com/harikrishnan669/youtube-summarizer.git\ncd youtube-summarizer\n```\n\n### 2. Create Virtual Environment (Optional but Recommended)\n\n```bash\npython -m venv venv\nsource venv/bin/activate   # Mac/Linux\nvenv\\Scripts\\activate      # Windows\n```\n\n### 3. Install Dependencies\n\n```bash\npip install -r requirements.txt\n```\n\n**requirements.txt**\n\n```txt\npython-telegram-bot==20.3\ntransformers==4.31.0\ntorch\nyt-dlp\nopenai-whisper\nfpdf\n```\n\n### 4. Add Your Bot Token\n\n* Get a bot token from **BotFather** on Telegram.\n* Open `bot.py` and replace:\n\n```python\nBOT_TOKEN = \"YOUR_TELEGRAM_BOT_TOKEN\"\n```\n\n### 5. Run the Bot\n\n```bash\npython bot.py\n```\n\n---\n\n##  Usage\n\n* Start the bot in Telegram: `/start`\n* Send a YouTube link 🎥\n* Bot replies with:\n\n  * 📄 A **text summary** (Telegram message)\n  * 📑 A **PDF report** with key points\n\n---\n\n## 📜 Commands\n\n| Command  | Description                  |\n| -------- | ---------------------------- |\n| `/start` | Start the bot                |\n| `/help`  | Show available commands      |\n| `/steps` | Show bot workflow steps      |\n| `/clear` | Clear session (experimental) |\n\n---\n\n## 📌 Example Output\n\n**Summary (Telegram Message):**\n\n```\nThis video explains the basics of AI, its applications in daily life, and future challenges...\n```\n\n**PDF Key Points:**\n\n* AI is transforming industries\n* Applications include healthcare, finance, education\n* Challenges include ethics \u0026 privacy\n\n---\n\n## 🚀 Future Improvements\n\n* 📊 Better PDF formatting (colors, sections, headings)\n* 🌍 Support for more languages\n* ☁️ Cloud storage for generated PDFs\n* 🎥 Handle **very long videos** with chunk-based transcript summarization\n\n---\n\n## 🤝 Contributing\n\nPull requests are welcome! Please open an issue first to discuss major changes.\n\n---\n## Scrrenshots\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/33f3e9c8-57bb-4ff2-8798-e312eb489b6a\" width=\"200\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/df4674b1-3496-41dc-a74e-7cb5a68bf476\" width=\"200\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/52b57430-34e2-4c5f-ab70-9b72132e2324\" width=\"200\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/3485b28f-d3b0-4820-b878-3829cc74bf6e\" width=\"200\"/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n## 📄 License\n\nMIT License – Feel free to use and modify.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharikrishnan669%2Fyoutube_summarizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharikrishnan669%2Fyoutube_summarizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharikrishnan669%2Fyoutube_summarizer/lists"}