はじめに
Google NotebookLM は便利なツールですが、「同じ操作を何度も手動でやるのが面倒」「バッチ処理したい」と感じたことはありませんか。ポッドキャスト生成・インフォグラフィック作成・クイズ出力などを、毎回ブラウザをポチポチ操作するのは意外と手間がかかります。
この記事では notebooklm-py(非公式 Python API/CLI)を使って NotebookLM をプログラムから操作する方法と、Claude Code のカスタムスキルとして統合することで 自然言語だけで NotebookLM を操作できるようにする手順 を紹介します。
本記事は AI の支援を受けて執筆しています。ただし、掲載する情報の選定・構成・内容の確認はすべて筆者自身の判断と方針のもとで行っています。情報の正確性については最善を尽くしていますが、ご利用の際はご自身でもご確認いただくようお願いします。
notebooklm-py とは
notebooklm-py は、Google NotebookLM に対する 非公式の Python API および CLI ツールです。スター数 11.6k(2026年4月時点)を超えるオープンソースプロジェクトで、MIT ライセンスで公開されています。
⚠️ Google の非公開 API を使用しているため、予告なく動作しなくなる可能性があります。プロトタイプ・研究・個人プロジェクト向けの利用を推奨します。
Web UI にはない機能
notebooklm-py の最大の特徴は、ブラウザ UI では操作できない機能にもアクセスできる点です。
| 機能 | 内容 |
|---|---|
| クイズ・フラッシュカードのエクスポート | JSON / Markdown / HTML 形式で出力(Web UI はインタラクティブ表示のみ) |
| スライドを PPTX でダウンロード | Web UI は PDF のみ |
| マインドマップを JSON で抽出 | 階層構造データとして取得 |
| スライドの自然言語編集 | 個別スライドをプロンプトで修正 |
| 一括ダウンロード | 全アーティファクトをまとめて取得 |
主な機能
コンテンツ生成
| 種類 | コマンド | 出力形式 |
|---|---|---|
| ポッドキャスト(音声) | generate audio |
MP3/MP4 |
| 動画概要 | generate video |
MP4 |
| スライドデッキ | generate slide-deck |
PDF/PPTX |
| インフォグラフィック | generate infographic |
PNG |
| クイズ | generate quiz |
JSON/Markdown/HTML |
| フラッシュカード | generate flashcards |
JSON/Markdown/HTML |
| レポート | generate report |
Markdown |
| マインドマップ | generate mind-map |
JSON |
| データテーブル | generate data-table |
CSV |
生成系のコマンドはすべて --language ja で 日本語出力 に切り替えられます。
ソース追加
URL・PDF・YouTube・音声・動画・画像・Google Drive ファイルなど多彩な形式に対応しています。Web 検索してソースを自動インポートする source add-research コマンドも便利です。
インストールと認証
CLI ツールとして使うため、pipx でインストールするのが推奨です。通常の pip install と違い、独立した仮想環境を自動作成しつつ notebooklm コマンドをグローバルで使えるようにしてくれます。
# pipx のインストール(未インストールの場合)
brew install pipx
pipx ensurepath
# notebooklm-py のインストール
pipx install "notebooklm-py[browser]"
playwright install chromium
インストール後、ブラウザで Google アカウントにログインして認証情報を保存します。
notebooklm login
ブラウザが開くので Google アカウントでログインし、NotebookLM のホーム画面が表示されたら ENTER を押します。認証情報は ~/.notebooklm/storage_state.json に保存されます。
CLI の基本的な使い方
ノートブックを作成してソースを追加し、コンテンツを生成する基本フローです。
# ノートブック作成
notebooklm create "研究ノート"
# ソース追加(URL・ファイルどちらも可)
notebooklm source add "https://example.com/paper.pdf"
notebooklm source add ./local_doc.md
# ソースの処理完了を待つ
notebooklm source list
# インフォグラフィック生成(横向き・スケッチ風・日本語)
notebooklm generate infographic --orientation landscape --style sketch-note --language ja --wait
# ダウンロード
notebooklm download infographic ./output.png
生成には数分〜十数分かかる場合があります。--wait オプションを付けると完了まで待機してくれます。
Claude Code のカスタムスキルとして統合する
ここからが本記事のメインです。notebooklm-py には Claude Code や Codex などの LLM エージェントにスキルとして統合する仕組み が標準で用意されています。
スキルのインストール
notebooklm skill install
このコマンドで ~/.claude/skills/notebooklm/SKILL.md が生成されます。
Claude Code はユーザーレベルのカスタムスキルを ~/.claude/commands/ から読み込みます。シンボリックリンクを張ることで統合できます。
mkdir -p ~/.claude/commands
ln -s ~/.claude/skills/notebooklm ~/.claude/commands/notebooklm
Claude Code を再起動すれば /notebooklm スキルが使えるようになります。
スキルが読み込む SKILL.md の内容
SKILL.md には以下が定義されています。
-
起動条件:
/notebooklmの明示呼び出し、または「ポッドキャストを作って」「インフォグラフィックを作って」などの自然言語を検出して自動起動 -
自動実行コマンド:
list・status・source add・askなど副作用の少ない操作 -
確認後実行コマンド:
generate *(長時間処理)・download *(ファイル書き込み)・delete(破壊的操作)
スキルとしての使い方
Claude Code スキルとして使う最大のメリットは オプションを覚えなくてよい 点です。やりたいことを自然言語で伝えれば、Claude が適切な CLI コマンドに変換して実行します。
自然言語でオプションを指定する
「このドキュメントから、縦向き・プロフェッショナルスタイル・詳細レベルで
日本語のインフォグラフィックを作って」
Claude が内部で以下を実行します。
notebooklm generate infographic \
--orientation portrait \
--style professional \
--detail detailed \
--language ja \
--wait
バックグラウンドで自動待機・ダウンロード
生成に時間がかかるコンテンツも、「完了したら自動でダウンロードして」と伝えることで Claude がバックグラウンドエージェントを起動して待機・ダウンロードまで完了させます。
「この PDF からポッドキャストを日本語で生成して、完了したら
~/Downloads/podcast.mp3 にダウンロードして」
内部では以下のフローが自動実行されます。
1. notebooklm generate audio --language ja --json → artifact_id 取得
2. バックグラウンドで notebooklm artifact wait {artifact_id}
3. 完了後 notebooklm download audio ~/Downloads/podcast.mp3
実際の使用例
筆者は Udemy 教材の解説スライド(Markdown)を NotebookLM に追加し、インフォグラフィックを自動生成して note 記事の素材として活用しています。
「output/slides/lecture_03.md をソースに追加して、
スケッチ風・横向きのインフォグラフィックを日本語で作成。
完了したら output/infographic/lecture_03.png に保存して」
ノートブック作成・ソース追加・生成・ダウンロードまで一連の操作をコマンドを1つも打たずに完結できます。
まとめ
| 内容 | 方法 |
|---|---|
| Python/CLI から NotebookLM を操作 | pipx install "notebooklm-py[browser]" |
| Claude Code に統合 |
notebooklm skill install → シンボリックリンク |
| スキルとして使う | 自然言語で指示するだけ |
notebooklm-py を Claude Code スキルとして統合することで、「ブラウザで手動操作」から「自然言語で自動化」へのステップアップができます。NotebookLM を使った定型作業がある方はぜひ試してみてください。