MCPcopy Index your code
hub / github.com/Milkshiift/YouTubeTLDR

github.com/Milkshiift/YouTubeTLDR @v1.7.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.7.0 ↗ · + Follow
66 symbols 90 edges 7 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

🎬 YouTubeTLDR

Rust GitHub license

⚡ A lightweight, self-hosted YouTube video summarizer with Gemini AI Demo: https://tldr.milkshift.dedyn.io/

New summary page screenshot Summary screenshot

✨ Features

  • 🎯 Customizable Prompts: Tailor the AI's instructions to get summaries in the format you prefer
  • ⚙️ Model Selection: Choose any available Gemini model
  • 📝 View Transcript: Access the full, raw video transcript
  • 📚 History: Your summaries are saved locally in your browser for future reference
  • 🔒 Privacy-Focused: Simple Rust server that runs on your own machine. Your data stays yours
  • 🎨 Modern UI: Clean and beautiful user interface

🏗️ Philosophy: Minimal by Design

YouTubeTLDR embraces simplicity — maximum functionality with minimal overhead.

  • 🪶 Featherweight & Zero Bloat: Single binary ~0.3MB. No databases, no Tokio, no frameworks
  • Lightning Fast: Pure Rust + vanilla HTML/JS
  • 🔑 BYOK: Bring Your Own Key. Uses your Google Gemini API directly — no proxies, no data collection
  • 🎯 Single Purpose: Just generates and saves summaries, that's it

Note: This server is optimized for personal use and utilizes a multithreaded worker pool for concurrency. It is not designed to support hundreds of concurrent users.

🚀 Getting Started

Prerequisites

Running the Application

  1. Download the latest release and run the executable from console: bash ./YouTubeTLDR
  2. Open http://localhost:8000 in your browser
  3. Click "Advanced Settings" and enter your API key
  4. Paste a YouTube URL and click "Summarize"

You can change the IP and port with TLDR_IP and TLDR_PORT environment variables.
The amount of workers can be changed with TLDR_WORKERS, set it to the amount of concurrent users you expect.

🔨 Building from Source

  1. Install the nightly Rust toolchain
  2. Clone the repository: bash git clone https://github.com/Milkshiift/YouTubeTLDR.git cd YouTubeTLDR
  3. Build the release binary: bash cargo build --release
  4. Find your executable at target/release/YouTubeTLDR

By default, the native TLS implementation (like openssl) is used. If you want to use rustls build with --no-default-features --features rustls-tls

Core symbols most depended-on inside this repo

compress_with_gzip
called by 3
build.rs
write_error_response
called by 3
src/main.rs
extract_json_string_value
called by 3
src/subtitle.rs
write_response
called by 2
src/main.rs
getYouTubeVideoTitle
called by 1
testName.js
decodeXml
called by 1
testSubtitles.js
getYoutubeTranscript
called by 1
testSubtitles.js
copyToClipboard
called by 1
static/script.js

Shape

Function 38
Class 24
Method 3
Enum 1

Languages

Rust70%
TypeScript30%

Modules by API surface

static/script.js17 symbols
src/subtitle.rs16 symbols
src/main.rs14 symbols
src/gemini.rs14 symbols
testSubtitles.js2 symbols
build.rs2 symbols
testName.js1 symbols

For agents

$ claude mcp add YouTubeTLDR \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact