Skip to main content

A modern, local-first CLI tool to extract transcripts from YouTube and transform them into concise summaries and key points.

Project description

reko

Make YouTube videos readable 🎥

A modern, local-first CLI tool to extract transcripts from YouTube and transform them into concise summaries and key points.

License: MIT PyPI version Python 3.10+

✨ What is reko?

reko is a command-line tool that converts YouTube videos into clean Markdown summaries using transcripts and Large Language Models.

Give it a video URL, a playlist, or a file containing multiple URLs, and reko will fetch the transcript, summarize the content in manageable chunks, and generate a readable Markdown document with a summary and optional key points.

It’s designed to be simple, fast, and automation-friendly, making it easy to extract useful information from long, informational videos.
By default, reko is local-first and privacy-friendly when used with Ollama, while still supporting paid cloud models when needed.

Example of a Markdown summary generated by reko

🚀 Features

  • Generate clean Markdown summaries with optional key points.
  • Summarize a single video, a playlist, or a batch of URLs.
  • Optimized for Small Language Models (SLMs), which are often sufficient for high-quality summarization.
  • Works with Ollama and cloud providers via APIs.
  • Multi-language summaries: uses native transcripts when available, with automatic fallback and translation.
  • Handles long videos via transcript chunking.
  • Skips reprocessing when a summary already exists (with an option to force regeneration).

🧠 How it works

At a high level, reko follows a simple pipeline:

  1. Resolve the input target (video, playlist, or file).
  2. Fetch the YouTube transcript in the requested language, with fallback and translation when needed.
  3. Split the transcript into word-based chunks.
  4. Summarize each chunk independently.
  5. Merge chunk summaries into a coherent final result.
  6. Output a Markdown file and/or print to stdout.
  7. Optionally extract key points from the generated summary.

This approach allows reko to scale smoothly from short clips to multi-hour videos.

📦 Installation

Prerequisites

  • Python 3.10+
  • An LLM endpoint:
    • Ollama (local): install Ollama and pull the model you want to use.
    • Hosted APIs (for example openai/...): configure the required API keys in your environment. When using non-local providers, the required environment variables must be configured according to the supported provider of the model which can be found here.

Install from PyPI

pip install reko-yt

⚡ Quick start

Show available commands:

reko --help
reko summarize --help

[!NOTE] Small Language Models are a great default for most summarization tasks.

Summarize a single YouTube video (prints and saves by default):

reko summarize 'https://www.youtube.com/watch?v=eMlx5fFNoYc' 'ollama/llama3.2:3b'
reko summarize 'https://www.youtube.com/watch?v=eMlx5fFNoYc' 'openai/gpt-5-nano'

For OpenAI GPT-5 models, reko uses the Responses API and maps --max-tokens to OpenAI's completion-token limit. GPT-5 reasoning models only support the default sampling temperature, so custom --temperature values are ignored for those models. You can tune reasoning cost/latency with:

reko summarize 'https://www.youtube.com/watch?v=eMlx5fFNoYc' \
  'openai/gpt-5-nano' \
  --reasoning-effort low

Generate key points only, in Italian, without saving to disk:

reko summarize 'https://www.youtube.com/watch?v=eMlx5fFNoYc' \
  'ollama/llama3.2:3b' \
  --length short \
  --language it \
  --key-points-only \
  --print-only

Summarize a playlist or a batch of URLs:

reko summarize 'https://www.youtube.com/playlist?list=PL908547EAA7E4AE74' 'ollama/llama3.2:3b'
reko summarize urls.txt 'ollama/llama3.2:3b'

[!WARNING] When processing playlists or large batches, YouTube may temporarily rate-limit your IP.
Using a proxy is recommended for high-volume usage.

Use a remote Ollama instance:

reko summarize 'https://www.youtube.com/watch?v=eMlx5fFNoYc' 'ollama/llama3.2:3b' --host 'http://YOUR_OLLAMA_HOST:11434'

🌐 Local web UI

Start a local web page that can summarize a YouTube URL and render the Markdown:

reko serve

Then open http://127.0.0.1:8000 in your browser.

Options:

reko serve --host 127.0.0.1 --port 8000
reko serve --host 0.0.0.0 --port 8000  # expose on your LAN

Notes:

  • The web UI supports single video URLs (no playlists/batch files).

📄 License

MIT. See LICENSE.

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

reko_yt-0.2.0.tar.gz (30.7 kB view details)

Uploaded Source

Built Distribution

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

reko_yt-0.2.0-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

Details for the file reko_yt-0.2.0.tar.gz.

File metadata

  • Download URL: reko_yt-0.2.0.tar.gz
  • Upload date:
  • Size: 30.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for reko_yt-0.2.0.tar.gz
Algorithm Hash digest
SHA256 91ada0ed643e243ff9e6a3365c3f652b4452a6e53aefcdeb3a1abd5ca5f82905
MD5 45e6c02b3572795684ebbbf5d1278358
BLAKE2b-256 7f8fc01f954f61f8e1583f3749ce8acc1c7b13b2f08c59cf2f27115633190839

See more details on using hashes here.

File details

Details for the file reko_yt-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: reko_yt-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 33.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for reko_yt-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f637f9c4ed247d4a37c47ffce00ae5fbdea85024779c109ed1c8c630b231590
MD5 4813d8138e44acfe6641c3ec3d2c4e75
BLAKE2b-256 808c500654fea9889203d90b31e97a65a057a8de3a1b8b0b58897b554b643736

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