14.6k Star!Python で Google NotebookLM を操作し、Claude Code に直接接続 — Web UI ではできないことを実現する OSS
- notebooklm ai
- notebooklm tutorial
- notebooklm
- notebooklm 公式
Google NotebookLM の Web アプリは気軽な利用には十分ですが、研究パイプライン、シェルスクリプト、AI エージェント連携が必要になると壁にぶつかります。多くの操作は UI のクリックが前提で、バッチ処理は非効率です。
GitHub の notebooklm-py(2026 年 5 月時点で 14.6k+ Star)はそのギャップを埋めます — NotebookLM 上の Python レイヤーで、Claude Code などのエージェントにも接続できます。

NotebookLM Web UI の限界
NotebookLM では PDF、URL、YouTube リンクをアップロードし、チャットやポッドキャスト、スライド、クイズなどを生成できます。notebooklm tutorial を検索すれば入門記事は豊富ですが、公式 UI には明確な制約があります:
- バッチインポート・ダウンロードは 1 件ずつクリック
- クイズとフラッシュカードはブラウザ内のみ — JSON / Markdown エクスポート不可
- マインドマップやデータ表はブラウザで構造化データを取得できない
- Claude Code、Codex などのコーディングエージェントとのネイティブ連携なし
たまにメモする程度なら Web で十分です。パイプライン、CI ジョブ、「20 本の論文を読んでクイズ生成」にはプログラム API が必要です。
notebooklm-py とは
notebooklm-py はコミュニティが保守する非公式 Python SDK + CLI(MIT ライセンス)です。Google 内部 RPC のリバースエンジニアリングにより、NotebookLM のほぼ全機能と Web にない追加機能を公開します。
注意:Google 非公式。未公開 API に依存し、更新で動かなくなる可能性があります。個人研究・プロトタイプ向け。
3 つの使い方
| 方式 | 向いている用途 |
|---|---|
| Python API | アプリ組み込み、非同期パイプライン、カスタムスクリプト |
| CLI | シェルスクリプト、クイックタスク、CI/CD |
| エージェント連携 | Claude Code、Codex、OpenClaw、自然言語自動化 |
Web UI にない機能
| 機能 | 得られるもの |
|---|---|
| バッチダウンロード | 同一タイプの成果物を一括取得(MP3、MP4、PDF、PNG など) |
| Quiz / フラッシュカード export | JSON、Markdown、HTML — インタラクティブ表示だけでない |
| マインドマップ JSON | D3、ECharts 等向けの階層データ |
| データ表 CSV | 表計算向けエクスポート |
| スライド PPTX | 編集可能な PowerPoint、PDF のみではない |
| 単一スライド修正 | 自然言語プロンプトで 1 枚を変更 |
| チャットをノートに保存 | Q&A や会話全体を Notebook に永続化 |
| ソース全文 | インデックス済み原文へのプログラムアクセス |
| マルチアカウント | 再ログインなしで Google アカウント切替 |
| ブラウザ Cookie インポート | 既存ログインセッションの再利用 |
生成カバレッジも広い:オーディオ概要(4 形式、50+ 言語)、動画(cinematic 含む)、インフォグラフィック、レポート、クイズ、フラッシュカード、マインドマップ、データ表 — Web より細かい制御が多い場合もあります。
クイックインストール
CLI ユーザー(エージェント含む):
pip install "notebooklm-py[browser]"
playwright install chromium
notebooklm login
notebooklm auth check --test --json
ライブラリのみ(事前取得した storage_state.json あり、Chromium 不要):
pip install notebooklm-py
詳細はプロジェクトの installation.md を参照。
CLI ウォークスルー:ノートブック作成からポッドキャスト DL まで
notebooklm create "AI Research"
notebooklm use <notebook_id>
notebooklm source add "https://en.wikipedia.org/wiki/Artificial_intelligence"
notebooklm source add "./paper.pdf"
notebooklm ask "What are the key themes?"
notebooklm generate audio "make it engaging" --wait
notebooklm download audio ./podcast.mp3
notebooklm generate quiz --difficulty hard
notebooklm download quiz --format markdown ./quiz.md
シェル長制限を超える長いプロンプトは --prompt-file を使用。
Python API 例
import asyncio
from notebooklm import NotebookLMClient
async def main():
async with await NotebookLMClient.from_storage() as client:
nb = await client.notebooks.create("Research")
await client.sources.add_url(nb.id, "https://example.com", wait=True)
result = await client.chat.ask(nb.id, "Summarize this")
print(result.answer)
status = await client.artifacts.generate_quiz(nb.id)
await client.artifacts.wait_for_completion(nb.id, status.task_id)
await client.artifacts.download_quiz(nb.id, "quiz.json", output_format="json")
asyncio.run(main())
非同期設計は大きな asyncio ワークフローに組み込みやすいです。
Claude Code 連携
リポジトリに Agent Skill 同梱。2 つのインストール方法:
# 方法 1:CLI で Claude Code / .agents にインストール
notebooklm skill install
# 方法 2:skills エコシステム
npx skills add teng-lin/notebooklm-py
セットアップ後、Claude Code に「この PDF を NotebookLM に追加し、hard 難易度の quiz を生成して Markdown で export」と指示できます — エージェントが notebooklm CLI を実行し、ブラウザ操作は不要です。
notebooklm ai ワークフローを組みながら notebooklm 公式 の生成機能をすべて使いたい開発者にとって、現時点で最もスムーズな経路です。
ローカル環境を組みたくない?
Playwright、Cookie、API 変更の管理は全員向けではありません。インストールなしで「アップロード → 質問 → 生成」に集中したい場合は、オンライン NotebookLM をご利用ください:
まとめ
notebooklm-py は NotebookLM を「クリック専用 Web ツール」から「スクリプト化・エージェント対応の知識エンジン」へ変えます。14.6k Star は需要の証拠 — 研究者の quiz 一括 export、クリエイターのパイプライン内ポッドキャスト生成、開発者の Claude Code から一言での import / download。
日常の軽い利用は Web UI;自動化とブラウザでは得られない export が必要なときは Python + CLI + エージェントが完成形です。