Submit a YouTube URL and get an AI-generated summary of the video.
Explore the code »
View Demo
·
Report Bug
·
Request Feature
This project allows you to generate AI-powered summaries of YouTube videos using the facebook/bart-large-cnn local language model. You just send a video URL to the FastAPI endpoint, and within ~8 seconds (depending on your GPU), you get a clean summary of the content.
💡 It works even for long transcripts or complex documents.
📃 Added Gradio Frontend ⚙️ You can now select summary length:
- very short
- short
- normal
- long
- very long
- Transcript download using
get_transcript. - Chunking of the text for better LLM input.
- Chunk-wise summarization with
facebook/bart-large-cnn. - Merging summaries into a final summary.
- Exposed via API endpoint:
GET /summarize-video?url=YOUR_YOUTUBE_URL
ai_core.py: Handles tokenization and LLM model logicai_algorithm.py: Chunking and hierarchical summarization logicget_transcript.py: Retrieves transcript from YouTubeapi.py: FastAPI web server exposing the summarization endpointtests/: Unit tests for core components
This repo contains a full suite of unit tests for the AI pipeline logic to ensure consistency and reliability.
Run them using:
python -m Backend.tests.unit_testThis project is licensed under CC BY-NC 4.0. That means:
- ✅ Free for non-commercial use
- ✅ Attribution required (mention the author)
- ❌ Commercial use is forbidden
Author: Mikołaj Jaros. (aka MixDevv)
This screenshot shows the app sending a request and receiving a response from the server, highlighting the GPU usage during processing.
A detailed view of the server response corresponding to the previous request, showing the summarized content returned by the API.
Demonstrates the successful execution of unit tests, ensuring the app's core functionalities work correctly.