notebooklm-automation

majiayu000's avatarfrom majiayu000

Automate creation of multiple audio overviews in Google NotebookLM using Playwright. Use when the user needs to generate multiple audio podcasts from web sources with different prompts or focus areas, or when batch-creating NotebookLM audio content.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 5, 2026

When & Why to Use This Skill

This Claude skill automates the end-to-end process of generating multiple audio overviews in Google NotebookLM using Playwright. It streamlines the creation of AI-generated podcasts from web sources, allowing users to batch-process content with customized prompts and focus areas while handling notebook creation, source integration, and file downloads automatically.

Use Cases

  • Batch Content Creation: Automatically convert a list of industry articles into multiple audio podcasts with different thematic focuses, such as technical deep-dives or executive summaries.
  • Educational Resource Generation: Transform web-based study materials into various audio formats like quick recaps or detailed explanations to support multi-modal learning for students.
  • Efficient Information Consumption: Create personalized audio briefings from curated web sources for hands-free listening during commutes or while multitasking.
  • Workflow Optimization for Researchers: Save time by automating the repetitive UI interactions required to generate and download multiple audio perspectives from a single set of research papers.
namenotebooklm-automation
descriptionAutomate creation of multiple audio overviews in Google NotebookLM using Playwright. Use when the user needs to generate multiple audio podcasts from web sources with different prompts or focus areas, or when batch-creating NotebookLM audio content.

NotebookLM Automation

Automates the creation of multiple audio overviews in Google NotebookLM with different prompts and configurations.

Overview

This skill uses Playwright to automate NotebookLM's browser interface for:

  1. Creating a new notebook
  2. Adding website sources
  3. Generating multiple audio overviews with custom prompts
  4. Downloading all generated audio files

The automation handles the repetitive UI interactions, waiting for generation to complete, and downloading all outputs.

Workflow

The automation follows these steps:

  1. Prepare input - Create JSON file with sources and audio overview configurations
  2. Launch automation - Run the Playwright script
  3. Notebook creation - Script creates new notebook and adds sources
  4. Audio generation - Script creates each audio overview with specified prompt and length
  5. Wait for completion - Script waits ~10 minutes for all audio to generate
  6. Download outputs - Script downloads all audio files to /home/claude/

Input Format

Create a JSON file with this structure:

{
  "sources": [
    "https://example.com/article1",
    "https://example.com/page2"
  ],
  "audio_overviews": [
    {
      "prompt": "Focus on technical concepts for developers",
      "length": "longer"
    },
    {
      "prompt": "Create executive summary of business impacts",
      "length": "default"
    }
  ]
}

Field Specifications

sources: Array of website URLs to use as source material

  • Must be publicly accessible URLs
  • NotebookLM will crawl and index these pages

audio_overviews: Array of audio overview configurations

  • prompt: Text describing what the AI should focus on in this episode
  • length: Either "default" or "longer" (never use "shorter")

See references/example_input.json for a complete example.

Usage

Basic Usage

python scripts/generate_audio_overviews.py input.json

This runs with visible browser so you can monitor progress and handle Google authentication if needed.

Headless Mode

python scripts/generate_audio_overviews.py input.json --headless

Run browser in headless mode (requires existing authentication).

Custom Timeout

python scripts/generate_audio_overviews.py input.json --timeout 900

Set custom timeout for audio generation (in seconds). Default is 600 seconds (10 minutes).

Prerequisites

Required Software

Install Playwright and dependencies:

pip install playwright
playwright install chromium

Google Account Setup

  • Must have access to NotebookLM (https://notebooklm.google.com)
  • First run will require Google authentication
  • Browser state is not persisted between runs

Output

Audio files are downloaded to /home/claude/ with NotebookLM's default naming:

  • Format: MP3
  • Naming: Typically includes date/timestamp

The script reports download success for each file and provides summary at completion.

Troubleshooting

Common Issues

Authentication Required

  • Run without --headless flag
  • Sign in to Google when prompted
  • Consider using persistent browser context for repeated use

Selectors Not Found

  • NotebookLM's UI may have changed
  • See references/troubleshooting.md for selector update guidance
  • Run without --headless to observe actual UI

Timeout During Generation

  • Audio generation takes ~5-10 minutes per overview
  • Increase timeout with --timeout flag
  • Script will attempt downloads even after timeout

Sources Not Loading

  • Verify URLs are accessible and public
  • Check for NotebookLM error messages in browser
  • Some content may be blocked or require authentication

Getting Help

For selector updates and detailed troubleshooting, read references/troubleshooting.md.

Limitations

  • Requires manual Google authentication on first run
  • Browser automation may be fragile if NotebookLM's UI changes significantly
  • Cannot create more than ~10 audio overviews at once (NotebookLM limitation)
  • Sources must be publicly accessible websites
  • Generation time increases with number of sources and overview length