https://github.com/markbakos/personal-media-summarization-tool
Personal Media Summarization Tool (PMST) is a tool for summarizing long texts, videos and documents with Python, clean and easily usable UI to make the tool accessible for users with React and TypeScript.
https://github.com/markbakos/personal-media-summarization-tool
fastapi python react summarizer typescript
Last synced: 2 months ago
JSON representation
Personal Media Summarization Tool (PMST) is a tool for summarizing long texts, videos and documents with Python, clean and easily usable UI to make the tool accessible for users with React and TypeScript.
- Host: GitHub
- URL: https://github.com/markbakos/personal-media-summarization-tool
- Owner: markbakos
- Created: 2024-12-16T17:37:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-10T16:01:33.000Z (over 1 year ago)
- Last Synced: 2025-01-10T17:19:39.515Z (over 1 year ago)
- Topics: fastapi, python, react, summarizer, typescript
- Language: TypeScript
- Homepage: https://pmsummarization.onrender.com/
- Size: 85 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Personal Media Summarization Tool
A media summarization tool for long texts, documents, video files and links with other useful tools such as Unwikipediafy, frontend built with React (TypeScript), animations with framer. Backend built with Python FastAPI and libraries for summarizing and transcribing videos.



## Features
- Change how many sentences your summary should be.
- Summarize long texts with LsaSummarizer (sumy).
- Transcribe video or audio files and summarize them.
- Summarize videos from links (YouTube, etc..)
- Parse documents and summarize them.
- User-friendly, fully responsive website
## Requirements
### Prerequisites
1. **Python 3.10 or higher**: Install from [python.org](https://www.python.org/downloads/).
2. **pip**: Python package manager (comes with Python installations).
3. **Node.js (v14 or later)**: Install from [nodejs.org](https://nodejs.org/en/download/package-manager)
### Python Dependencies
Install the required Python packages from `requirements.txt` found in root folder.
```
pip install -r requirements.txt
```
## Installation
1. **Clone the repository**
```
git clone https://github.com/markbakos/personal-media-summarization-tool.git
cd personal-media-summarization-tool
```
2. **Install dependencies for frontend**
```
cd client
npm install
```
3. **Start the development server**
- Frontend:
```
cd client
npm run dev
```
- Backend:
```
# Make sure you are in root folder
source venv/bin/activate
uvicorn server.main:app
```
4. **Open the app in your browser**
Navigate to [http://localhost:5173](http://localhost:5173) or the address provided in your terminal to use the app.
## API Endpoints
| Method | Endpoint | Description |
|--------|------------------|----------------------------------------------|
| POST | `/summarize/` | Summarize `content` given |
| POST | `/transcribe/` | Transcribes and summarizes uploaded video |
| POST | `/keywords/`| Get the keywords from `content` text |
| POST | `/youtube/`| Summarizes video from gives `link` |
| POST | `/parse-document/`| Summarizes uploaded `file` document. |
## Contributing
Contributions are welcome!
## Contact
For any inquiries, feel free to reach out:
- Email: [markbakosss@gmail.com](mailto:markbakosss@gmail.com)
- GitHub: [markbakos](https://github.com/markbakos)