Skip to main content

Summarize YouTube videos using AI (OpenAI or Anthropic)

Project description

YouTube Summariser

A command-line tool that summarizes YouTube videos using AI. It extracts transcripts from YouTube videos and generates structured summaries using OpenAI or Anthropic models.

Installation

pip install youtube-summariser

Or install from source:

git clone https://github.com/weijianzhg/youtube-summariser
cd youtube-summariser
pip install -e .

Quick Start

Run the interactive setup to configure your API keys:

youtube-summariser init

This guides you through:

  • Selecting your default provider (Anthropic or OpenAI)
  • Entering your API key (securely masked)
  • Optionally configuring a secondary provider

Configuration

Option 1: Interactive Setup (Recommended)

youtube-summariser init

Settings are saved to a platform-appropriate location:

  • macOS/Linux: ~/.youtube-summariser/config.yaml
  • Windows: %APPDATA%\youtube-summariser\config.yaml

Re-run init anytime to update your settings.

Option 2: Environment Variables

# For Anthropic (default provider)
export ANTHROPIC_API_KEY=your_anthropic_api_key

# For OpenAI
export OPENAI_API_KEY=your_openai_api_key

Or create a .env file in your working directory.

Configuration Priority

  1. Environment variables (highest priority)
  2. User config file (~/.youtube-summariser/config.yaml)
  3. Bundled defaults

Default Provider

The default provider is Anthropic. You can change this via init or override per command using --provider.

Usage

# Interactive configuration
youtube-summariser init

# Summarize a video (saves to auto-generated filename)
youtube-summariser "https://www.youtube.com/watch?v=VIDEO_ID"

# Specify output filename
youtube-summariser "https://youtu.be/VIDEO_ID" -o my_summary.md

# Print to terminal only (no file saved)
youtube-summariser "https://youtube.com/watch?v=VIDEO_ID" --no-save

# Use a specific provider
youtube-summariser "https://youtu.be/VIDEO_ID" --provider openai

Commands

Command Description
init Interactive setup for API keys and preferences
summarise Summarize a YouTube video (also aliased as summarize)

You can also pass a URL directly without the summarise subcommand for convenience.

Options

Flag Description
-o, --output Specify output filename (default: summary_<video_id>_<timestamp>.md)
--no-save Print summary to terminal without saving to file
--provider LLM provider to use: openai or anthropic
--no-stream Disable streaming output
-v, --version Show version number
-h, --help Show help message

Output Format

Summary files are saved as markdown (.md) with the following structure:

# YouTube Video Summary

| | |
|---|---|
| **Video URL** | <https://www.youtube.com/watch?v=VIDEO_ID> |
| **Video ID** | `VIDEO_ID` |
| **Generated** | 2025-01-01 14:30:00 |
| **Model** | anthropic / claude-sonnet-4-5-20250929 |

---

## Main Topics
...

## Key Points
...

## Detailed Summary
...

## Notable Quotes
...

## Timestamps for Important Moments
...

Requirements

  • Python 3.10+
  • An API key for OpenAI or Anthropic

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

youtube_summariser-0.4.0.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

youtube_summariser-0.4.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file youtube_summariser-0.4.0.tar.gz.

File metadata

  • Download URL: youtube_summariser-0.4.0.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for youtube_summariser-0.4.0.tar.gz
Algorithm Hash digest
SHA256 e1d2557355efc4e5783c506e6e1e2a05970032e2adf83d1174884fca662a2bad
MD5 c041fa3e30e74a338b53b0376ee32e19
BLAKE2b-256 9b12df6873cf4f7982ab834d4fe56cac3c59aef54b4837f6d2f03ae89ad0fb81

See more details on using hashes here.

File details

Details for the file youtube_summariser-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for youtube_summariser-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 54a210f1ea1e1b6c8c17e07b0d25cca2281921ee3d45155eadc7f2e9cccd808b
MD5 a1606d355a2b7e3d09246bcc53379e7e
BLAKE2b-256 08c3c1d1745eebdac71d4b7c2f4c1c9452289e6f4de92caac2d87320d239dd3c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page