A FastAPI-powered tool that extracts YouTube video transcripts and summarizes them using OpenAI's GPT models. Perfect for quickly digesting long videos!
- YouTube Transcript Extraction: Fetches transcripts automatically.
- AI-Powered Summaries: Summarizes content using OpenAI's GPT models.
- Customizable Output: Choose the length and format of your summary.
- Extract Transcript: The tool fetches the transcript of a YouTube video using its URL.
- Summarize with OpenAI: The transcript is sent to OpenAI's GPT model to generate a concise summary.
- Customize Output: Users can specify the length (e.g., number of paragraphs) and format of the summary.
We welcome contributions to improve this tool! Here’s how you can get started:
- Python 3.11+
- OpenAI API Key (Get it here)
- Basic knowledge of FastAPI and Docker
-
Fork the Repository:
Click the "Fork" button at the top right of this repository to create your own copy. -
Clone Your Fork:
git clone https://github.com/your-username/youtube-summarizer.git cd youtube-summarizer
-
Set Up Environment Variables:
- Create a
.env
file in the root directory.
- Create a
-
Install Dependencies:
Create a virtual environment and install the required packages:python -m venv .venv source .venv/bin/activate pip install -r requirements.txt
-
Run the Application Locally:
Start the FastAPI server:uvicorn api.main:app --reload
-
Make Your Changes:
- Add new features, fix bugs, or improve documentation.
- Write tests for your changes in the
api/tests/
directory.
-
Submit a Pull Request:
- Push your changes to your forked repository.
- Open a pull request to the
main
branch of this repository. - Provide a clear description of your changes and why they’re valuable.
youtube-summarizer/
├── api/ # FastAPI app and related code
│ ├── __init__.py
│ ├── main.py # FastAPI app entry point
│ ├── models/ # Pydantic models
│ ├── routes/ # API endpoints
│ ├── services/ # Business logic (e.g., summarization)
│ ├── utils/ # Helper functions (e.g., YouTube API calls)
│ └── tests/ # Unit and integration tests
├── docker-compose.yml # Docker Compose configuration
├── Dockerfile # Dockerfile for the API
├── requirements.txt # Python dependencies
├── .env.example # Example environment variables
├── .gitignore # Git ignore rules
├── .dockerignore # Docker ignore rules
└── README.md # Project documentation
This project is licensed under the MIT License. See LICENSE for details.
If you find this tool useful, consider supporting its development by subscribing to the hosted service. For more details, visit our website (coming soon).
Happy coding! 🚀