Open-source tool that transcribes, summarizes and archives videos and podcasts from YouTube, TikTok, Bilibili and 30+ platforms or local files.
steipete/summarize
CLI and browser extension that extracts clean text and generates summaries from web pages, PDFs, YouTube videos, podcasts, and audio or video files.
- Stars
- 6,789
- Forks
- 453
- Open issues
- 3
- Last commit
- 2 days ago
What is it?
Summarize takes a URL or local file and returns either the readable body text or a model-generated summary. It handles web pages, PDFs, images, text files, YouTube videos, podcasts, and other audio or video, preferring published transcripts before falling back to local or cloud transcription.
It ships as a Node.js CLI and as a Chrome Side Panel and Firefox Sidebar extension. Summaries can come from configured API providers, OpenAI-compatible endpoints, Ollama, or authenticated coding CLIs such as Codex and Claude. Video input can also produce scene-based slide frames with optional OCR.
The CLI supports a no-key extraction mode, JSON output for automation, and separate control over interface locale and summary language. A small library package, @steipete/summarize-core, exposes the content and prompt logic for programmatic use.
Key features
- 01Extracts readable text from web pages, PDFs, text files, and images.
- 02Pulls YouTube and podcast transcripts, falling back to transcription when none are published.
- 03Supports multiple model providers, Ollama, and authenticated coding CLIs.
- 04Produces scene-based video slides with optional OCR and timestamps.
- 05Offers a Chrome and Firefox side panel for summarizing the active tab and chatting with its content.
Use cases
- Skimming long articles or reports before deciding whether to read them in full.
- Summarizing YouTube lectures or podcast episodes without watching or listening to the whole thing.
- Extracting clean article text from a page with no API key configured.
- Feeding summaries or extracted content into scripts through JSON output.
Quick start
- 1
Run it once without installing (requires Node.js 24 or newer)
npx -y @steipete/summarize --version - 2
Install the CLI with npm
npm install --global @steipete/summarize - 3
Extract readable content from a web page without an API key
summarize "https://example.com" --extract --plain
Things to know
- Model-generated summaries require configuring an API provider or an authenticated coding CLI.
- The npm package requires Node.js 24 or newer.
- Some features such as codec support, YouTube slides and OCR need optional native tools like ffmpeg, yt-dlp and tesseract.
In collections
Topics
FAQ
- What is summarize?
- CLI and browser extension that extracts clean text and generates summaries from web pages, PDFs, YouTube videos, podcasts, and audio or video files. Summarize takes a URL or local file and returns either the readable body text or a model-generated summary. It handles web pages, PDFs, images, text files, YouTube videos, podcasts, and other audio or video, preferring published transcripts before falling back to local or cloud transcription.
- Is summarize free to use? What license does it have?
- summarize is open source under the MIT license. Check the license terms before using it in commercial products.
- Is summarize still maintained?
- Actively maintained. The last commit to summarize was on Nov 5, 2026.
- What can I use summarize for?
- Skimming long articles or reports before deciding whether to read them in full. Summarizing YouTube lectures or podcast episodes without watching or listening to the whole thing. Extracting clean article text from a page with no API key configured. Feeding summaries or extracted content into scripts through JSON output.
- How do I install summarize?
- Run it once without installing (requires Node.js 24 or newer): npx -y @steipete/summarize --version Install the CLI with npm: npm install --global @steipete/summarize Extract readable content from a web page without an API key: summarize "https://example.com" --extract --plain
- Where can I get summarize?
- The source code and installation instructions are on GitHub: https://github.com/steipete/summarize
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Command-line interface for the ListenHub API to create podcasts, text-to-speech audio, explainer videos, AI images, music and videos from the terminal.
A context management plugin for OpenClaw that keeps every message in SQLite and replaces truncation with DAG-based summaries.
Self-hosted podcast manager written in Rust with a React web UI, offering downloads, online listening and a GPodder sync integration.
Fully local project memory for Claude Code and opencode that auto-logs sessions and condenses them into a resume-ready summary, with no API calls.
Chrome extension and local Python service that generates real-time English/Chinese translated captions for YouTube livestreams using Ollama.