An open API service indexing awesome lists of open source software.

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.

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.


React
TypeScript
Python



## 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)