GEMINI LABEN
NANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定ですNANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定です
記事一覧/高度な活用
高度な活用/2026-03-24上級

NotebookLM API × Gemini API — 研究・分析ワークフローをPythonで自動化する

NotebookLM Enterprise API と Gemini API を Python で連携させ、論文収集・要約・ポッドキャスト生成・レポート作成までを自動化するワークフローを構築します。実際に動作するコード例付き。

NotebookLM5Gemini API191Python38自動化26ワークフロー5上級

取り組みの背景 — API 連携で実現する研究ワークフローの自動化

NotebookLM を GUI で使うだけでも便利ですが、API を活用すれば「資料の追加 → 要約生成 → ポッドキャスト作成 → レポート出力」という一連のワークフローをプログラムで自動化できます。

前提知識・環境準備

必要なもの

自動化ワークフローを構築するためには以下の環境が必要です。

  • Google Cloud プロジェクト — NotebookLM Enterprise API を利用するには Google Cloud の設定が必要です
  • API キー — Google AI Studio から Gemini API キー、Google Cloud から NotebookLM Enterprise API の認証情報を取得します
  • Python 3.10+ — 型ヒントと asyncio を活用するため推奨
  • 必要なライブラリ — google-genai、google-cloud-notebooklm

セットアップ

# ライブラリのインストール
# pip install google-genai google-cloud-notebooklm
 
import os
from google import genai
from google.cloud import notebooklm_v1
 
# Gemini API クライアントの初期化
gemini_client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
 
# NotebookLM Enterprise API クライアントの初期化
notebooklm_client = notebooklm_v1.NotebookServiceClient()
 
print("✅ クライアント初期化完了")
# 期待する出力: ✅ クライアント初期化完了

ワークフロー全体像

自動化するワークフローは以下の4ステップです。

  1. 収集 — Web 上の論文・記事を Gemini API で検索・選別
  2. 蓄積 — 選別した資料を NotebookLM Enterprise API でノートブックに追加
  3. 分析 — NotebookLM のノートブックに対して Gemini API で質問・要約を生成
  4. 出力 — ポッドキャスト(Audio Overview)の自動生成、レポートの整形

それぞれのステップを実装していきましょう。

ステップ1: Gemini API で資料を検索・選別する

まず Gemini API の Grounding with Google Search を使って、特定のテーマに関する最新の論文や記事を検索します。

from google.genai.types import Tool, GoogleSearch
 
# Google Search Grounding を使ってテーマに関する最新情報を収集
search_tool = Tool(google_search=GoogleSearch())
 
response = gemini_client.models.generate_content(
    model="gemini-2.5-pro",
    contents=(
        "量子コンピュータの誤り訂正に関する2026年の最新論文を5件リストアップしてください。"
        "各論文について、タイトル・著者・URL・概要(3行以内)を記載してください。"
    ),
    config={
        "tools": [search_tool],
        "temperature": 0.2,  # 正確性重視で低めに設定
    },
)
 
print(response.text)
# 期待する出力:
# 1. "Scalable Quantum Error Correction with ..." — Authors: ...
#    URL: https://arxiv.org/abs/...
#    概要: ...
# (以下5件分のリスト)

Grounding を使うことで、Gemini が Web 検索結果に基づいた最新の情報を返してくれます。Temperature を低めに設定することで、正確性の高い回答が得られます。

ステップ2: NotebookLM Enterprise API でノートブックを管理する

検索で見つけた資料を NotebookLM のノートブックにプログラムで追加します。

# プロジェクト設定
PROJECT_ID = "your-gcp-project-id"
LOCATION = "us"  # NotebookLM Enterprise API の利用リージョン
PARENT = f"projects/{PROJECT_ID}/locations/{LOCATION}"
 
# 新しいノートブックの作成
notebook = notebooklm_client.create_notebook(
    parent=PARENT,
    notebook=notebooklm_v1.Notebook(
        display_name="量子誤り訂正 研究レビュー 2026-03",
    ),
)
print(f"✅ ノートブック作成: {notebook.name}")
# 期待する出力: ✅ ノートブック作成: projects/.../notebooks/xxxxx
 
# Web ソースの追加(ステップ1で見つけたURLを追加)
urls = [
    "https://arxiv.org/abs/2026.xxxxx",
    "https://arxiv.org/abs/2026.yyyyy",
]
 
for url in urls:
    source = notebooklm_client.create_source(
        parent=notebook.name,
        source=notebooklm_v1.Source(
            display_name=url.split("/")[-1],
            web_uri=notebooklm_v1.WebUri(uri=url),
        ),
    )
    print(f"  ソース追加: {source.display_name}")
# 期待する出力:
#   ソース追加: 2026.xxxxx
#   ソース追加: 2026.yyyyy

NotebookLM Enterprise API を使えば、ノートブックの作成からソースの追加までをスクリプトで完結できます。定期的に最新の論文を追加するバッチ処理も簡単に構築できます。

ステップ3: Gemini API でノートブックの内容を分析する

ノートブックに蓄積された情報を Gemini API と連携して分析します。Gemini アプリ上では NotebookLM をソースとして直接参照できますが、API レベルでは NotebookLM のソース内容を取得し、Gemini API のコンテキストとして渡す方法が有効です。

# ノートブック内のソース一覧を取得
sources = notebooklm_client.list_sources(parent=notebook.name)
source_contents = []
 
for source in sources:
    # 各ソースの情報を取得
    source_contents.append(f"Source: {source.display_name}")
 
# Gemini API で横断的な分析を実行
analysis_prompt = f"""
以下のソースを分析し、研究レビューレポートを作成してください。
 
ソース一覧:
{chr(10).join(source_contents)}
 
レポートに含める項目:
1. 研究テーマの全体的な動向(300文字)
2. 主要な発見・ブレイクスルー(箇条書き5つ)
3. 今後の課題と展望(200文字)
4. 実務への応用可能性(200文字)
"""
 
report = gemini_client.models.generate_content(
    model="gemini-2.5-pro",
    contents=analysis_prompt,
    config={
        "temperature": 0.3,
        "max_output_tokens": 4096,
    },
)
 
print(report.text)
# 期待する出力: 構造化された研究レビューレポート

ステップ4: ポッドキャストとレポートを自動生成する

NotebookLM Enterprise API の Podcast API を使えば、ノートブックの内容からポッドキャスト音声を自動生成できます。

import time
 
# ポッドキャスト(Audio Overview)の生成リクエスト
operation = notebooklm_client.generate_podcast(
    name=notebook.name,
)
 
# 非同期処理の完了を待機
while not operation.done():
    print("⏳ ポッドキャスト生成中...")
    time.sleep(10)
    operation = notebooklm_client.get_operation(name=operation.name)
 
result = operation.result()
print(f"✅ ポッドキャスト生成完了")
print(f"  音声URL: {result.audio_uri}")
# 期待する出力:
# ✅ ポッドキャスト生成完了
#   音声URL: https://storage.googleapis.com/...

すべてを統合した自動化スクリプト

上記のステップをまとめて、ワンコマンドで実行できるスクリプトにします。

import asyncio
 
async def research_automation_pipeline(theme: str) -> dict:
    """研究テーマを入力すると、ノートブック作成→分析→ポッドキャスト生成を自動実行する"""
 
    print(f"🔬 テーマ: {theme}")
 
    # Step 1: Gemini で最新論文を検索
    print("📡 Step 1: 論文を検索中...")
    search_results = await search_papers(theme)
 
    # Step 2: NotebookLM にノートブック作成 & ソース追加
    print("📚 Step 2: ノートブックにソースを追加中...")
    notebook_id = await create_and_populate_notebook(theme, search_results)
 
    # Step 3: Gemini で分析レポート生成
    print("📊 Step 3: 分析レポートを生成中...")
    report = await generate_analysis_report(notebook_id)
 
    # Step 4: ポッドキャスト生成
    print("🎙️ Step 4: ポッドキャストを生成中...")
    podcast_url = await generate_podcast(notebook_id)
 
    return {
        "notebook_id": notebook_id,
        "report": report,
        "podcast_url": podcast_url,
    }
 
# 実行例
# result = asyncio.run(research_automation_pipeline("量子コンピュータ 誤り訂正 2026"))

よくあるエラーと対処法

エラー原因対処法
PermissionDeniedサービスアカウントの権限不足IAM で notebooklm.editor ロールを付与
ResourceExhaustedAPI クォータ超過レート制限を実装(1秒あたり1リクエスト推奨)
InvalidArgumentサポートされていないソース形式Web URI、PDF、Google Docs のみ対応を確認
DeadlineExceededポッドキャスト生成のタイムアウトタイムアウト値を300秒に延長

まとめ — API 連携で研究の生産性を10倍にする

NotebookLM Enterprise API と Gemini API を組み合わせることで、これまで手作業で行っていた「資料収集 → 整理 → 分析 → アウトプット」のサイクル全体を自動化できます。

特に、定期的なリサーチ作業や大量の論文レビューを行う方にとって、本記事で紹介したパイプラインは大きな時間節約になるはずです。まずは小さなテーマで試して、段階的にワークフローを拡張していくことをおすすめします。

NotebookLM Enterprise API のポッドキャスト機能に特化した解説は「NotebookLM Enterprise API でポッドキャスト生成を自動化する」で詳しく紹介しています。Google AI Studio の実践的な使い方については「Google AI Studio 実践ガイド」もあわせてご覧ください。

シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

高度な活用2026-04-04
Gemini API × UIデザイン自動化:Figma Make連携からコード生成まで
Gemini APIを使ったUI/UXデザインの完全自動化。要件構造化から、Figma Make連携、デザインシステム自動生成、コンポーネント化、ユーザビリティテストの自動化まで、企業レベルのワークフロー構築法を徹底解説。
高度な活用2026-03-31
Gemini APIで構築する個人事業主向けAI秘書システム — タスク自動化・メール要約・スケジュール最適化の本番実装ガイド
Gemini APIを使って個人事業主・フリーランス向けのAI秘書システムを構築する完全ガイド。タスク管理自動化・メール要約・スケジュール最適化をFunction Callingで実装し、本番デプロイまでの全工程を解説。
API / SDK2026-07-09
Google Sheets API × Gemini API でつくるデータ処理パイプライン — Apps Script 不要の Python 自動化
サービスアカウントを使った Google Sheets API の認証から、Gemini API でのデータ分析・分類・要約まで、Python だけで完結するスプレッドシート AI 自動化パイプラインを解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →