u/Born-Midnight-4643

▲ 2 r/dev

>

NotebookLM works well for document Q&A, but YouTube support is pretty limited:

  • you have to add videos one by one
  • there’s a ~50 source cap
  • most channels are way larger than that

I needed a way to ingest an entire channel, so I put together a small script that:

  • lists all videos from a channel / playlist (via yt-dlp)
  • fetches transcripts (no API key)
  • exports clean Markdown files

Pipeline

channel / playlist
 → yt-dlp (list videos)
 → transcript fetch
 → markdown export
 → upload to NotebookLM

Output modes

  • bundles/*.md Packs multiple videos into fewer files (helps stay under NotebookLM limits)
  • videos/*.md One file per video (better citation granularity)

Quick example

python main.py u/veritasium --limit 10

Notes

  • only videos with captions are included
  • large channels → better to chunk (--limit)
  • no translation (NotebookLM handles that anyway)

Why this helps

Instead of:

  • uploading 100+ videos manually

You can:

  • upload a few Markdown files
  • search across the entire channel

Curious if others here have a cleaner pipeline for this (especially for large channels / RAG setups).

I wrapped this into a small CLI, can share the repo if useful.

u/Born-Midnight-4643 — 14 days ago