← Back to tools

summarize

Fast summaries from URLs, files, and media in the terminal

Productivity Data & JSON Text Processing linuxmacoswindows TypeScript MIT

Description

Summarize creates concise summaries from URLs, files, and media. It supports web pages, PDFs, images, audio, video, YouTube videos with transcript extraction, and podcasts. It works in the terminal, as a Chrome Side Panel, and Firefox Sidebar. Multiple LLM providers are supported with automatic fallback.

Install

npmnpm i -g @steipete/summarize
homebrewbrew install steipete/tap/summarize
npxnpx -y @steipete/summarize

AI Summary

Multi-source content summarizer that distills URLs, files, YouTube videos, podcasts, and media into concise Markdown summaries using configurable LLM providers.

Capabilities

  • + Summarize web pages, PDFs, images, audio, and video files
  • + Extract and summarize YouTube video transcripts with optional slide screenshots
  • + Summarize podcasts from RSS feeds, Apple Podcasts, Spotify, and Amazon Music URLs
  • + Read from stdin for piped content summarization (up to 50MB text)
  • + Multi-provider LLM support (OpenAI, Anthropic, Google, xAI, OpenRouter) with auto-fallback
  • + Configurable output length (short, medium, long, xl, xxl or character count)
  • + Extract-only mode to pull content without summarization
  • + Streaming Markdown output with metrics
  • + JSON diagnostics output for machine consumption
  • + Local and cloud-based transcription (whisper.cpp, OpenAI Whisper, FAL AI)

Use When

  • You need a quick summary of a web article, PDF, or video
  • Processing YouTube videos or podcasts for research notes
  • Extracting readable content from complex web pages
  • Batch-summarizing multiple sources in a scripting pipeline
  • Converting media files (audio/video) to text summaries

Avoid When

  • x You need full verbatim transcription rather than a summary
  • x Working without internet access and no local LLM configured
  • x Processing highly sensitive content that should not be sent to cloud APIs

Usage Patterns

Summarize a web article

summarize "https://example.com/article"

Fetches the article, extracts content, and produces a Markdown summary

Summarize a YouTube video

summarize "https://youtu.be/VIDEO_ID" --youtube auto

Extracts transcript (or transcribes audio), summarizes the video

Summarize a local PDF

summarize "/path/to/document.pdf"

Reads the PDF and produces a concise summary

Pipe content from stdin

cat notes.md | summarize - --length short

Reads from stdin and produces a short summary

Extract content without summarizing

summarize "https://example.com" --extract

Prints extracted Markdown content without running it through an LLM

Use a specific model

summarize "https://example.com" --model anthropic/claude-sonnet-4-5

Forces a specific LLM provider and model for summarization

Input / Output

stdin: Text content, up to 50MB
stdout: Markdown summary or JSON diagnostics
stderr: Progress and status messages
Exit codes:
0 Success
1 Error

Typical Pipelines

summarize "https://example.com" --json | jq .summary
cat document.pdf | summarize - --length medium
summarize "https://youtu.be/ID" --slides --slides-ocr

Related Tools

View AGENTS.md for summarize