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'

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.1.1.tar.gz (29.0 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.1.1-py3-none-any.whl (31.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for reko_yt-0.1.1.tar.gz
Algorithm Hash digest
SHA256 fb36c2a474141674c66e829f52b668b2289b041fd0fc45966ba4bbef51aa23df
MD5 2fa691d0c9d4554d78662bbd109c6fc1
BLAKE2b-256 5ae12f44aeddc0a10a915eb24363314063c8c6093711843d9570811d52d6d7f3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for reko_yt-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3ac75d89832f0755879962a1a7d0d4c37657592cb4abc889b8949ae63e26d9cf
MD5 fbde4ebc23d25295c2db1cb642e5906c
BLAKE2b-256 cdf1487365f105d54f5171aa078b10cf7f600a34efee515fa8f583e9385bccaf

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