youtube-summary

2 min read Original article ↗

1.0.2 • Public • Published

youtube-summary

A simple Node.js CLI tool to fetch YouTube video captions and summarize them using your choice of LLM provider (Gemini, OpenAI, or Anthropic) via LangChain.

Features

  • Fetches English captions from a YouTube video by ID
  • Summarizes captions using Gemini, OpenAI, or Anthropic models (via LangChain)
  • Supports multiple models and providers

Usage

Easiest:

npx youtube-summary --id <YOUTUBE_VIDEO_ID>

Alternatively, clone the repository and run:

node dist/index.js --id <YOUTUBE_VIDEO_ID>

Or, if installed globally:

youtube-summary --id <YOUTUBE_VIDEO_ID>

Options

  • --id, -i (required): The YouTube video ID to summarize.
  • --provider, -p (optional): LLM provider to use (gemini, openai, or anthropic). Default: gemini.
  • --model, -m (optional): Model to use (e.g., gemini-2.5-flash, gpt-4o, claude-3-haiku-20240307). Default: gemini-2.5-flash.

Example: Gemini (default)

node dist/index.js --id dQw4w9WgXcQ

Example: OpenAI

node dist/index.js --id dQw4w9WgXcQ --provider openai --model gpt-4o

Example: Anthropic

node dist/index.js --id dQw4w9WgXcQ --provider anthropic --model claude-3-haiku-20240307

Installation

Clone the repository and install dependencies:

Build the TypeScript source:

Setup

Set the appropriate API key for your chosen provider in a .env file in the project root:

# For Gemini (Google)
GEMINI_API_KEY=your-gemini-api-key-here

# For OpenAI
OPENAI_API_KEY=your-openai-api-key-here

# For Anthropic
ANTHROPIC_API_KEY=your-anthropic-api-key-here

You only need to set the key for the provider you use.

Development

  • Source code is in the src/ directory.
  • Build output is in the dist/ directory.

License

MIT