Skip to content

ChromuSx/RecapTubeAI

πŸ“ RecapTubeAI

RecapTubeAI Logo

AI-powered Chrome extension that summarizes any YouTube video, translates the summary into your language, and auto-generates topic chapters β€” straight from the transcript.

Version License Chrome Web Store

GitHub Sponsors Ko-fi Buy Me a Coffee PayPal

Features β€’ Installation β€’ How it works β€’ Privacy


πŸš€ Features

  • πŸ“ AI Summary β€” A faithful summary plus key takeaways for any video with subtitles.
  • 🌍 Built-in Translation β€” The summary is written directly in your browser's language, whatever the video's original language is. No separate translation step.
  • πŸ“‘ Auto Chapters β€” Generates topic chapters with timestamps only when the creator didn't add any. If the video already has chapters, RecapTube defers to them.
  • 🎯 Jump to topic β€” Click a chapter in the panel, or a marker on the progress bar, to seek the video.
  • πŸ€– Multiple AI Providers β€” Anthropic Claude (Haiku/Sonnet) or OpenAI GPT (5.5 / 5.4-mini / 5.4-nano).
  • πŸͺŸ In-page panel β€” Injected next to the video; collapsible, with a one-click regenerate.
  • πŸ’Ύ Smart Caching β€” Results cached locally per video and language for 30 days; reopening is instant and free.
  • πŸ”’ Privacy-First β€” Everything local; you bring your own API key.
  • 🚫 Channel exclusions β€” Skip processing for channels you choose.

πŸ“¦ Installation

For users

  1. Get an API key from your preferred provider:
  2. Load the extension (see Development to build dist/, or install from the Web Store when available).
  3. Configure: click the RecapTube icon β†’ pick provider β†’ paste key β†’ Save β†’ choose model, summary length and output language.
  4. Open any YouTube video with subtitles and the panel appears next to it.

🎬 How it works

  1. Transcript extraction β€” A MAIN-world network interceptor reads YouTube's own get_transcript response (resilient to DOM redesigns), with DOM scraping and an AI self-heal as fallbacks.
  2. Native-chapter detection β€” RecapTube checks whether the video already has creator chapters (player ticks / chapters panel).
  3. One AI call β€” The transcript is sent to your provider, which returns a summary + key points in your language and, if needed, topic chapters with timestamps.
  4. Render β€” An in-page panel shows the summary and a clickable chapter list; when chapters are AI-generated, markers are drawn on the progress bar.
  5. Cache β€” The result is cached locally as recap_<videoId>_<lang> for 30 days.

πŸ”’ Privacy & Security

  • βœ… Your API key is stored locally in the browser.
  • βœ… All settings and cache stay on your device.
  • βœ… No tracking, no analytics, no backend servers.
  • βœ… Only the transcript (and, rarely, a stripped page-structure snapshot for self-heal) is sent to your chosen AI provider.

See the full Privacy Policy.


πŸ›  Development

Prerequisites

  • Node.js v16+
  • Chrome (or a Chromium browser)
  • An API key from Anthropic and/or OpenAI

Build

npm install
npm run build          # builds all bundles into dist/
npm run watch          # rebuild on change
npm run generate-icons # regenerate icons + logo from the inline SVG

Load in Chrome

  1. chrome://extensions/
  2. Enable Developer mode
  3. Load unpacked β†’ select the dist/ folder (not the project root)

Project structure

src/
  manifest.json
  content/
    content-main.js              # RecapManager β€” panel, markers, orchestration (ISOLATED world)
    transcript-interceptor.js    # MAIN-world network interceptor (RT_* contract)
  background/
    background-main.js           # BackgroundService β€” generateRecap, cache, key handling
  popup/  help/                  # UI surfaces (+ welcome.html)
  shared/
    config.js  constants.js
    services/
      transcript-service.js      # 3-layer transcript extraction (interceptor β†’ DOM β†’ self-heal)
      recap-service.js           # AI pipeline: summary + translation + chapters
      storage-service.js
      providers/                 # base / claude / openai
    models/ repositories/ validators/ errors/ logger/

Build system

Rollup produces three IIFE bundles (content, background, popup). rollup.config.popup.js also copies manifest.json, the HTML pages, icons, the logo, and the (unbundled) transcript-interceptor.js into dist/.


🧰 Configuration highlights

// src/shared/config.js
CACHE:    { MAX_AGE_DAYS: 30, KEY_PREFIX: 'recap_' }
DEFAULTS: {
  SETTINGS: {
    enabled: true, generateSummary: true, generateChapters: true,
    showProgressMarkers: true, autoOpenPanel: true,
    summaryLength: 'medium', outputLanguage: 'auto'
  },
  ADVANCED_SETTINGS: { aiProvider: 'claude', aiModel: 'haiku', channelWhitelist: [] }
}

Models live in config.js (Claude haiku/sonnet; OpenAI gpt-5.5/gpt-5.4-mini/gpt-5.4-nano) and the popup model selector.


πŸ› Common issues

  • "Transcript not available" β€” the video has no subtitles, or all extraction layers failed. RecapTube opens the transcript panel automatically to trigger it; try reloading.
  • Summary in the wrong language β€” set Output language in the popup (Auto follows navigator.language).
  • No AI chapters β€” expected when the video already has creator chapters; RecapTube won't duplicate them.
  • Nothing happens β€” check the API key is saved, the master toggle is on, and the channel isn't excluded. Use Regenerate this video.

🀝 A sibling project

RecapTubeAI shares its architecture with SkipTube AI (the AI sponsor-skipper). Both can run on the same page: RecapTube uses a distinct interceptor contract (RT_* vs YSS_*) and rt-/yss- DOM prefixes so they never collide.


🎨 UI / design

The interface uses a YouTube-like visual language built from functional design tokens (color values, spacing, radii, type scale) and the Roboto font (Apache 2.0). These are functional values, not protected by copyright; no trademarks, logos or proprietary fonts of any platform are used. The per-product accent (RecapTube: blue #3ea6ff) keeps it distinct.

πŸ’– Support the Project

This project is free and open source. If you find it useful, consider supporting its development β€” every contribution helps and is genuinely appreciated! ❀️

GitHub Sponsors Ko-fi Buy Me a Coffee PayPal

πŸ“ License

MIT β€” see LICENSE.

Made with ❀️ by Giovanni Guarino

About

AI-powered Chrome extension that summarizes YouTube videos, translates summaries, and auto-generates topic chapters using Claude AI or OpenAI.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors