YouTube Video Summarizer is a web application that automatically generates concise summaries of YouTube videos using their transcripts. It leverages the power of AI to provide users with quick insights into video content without watching the entire video.
- Summarize YouTube videos by simply entering the video URL
- Display video thumbnail and title for easy identification
- Provide a structured summary including main topic, key points, detailed summary, notable quotes, conclusion, and target audience
- Maintain a history of summarized videos for quick access
- Modern, responsive user interface
- Secure access with username and password authentication
- Backend: Python with Flask
- Frontend: HTML, CSS, JavaScript
- AI: OpenAI GPT model for summarization
- APIs: YouTube Data API, YouTube Transcript API
- Containerization: Docker
- Deployment: Render
-
Clone the repository:
git clone https://github.com/yourusername/youtube-video-summarizer.git cd youtube-video-summarizer -
Set up a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` -
Install the required packages:
pip install -r requirements.txt -
Set up environment variables: Create a
.envfile in the project root and add the following:OPENAI_API_KEY=your_openai_api_key YOUTUBE_API_KEY=your_youtube_api_key AUTH_USERNAME=your_chosen_username AUTH_PASSWORD=your_chosen_password -
Run the application:
python app.py -
Open a web browser and navigate to
http://localhost:5000
-
Build the Docker image:
docker build -t youtube-summarizer . -
Run the Docker container:
docker run -p 5000:5000 --env-file .env youtube-summarizer -
Access the application at
http://localhost:5000
- Access the application using your username and password.
- Enter a YouTube video URL in the input field.
- Click the "Summarize" button.
- Wait for the summary to be generated.
- View the video information, including thumbnail and title.
- Read the structured summary of the video content.
- Access previously summarized videos from the history section.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for providing the GPT model
- YouTube Data API and YouTube Transcript API for video data and transcripts
- Flask framework for the web application
If you have any questions, feel free to reach out to Your Name.