Skip to content

Extract Youtube Captions, Chat with Evidence, Stay Private

License

Notifications You must be signed in to change notification settings

arashabadi/capyap

Repository files navigation

CapYap

CapYap Demo

Local-first YouTube transcript assistant with citation-grounded answers.

  • Paste a YouTube link (or transcript file)
  • Ask questions with AI-powered, timestamp-cited answers
  • Click timestamps to jump to the exact moment in the video
  • Use native or AI-generated chapters
  • Export transcripts as TXT, JSON, HTML, or PDF

Privacy: Your API key is used per-session and never stored to disk. Everything runs locally.


Download

Desktop App

Platform Download Format
macOS Capyap_macOS.app.tar.gz .app bundle
Windows CapYap_1.0.4_x64-setup.exe Installer (.exe)
Windows CapYap_1.0.4_x64_en-US.msi Installer (.msi)
Linux CapYap_1.0.4_amd64.deb Debian/Ubuntu
Linux CapYap_1.0.4_amd64.AppImage AppImage (portable)
Linux CapYap-1.0.4-1.x86_64.rpm Fedora/RHEL

All installers: GitHub Releases

The desktop app auto-starts the local backend at 127.0.0.1:8000 on launch. If auto-start fails, run manually: conda activate capyap && capyap start --no-browser

Web App (localhost)

Run CapYap in your browser without the desktop shell:

git clone https://github.com/arashabadi/capyap.git
cd capyap
conda env create -f capyap.yml
conda activate capyap
npm run build
capyap start

This installs frontend deps (if needed), builds static assets, launches the local backend + UI, and opens your browser.


Free Local Agents (Ollama)

Run CapYap fully local with Ollama — no cloud API key required. Setup guide: docs/OLLAMA_SETUP.md


First Run

  1. Paste a YouTube URL or local transcript .txt path.
  2. Click Start AI Analysis.
  3. Choose a provider and paste your API key (or choose ollama for free local inference).
  4. Ask questions and review timestamp citations.

Daily Usage

conda activate capyap
capyap start

Flags: --no-browser | --port 8080 | --host 0.0.0.0


Conda Environments

File Env Name Purpose
capyap.yml capyap Production — run the app (Python + Node)
capyap-dev.yml capyap_dev Development — adds Rust, ffmpeg, pytest
apps/environment.yml capyap_apps Full app stack — backend + frontend + desktop build chain
# Production
conda env create -f capyap.yml

# Development (includes build toolchain)
conda env create -f capyap-dev.yml

For desktop dev, also install frontend/desktop deps:

conda activate capyap_dev
npm --prefix apps/frontend install
npm --prefix apps/desktop install --include=dev

Export Options

Format Description
Clean Text (.txt) Plain transcript text
With Timestamps (.txt) Transcript with [mm:ss] markers
Raw JSON (.json) Structured transcript, metadata, and chapters
HTML (.html) Readable export with chapter sidebar and timestamp links
PDF (.pdf) Printable document with chapters and timestamps

Publishing Desktop Releases

Release builds are fully automated via GitHub Actions. No local build needed.

git tag -a v1.0.4 -m "CapYap v1.0.4"
git push origin v1.0.4

GitHub Actions builds and publishes installers for all platforms to GitHub Releases.

Workflow: .github/workflows/desktop-release.yml


Project Structure

Path Description
apps/backend/ FastAPI + LangGraph agent backend
apps/frontend/ React/Vite UI
apps/desktop/ Tauri desktop shell (macOS/Windows/Linux)
src/youtube_video_summarizer/ Python package and CLI entrypoints

Docs

CLI Tools (Optional)

CapYap includes script-friendly CLI commands: yt-extract-summarize and yt-transcript-chat. See docs/CAPYAP_CLI.md.

Troubleshooting

  • capyap: command not found — Ensure env is active: conda activate capyap, then pip install -e .
  • Frontend build not found — Run once from repo root: npm run build
  • Port already in use — Desktop app may already be running backend on 127.0.0.1:8000. Use --port 8080 or connect to the existing instance.

Contributing

See CONTRIBUTING.md.

License

MIT

About

Extract Youtube Captions, Chat with Evidence, Stay Private

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors