Unofficial Python API and agentic skill for Google NotebookLM. Full programmatic access to NotebookLM's features—including capabilities the web UI doesn't expose—via Python, CLI, and AI agents like Claude Code, Codex, and OpenClaw.
이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.
<p align="left"> <img src="https://raw.githubusercontent.com/teng-lin/notebooklm-py/main/notebooklm-py.png" alt="notebooklm-py 로고" width="128"> </p>
포괄적인 NotebookLM 스킬 및 비공식 Python API. Python, CLI, Claude Code, Codex, OpenClaw와 같은 AI 에이전트를 통해 NotebookLM의 모든 기능(웹 UI에서 제공하지 않는 기능 포함)에 대한 완전한 프로그래매틱 액세스를 제공합니다.
<p> <a href="https://trendshift.io/repositories/19116" target="_blank"><img src="https://trendshift.io/api/badge/repositories/19116" alt="teng-lin%2Fnotebooklm-py | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a> </p>
소스 및 개발: <https://github.com/teng-lin/notebooklm-py>
⚠️ 비공식 라이브러리 - 사용에 따른 책임은 본인에게 있습니다.
>
이 라이브러리는 문서화되지 않은 Google API를 사용하며, 이는 예고 없이 변경될 수 있습니다.
>
- Google과 관련 없음 - 커뮤니티 프로젝트입니다.
- API가 중단될 수 있음 - Google은 내부 엔드포인트를 언제든지 변경할 수 있습니다.
- 속도 제한 적용 - 과도한 사용 시 제한될 수 있습니다.
>
프로토타입, 연구 및 개인 프로젝트에 가장 적합합니다. 디버깅 팁은 문제 해결을 참조하세요.
🤖 AI 에이전트 도구 - NotebookLM을 Claude Code, Codex 및 기타 LLM 에이전트에 통합합니다. GitHub용 루트 NotebookLM 스킬과 npx skills add 검색, Claude Code 및 .agents 스킬 디렉토리를 위한 로컬 notebooklm skill install 지원, 그리고 AGENTS.md의 저장소 수준 Codex 가이드가 함께 제공됩니다.
📚 연구 자동화 - 소스(URL, PDF, YouTube, Google Drive)를 대량으로 가져오고, 웹/Drive 연구 쿼리를 자동 가져오기로 실행하며, 프로그래매틱 방식으로 인사이트를 추출합니다. 반복 가능한 연구 파이프라인을 구축하세요.
🎙️ 콘텐츠 생성 - 오디오 개요(팟캐스트), 비디오, 슬라이드 데크, 퀴즈, 플래시카드, 인포그래픽, 데이터 테이블, 마인드 맵 및 학습 가이드를 생성합니다. 형식, 스타일 및 출력을 완전히 제어할 수 있습니다.
📥 다운로드 및 내보내기 - 생성된 모든 아티팩트를 로컬로 다운로드합니다(MP3, MP4, PDF, PNG, CSV, JSON, Markdown). Google Docs/Sheets로 내보냅니다. 웹 UI에서 제공하지 않는 기능: 일괄 다운로드, 여러 형식의 퀴즈/플래시카드 내보내기, 마인드 맵 JSON 추출.
NotebookLM은 근거 기반 엔진입니다. Gemini가 많은 읽기를 수행하고 사용자의 소스에서 인용과 함께 답변합니다. 가장 효과적인 패턴은 Gemini가 비용이 많이 드는 분석을 수행하고, 에이전트(Claude Code, Codex 등)가 오케스트레이션 및 최종 단계를 처리하도록 하는 것입니다. 이 라이브러리 위에 구축된 레시피:
create → source add → ask). 추론은 서버 측에서 발생합니다.source add-research)를 실행하여 웹을 스캔해 소스가 포함된 보고서를 만든 다음, 해당 보고서를 재사용 가능한 Claude 스킬로 추출합니다. 소스를 직접 선별하지 않고도 패키지화된 도메인 전문가를 얻을 수 있습니다.note create / ask --save-as-note), CLAUDE.md의 한 줄이 다음 세션 시작 시 이를 쿼리합니다(ask). 저장 및 검색은 Google 인프라에서 이루어집니다.[[wikilinks]]로 변환하기도 합니다. 팟캐스트 개요와 함께 사용하면 노트의 오디오 다이제스트를 얻을 수 있습니다.generate audio (팟캐스트), generate video, generate slide-deck, generate report 블로그 초안, generate quiz, generate flashcards — 단일 노트북을 여러 채널로 확장합니다.ask --json을 사용하여 지원, 온콜 또는 내부 Q&A를 위한 소스 기반의 인용된 답변을 얻습니다.ask)를 통해 내부 문서/RFC/아키텍처 노트북을 노출하여 에이전트가 그럴듯한 추측 대신 사용자의 코드에서 인용과 함께 답변하도록 합니다. 자체 벡터 DB 및 임베딩 파이프라인을 구축하는 대신 제로 인프라 대안을 제공합니다.generate report --format briefing-doc)를 자동화된 런북으로 내보냅니다.auth refresh --quiet (cron/launchd/systemd)와 generate audio를 결합하여 일정에 따라 새로운 개인화된 브리핑을 팟캐스트 피드에 게시합니다.이러한 레시피는 일반 라이브러리 기본 요소를 결합합니다. 자세한 내용은 CLI 참조 및 Python API를 참조하세요. 에이전트 측 접착 코드(스킬, 스케줄링, 볼트 레이아웃)는 이 패키지가 아닌 사용자 설정에 있습니다.
실제 사례: "Claude Code + NotebookLM = CHEAT CODE" · "…+ Obsidian = GOD MODE" · Claude Code에 "환각하지 않는 두뇌" 부여 · roadmap.sh에서 학습 노트북 자동 구축 · 터미널에서 완전히 구동되는 브라우저 없는 YouTube→노트북→인용 답변 파이프라인.
| 방법 | 가장 적합한 경우 | ||
|---|---|---|---|
| Python API | 애플리케이션 통합, 비동기 워크플로우, 사용자 정의 파이프라인 | ||
| CLI | 셸 스크립트, 빠른 작업, CI/CD 자동화 | ||
| MCP 서버 | Claude Desktop/Code, Cursor, Windsurf 및 기타 MCP 클라이언트에 NotebookLM 도구 노출 | ||
| REST 서버 | 호출당 CLI 프로세스를 생성하지 않고 보호된 HTTP 경로를 통한 로컬 자동화 | ||
| 에이전트 통합 | Claude Code, Codex, LLM 에이전트, 자연어 자동화 |
| 카테고리 | 기능 | ||
|---|---|---|---|
| 노트북 | 생성, 목록, 이름 변경, 삭제 | ||
| 소스 | URL, YouTube, 파일(PDF, 텍스트, Markdown, Word, EPUB, 오디오, 비디오, 이미지), Google Drive, 붙여넣은 텍스트; 새로고침, 가이드/전체 텍스트 가져오기 | ||
| 채팅 | 질문, 대화 기록, 사용자 정의 페르소나 | ||
| 노트 | 생성, 목록, 이름 변경, 삭제, 채팅 답변 저장, 대화 기록 저장 | ||
| 소스 레이블 | AI 생성 또는 수동 주제 레이블; 소스 멤버십 추가/제거; 레이블별 소스 필터링 | ||
| 연구 | 웹 및 Drive 연구 에이전트(빠름/심층 모드) 자동 가져오기 포함 | ||
| 공유 | 공개/비공개 링크, 사용자 권한(뷰어/편집자), 보기 수준 제어 |
| 유형 | 옵션 | 다운로드 형식 | ||
|---|---|---|---|---|
| 오디오 개요 | 4가지 형식(심층 분석, 요약, 비평, 토론), 3가지 길이, 50개 이상 언어 | MP3/MP4 | ||
| 비디오 개요 | 3가지 형식(설명, 요약, 시네마틱), 9가지 시각적 스타일, 전용 cinematic-video CLI 별칭 포함 |
MP4 | ||
| 슬라이드 데크 | 상세 또는 발표자 형식, 조정 가능한 길이; 개별 슬라이드 수정 | PDF, PPTX | ||
| 인포그래픽 | 3가지 방향, 3가지 세부 수준 | PNG | ||
| 퀴즈 | 구성 가능한 수량 및 난이도 | JSON, Markdown, HTML | ||
| 플래시카드 | 구성 가능한 수량 및 난이도 | JSON, Markdown, HTML | ||
| 보고서 | 브리핑 문서, 학습 가이드, 블로그 게시물 또는 사용자 정의 프롬프트 | Markdown | ||
| 데이터 테이블 | 자연어를 통한 사용자 정의 구조 | CSV | ||
| 마인드 맵 | 계층적 노드 트리 — 두 가지 종류: 노트 기반 JSON 또는 최신 대화형 스튜디오 맵 (--kind / MindMapKind) |
JSON |
이러한 기능은 API/CLI를 통해 사용할 수 있지만 NotebookLM의 웹 인터페이스에서는 노출되지 않습니다:
전체 설치 가이드(6가지 사용자 유형(에이전트, 최종 사용자, 라이브러리, 헤드리스, 기여자, 고급 사용자), 선택적 확장 매트릭스, 플랫폼 참고 사항)는 docs/installation.md에 있습니다.
가장 빠른 시작 (CLI 사용자 및 AI 에이전트) — uv tool (권장) 또는 pipx로 CLI 설치:
uv tool install "notebooklm-py[browser]" # 또는: pipx install "notebooklm-py[browser]"
notebooklm login # 첫 실행 시 Chromium 자동 다운로드 (~170 MB), 이후 Google 로그인
notebooklm auth check --test --json # 확인: "status": "ok" 예상
왜 uv tool / pipx인가? 자체 격리된 환경에 CLI를 설치하고 notebooklm을 PATH에 추가합니다. 다른 도구와의 종속성 충돌이 없고, 한 줄 업그레이드(uv tool upgrade notebooklm-py) 또는 제거가 가능하며, 결정적으로 최신 macOS(Homebrew Python) 및 Debian/Ubuntu에서 시스템 전체 pip install이 error: externally-managed-environment (PEP 668)로 차단되는 경우에도 작동합니다. uv가 아직 없나요? curl -LsSf https://astral.sh/uv/install.sh | sh (또는 brew install uv / winget install astral-sh.uv).
일반 pip를 선호하시나요? 가상 환경 내에서 동일하게 작동합니다(Windows에서는 Python이 외부 관리되지 않으므로 직접 작동):
python3 -m venv.venv && source.venv/bin/activate # Windows:.venv\Scripts\activate
pip install "notebooklm-py[browser]"
라이브러리로 사용 (앱에 포함 — Playwright, Chromium 불필요):
uv add notebooklm-py # 또는 가상 환경 내: pip install notebooklm-py
Linux에서 playwright install chromium이 TypeError: onExit is not a function 오류로 실패하면 Linux 해결 방법을 참조하세요. 기여자: CONTRIBUTING.md를 참조하세요.
<p align="center"> <a href="https://asciinema.org/a/767284" target="_blank"><img src="https://asciinema.org/a/767284.svg" width="600" /></a> <br> <em>16분 세션을 30초로 압축</em> </p>
# 1. 인증 (브라우저 열림)
notebooklm login
# 또는 Microsoft Edge 사용 (SSO에 Edge가 필요한 조직용)
# notebooklm login --browser msedge
# 또는 이미 로그인된 브라우저 세션의 쿠키 재사용
# notebooklm login --browser-cookies chrome
# notebooklm login --browser-cookies 'chrome::Profile 1' # 하나의 Chromium 프로필
# (--profile과 결합하여 특정 프로필 채우기;
# 여러 Google 계정이 로그인된 경우 auth inspect 후 --account / --all-accounts 사용)
# 2. 노트북 생성 및 소스 추가
notebo
[...생략...]