非公式のオープンソースプロジェクト。
4か月で、GitHub スター数が 0 から 14,000 以上に急増しました。
率直に言って、このような成果は AI ツールの世界ではかなり珍しいです。
その名は notebooklm-py。その役割は単純です。開発者がプログラムで Google の NotebookLM を制御できるようにすることです。
その重要性にすぐには気づかない方もいるかもしれません。
まず、頭の中で次のようなシーンを想像してみてください。
手元に 50 の PDF ドキュメントがあります。それらすべてを NotebookLM を使って学習ノートに整理する必要があります。
本来なら丸一日かかるかもしれない作業です。notebooklm-py を使えば、数分で完了できます。
機能面では、基本的に NotebookLM Web インターフェースの全機能をカバーしています。

01 ソース管理
様々なコンテンツソースをサポートしています:
URL リンク、YouTube 動画、PDF ドキュメント、音声、動画、画像、Google Drive ファイル。
テキストの断片を直接貼り付けることもでき、それも処理可能です。
以前、YouTube 動画のコンテンツを NotebookLM にインポートしたい場合、字幕を手動でコピーするか、まず要約を準備する必要がありました。
今では、これらの操作は 1 行のコマンドで直接実行できます。
02 コンテンツ生成
生成される Audio ポッドキャストは、ディープダイブ、ブリーフィング、解説、討論を含む 4 つのフォーマットで提供されます。
3 種類の長さをサポートし、50 以上の言語をカバーします。
ビデオ概要には 3 つのフォーマットオプションと 9 つの異なるビジュアルスタイルがあります。
スライドのエクスポートでも、PDF と PPTX の両方のオプションを提供しており、PDF のみをサポートする Web インターフェースとは異なります。
さらに、スタディガイドや暗記カードは、以前のように共有可能なリンクを提供するだけでなく、JSON、Markdown、さらには HTML 形式でエクスポートできます。
03 個別スライドの改訂
これは実際、非常に助かります。
以前、Web インターフェースでは、単一のスライドを修正したい場合、すべてのスライドを再生成するか、手動でエクスポートして PowerPoint で編集する必要がありました。
今では、このツールで特定のスライドを直接指定し、AI にそのスライドだけを再生成させることができます。
04 リサーチツール
Web 検索と Drive 検索の 2 つのモードをサポートしています。
特定のトピックに関連する資料をウェブ上または個人の Google Drive から自動的に検索し、それをノートブックにインポートできます。
05 エージェント連携
これらのコア機能に加え、エージェント連携の部分は、現在、最も先進的な側面だと思われます。
MCP (Model Context Protocol) を活用することで、Claude Code や Codex などの AI エージェントが自然言語を通じて直接 NotebookLM を制御できるようにします。
例えば、Claude Code に次のように言うだけで済みます:
「この論文を NotebookLM にインポートして、10 分のポッドキャストを生成して」
Claude Code は notebooklm-py が提供するインターフェースを呼び出し、ワークフロー全体を自動的に完了します。
この「AI を使って AI を制御する」能力は、現在のオープンソース環境では確かにあまり一般的ではありません。Reddit で、誰かが「本質的に ‘プログラム可能な知識パイプライン’ を形成した」とコメントしているのを見ました。その評価は誇張ではありません。
異なるシナリオに対応する 3 つの使用方法を提供します。
まず、Python API のパスです。開発者であれば、Python コードから直接呼び出せます。このパスは、独自のアプリケーションに組み込んだり、完全な自動処理パイプラインを構築したりするのに特に適しています。
次に、コマンドラインツール (CLI) です。ターミナル操作に慣れている方には、CLI でほぼ日常のほとんどの操作をカバーできます。バッチスクリプトの記述や自動タスクの実行に便利です。
そして、AI エージェント連携 の方向性です。Claude Code や Codex などのツールを日常的に使う場合は、Skill 経由で連携させ、これらの AI エージェントに直接 NotebookLM を制御させることができます。つまり、自然に話すだけで、かなり複雑な一連のタスクを完了できるということです。
注意すべき境界線
これらすべての機能を見た後、もちろん、言及すべきいくつかの境界線があります。
- Google の非公式で文書化されていない API に依存しています。 これは、Google がいつでもインターフェースロジックを変更する可能性があり、このライブラリが機能しなくなる恐れがあることを意味します。プロジェクトの作者はドキュメントで明確に述べています。現時点では、このツールはプロトタイプ開発、研究・学習、個人プロジェクトに最適です。本番環境へのデプロイは推奨されません。
- 認証には Google アカウントが必要です。 ブラウザ経由でログインするか、クッキーを手動でインポートする必要があります。プロジェクト自体にクッキー維持メカニズムはありますが、長期間タスクを実行しないと、クッキーは依然として期限切れになる可能性があり、再取得が必要になります。
- 現在、コンシューマー版 (Consumer) のみサポートしています。エンタープライズ API はサポートされていません。そのため、企業ユーザーの場合は、他の代替手段を探す必要があるかもしれません。
クイックスタート
ここまで読んで、おそらく多くの方が試してみたくてうずうずしていることでしょう。
01) まず、依存関係をインストールします。
まず、パッケージをインストール:
bashbashpip install "notebooklm-py[browser]"
次に、ブラウザコンポーネントもインストール:
bashbashplaywright install chromium
このプロセスは約 170 MB 使用するので、少しお待ちください。
02) 次に、ログイン認証を処理します。
次のコマンドを実行:
bashbashnotebooklm login
これにより、システム上でブラウザウィンドウが開き、Google アカウントで認可できます。
03) 必要に応じて、接続状態を確認します。
確認のために次のコマンドを使用:
bashbashnotebooklm auth check --test --json
画面に認証成功と表示されたら、正式に使用を開始できます。
それ以降は、新しいノートブックの作成、ソースのインポート、ポッドキャストの生成など、具体的な操作に CLI または Python API のどちらを使用するかに関係なく、プロセス全体を自動化できます。
最後に
率直に言うと、以前 NotebookLM を使っていた時、一番煩わしかったのはエクスポートできないことでした。苦労して生成したポッドキャストやスライドを、手動でコピー&ペーストしないと他の場所で簡単に使えませんでした。バッチ処理の場合は、まったく不可能でした。
notebooklm-py は、この悩みの種を解決します。
非公式の方法を使っていて、Google がいつでも API を変更する可能性はありますが、少なくとも今ではコードで制御できます。私にとっては、それで十分です。
MIT ライセンス の下でオープンソースです。興味のある方は、GitHub で確認してみてください。
オープンソースアドレス: https://github.com/teng-lin/notebooklm-py