Repolode
steipete

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. 1

    Run it once without installing (requires Node.js 24 or newer)

    npx -y @steipete/summarize --version
  2. 2

    Install the CLI with npm

    npm install --global @steipete/summarize
  3. 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