{"id":23703347,"url":"https://github.com/markbakos/personal-media-summarization-tool","last_synced_at":"2026-04-16T19:05:05.017Z","repository":{"id":268445993,"uuid":"904337955","full_name":"markbakos/personal-media-summarization-tool","owner":"markbakos","description":"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.","archived":false,"fork":false,"pushed_at":"2025-01-10T16:01:33.000Z","size":87,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-10T17:19:39.515Z","etag":null,"topics":["fastapi","python","react","summarizer","typescript"],"latest_commit_sha":null,"homepage":"https://pmsummarization.onrender.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/markbakos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-16T17:37:00.000Z","updated_at":"2025-01-10T16:01:37.000Z","dependencies_parsed_at":"2024-12-16T20:41:26.054Z","dependency_job_id":"5114564b-f4a9-4df5-b5f1-ec4e3aed131a","html_url":"https://github.com/markbakos/personal-media-summarization-tool","commit_stats":null,"previous_names":["markbakos/personal-media-summarization-tool"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markbakos%2Fpersonal-media-summarization-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markbakos%2Fpersonal-media-summarization-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markbakos%2Fpersonal-media-summarization-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markbakos%2Fpersonal-media-summarization-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markbakos","download_url":"https://codeload.github.com/markbakos/personal-media-summarization-tool/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239780143,"owners_count":19695736,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","python","react","summarizer","typescript"],"created_at":"2024-12-30T13:01:12.277Z","updated_at":"2026-01-31T04:30:16.769Z","avatar_url":"https://github.com/markbakos.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Personal Media Summarization Tool\n\nA 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.\n\n\u003cdiv align=\"center\"\u003e\n\t\u003ccode\u003e\u003cimg width=\"50\" src=\"https://user-images.githubusercontent.com/25181517/183897015-94a058a6-b86e-4e42-a37f-bf92061753e5.png\" alt=\"React\" title=\"React\"/\u003e\u003c/code\u003e\n\t\u003ccode\u003e\u003cimg width=\"50\" src=\"https://user-images.githubusercontent.com/25181517/183890598-19a0ac2d-e88a-4005-a8df-1ee36782fde1.png\" alt=\"TypeScript\" title=\"TypeScript\"/\u003e\u003c/code\u003e\n\t\u003ccode\u003e\u003cimg width=\"50\" src=\"https://user-images.githubusercontent.com/25181517/183423507-c056a6f9-1ba8-4312-a350-19bcbc5a8697.png\" alt=\"Python\" title=\"Python\"/\u003e\u003c/code\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n\t\u003cimg src=\"https://wakatime.com/badge/user/7a2d5960-3199-4705-8543-83755e2b4d0c/project/638c8225-7663-47c3-9f84-eff5b6d62f1c.svg\" /\u003e\n\u003c/div\u003e\n\n## Features\n\n- Change how many sentences your summary should be.\n- Summarize long texts with LsaSummarizer (sumy).\n- Transcribe video or audio files and summarize them.\n- Summarize videos from links (YouTube, etc..)\n- Parse documents and summarize them.\n- User-friendly, fully responsive website\n\n## Requirements\n\n### Prerequisites\n\n1. **Python 3.10 or higher**: Install from [python.org](https://www.python.org/downloads/).\n2. **pip**: Python package manager (comes with Python installations).\n3. **Node.js (v14 or later)**: Install from [nodejs.org](https://nodejs.org/en/download/package-manager)\n\n### Python Dependencies\n\nInstall the required Python packages from `requirements.txt` found in root folder.\n\n```\npip install -r requirements.txt\n```\n\n## Installation\n\n1. **Clone the repository**\n```\ngit clone https://github.com/markbakos/personal-media-summarization-tool.git\ncd personal-media-summarization-tool\n```\n\n2. **Install dependencies for frontend**\n```\ncd client\nnpm install\n```\n\n3. **Start the development server**\n- Frontend:\n```\n  cd client\n  npm run dev\n```\n\n- Backend:\n```\n  # Make sure you are in root folder\n  source venv/bin/activate\n  uvicorn server.main:app\n```\n\n4. **Open the app in your browser**\u003cbr\u003e\n\nNavigate to [http://localhost:5173](http://localhost:5173) or the address provided in your terminal to use the app.\n\n## API Endpoints\n\n| Method | Endpoint         | Description                                  |  \n|--------|------------------|----------------------------------------------|  \n| POST    | `/summarize/`    | Summarize `content` given                   |  \n| POST   | `/transcribe/`    |   Transcribes and summarizes uploaded video   |  \n| POST    | `/keywords/`| Get the keywords from `content` text             |  \n| POST    | `/youtube/`| Summarizes video from gives `link`           |\n| POST    | `/parse-document/`| Summarizes uploaded `file` document.          |\n\n## Contributing\n\nContributions are welcome!\n\n## Contact\nFor any inquiries, feel free to reach out:\n\n- Email: [markbakosss@gmail.com](mailto:markbakosss@gmail.com) \n- GitHub: [markbakos](https://github.com/markbakos)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkbakos%2Fpersonal-media-summarization-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkbakos%2Fpersonal-media-summarization-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkbakos%2Fpersonal-media-summarization-tool/lists"}