NotebookLM AI Plugin
Supports:
- Chat with Notebook AI (source-grounded Q&A with citations)
- Slide Deck generation (PDF/PPTX)
- Audio Overview (M4A -- deep dive, brief, critique, debate formats)
- Video Overview (MP4 -- classic, whiteboard, kawaii, anime, watercolor styles)
- Mind Map (HTML)
- Flashcards (HTML/JSON)
- Quiz (HTML/JSON)
- Infographic (PNG -- landscape, portrait, square)
- Report (Markdown -- briefing doc, study guide, blog post)
- Data Table (CSV / Google Sheets export)
- Source management (add URLs, YouTube, files, pasted text; list, delete)
- Fast/Deep web research with auto-import
- Notes management (create, update, delete, list)
- Notebook library management (add, list, search, activate)
Quick start
# Authenticate first (opens Chrome for Google login)
npx -y bun scripts/main.ts login
# Add a notebook to library
npx -y bun scripts/main.ts notebooks add https://notebooklm.google.com/notebook/abc123 --name "My Research"
# Generate artifacts
npx -y bun scripts/main.ts generate slide_deck --notebook abc123 --output slides.pdf
npx -y bun scripts/main.ts generate audio --format deep_dive --length long
npx -y bun scripts/main.ts generate video --style whiteboard --output explainer.mp4
npx -y bun scripts/main.ts generate quiz --difficulty medium --quantity more --json
npx -y bun scripts/main.ts generate mind_map --output mindmap.png
npx -y bun scripts/main.ts generate infographic --orientation portrait --output info.png
npx -y bun scripts/main.ts generate report --format study_guide --output report.md
npx -y bun scripts/main.ts generate flashcards --difficulty easy --json
npx -y bun scripts/main.ts generate data_table --output data.csv
Commands
Authentication
npx -y bun scripts/main.ts login
First run opens Chrome for Google login. Cookies are cached for subsequent runs.
# Force cookie refresh
npx -y bun scripts/main.ts login --force
Notebook Management
# List all notebooks in library
npx -y bun scripts/main.ts notebooks list
# Add a notebook by URL
npx -y bun scripts/main.ts notebooks add <url> [--name <name>] [--description <desc>] [--topics <t1,t2>]
# Remove a notebook from library
npx -y bun scripts/main.ts notebooks remove <id>
# Set active notebook (used as default for generation)
npx -y bun scripts/main.ts notebooks activate <id>
# Search notebooks
npx -y bun scripts/main.ts notebooks search <query>
Chat with Notebook AI
# Ask a question about your notebook sources
npx -y bun scripts/main.ts chat --question "What are the key findings?" --notebook abc123
# Continue a conversation
npx -y bun scripts/main.ts chat --question "Tell me more about that" --conversation-id <id>
# Get JSON output with citations
npx -y bun scripts/main.ts chat --question "Summarize the methodology" --json
Source Management
# List all sources in a notebook
npx -y bun scripts/main.ts sources list --notebook abc123
# Add sources
npx -y bun scripts/main.ts sources add-url https://example.com/article --notebook abc123
npx -y bun scripts/main.ts sources add-youtube https://youtube.com/watch?v=xxx --notebook abc123
npx -y bun scripts/main.ts sources add-text --title "My Notes" --content "Important findings..." --notebook abc123
npx -y bun scripts/main.ts sources add-file ./paper.pdf --notebook abc123
# Delete a source
npx -y bun scripts/main.ts sources delete <sourceId> --notebook abc123
Supported file types: PDF, TXT, MD, DOCX, CSV, EPUB, images (PNG, JPG, WEBP, etc.), audio/video files.
Research
# Fast web research (finds relevant sources quickly)
npx -y bun scripts/main.ts research fast --query "latest AI agent frameworks" --notebook abc123
# Deep research (comprehensive report with analysis)
npx -y bun scripts/main.ts research deep --query "state of LLM reasoning" --notebook abc123
# Auto-import found sources into the notebook
npx -y bun scripts/main.ts research fast --query "topic" --notebook abc123 --import
# Check research status
npx -y bun scripts/main.ts research status --notebook abc123
Notes
# List notes in a notebook
npx -y bun scripts/main.ts notes list --notebook abc123
# Create a note
npx -y bun scripts/main.ts notes create --title "Key Takeaways" --content "1. Finding one..." --notebook abc123
# Update a note
npx -y bun scripts/main.ts notes update <noteId> --title "Updated Title" --content "New content" --notebook abc123
# Delete a note
npx -y bun scripts/main.ts notes delete <noteId> --notebook abc123
Artifact Generation
npx -y bun scripts/main.ts generate <type> [options]
Types: slide_deck, audio, video, mind_map, flashcards, quiz, infographic, report, data_table
Options
Global Options
| Option | Description |
|---|
--notebook <url|id> | Notebook URL or library ID (defaults to active notebook) |
--output <path> | Output file path (auto-named if omitted) |
--instructions <text> | Custom instructions for generation |
--json | Output as JSON |
--login | Refresh cookies only, then exit |
--help, -h | Show help |
Slide Deck Options
| Option | Description |
|---|
--format <type> | Output format: pdf (default), pptx |
Audio Overview Options
| Option | Description |
|---|
--format <type> | Audio format: deep_dive (default), brief, critique, debate |
--length <length> | Duration: short, default, long |
--language <lang> | Language code (default: en) |
Video Overview Options
| Option | Description |
|---|
--style <style> | Visual style: auto (default), classic, whiteboard, kawaii, anime, watercolor |
--format <type> | Video format: explainer (default), brief |
Quiz Options
| Option | Description |
|---|
--difficulty <level> | Difficulty: easy, medium (default), hard |
--quantity <amount> | Number of questions: fewer, standard, more |
Flashcards Options
| Option | Description |
|---|
--difficulty <level> | Difficulty: easy, medium (default), hard |
--quantity <amount> | Number of cards: fewer, standard, more |
Infographic Options
| Option | Description |
|---|
--orientation <type> | Layout: landscape (default), portrait, square |
Report Options
| Option | Description |
|---|
--format <type> | Report format: briefing_doc (default), study_guide, blog_post |
Data Table Options
| Option | Description |
|---|
--format <type> | Output format: csv (default), sheets (Google Sheets export) |
Artifact Types
| Type | Output Format | Description |
|---|
slide_deck | PDF/PPTX | Presentation slides summarizing notebook sources |
audio | M4A | Audio overview in conversation format (deep dive, brief, critique, debate) |
video | MP4 | Animated video overview with visual styles |
mind_map | PNG | Visual mind map of key concepts and relationships |
flashcards | HTML/JSON | Study flashcards generated from source material |
quiz | HTML/JSON | Multiple-choice quiz with answer key |
infographic | PNG | Visual summary infographic in various orientations |
report | Markdown | Written report (briefing doc, study guide, blog post) |
data_table | CSV/Sheets | Structured data extracted from sources |
Authentication
First run opens Chrome to authenticate with Google. Cookies are cached for subsequent runs. Uses CDP browser automation for the login flow, then direct batchexecute RPC calls for all operations.
# Force cookie refresh
npx -y bun scripts/main.ts login --force
Environment variables
| Variable | Description |
|---|
NOTEBOOKLM_DATA_DIR | Data directory override |
NOTEBOOKLM_COOKIE_PATH | Cookie file path |
NOTEBOOKLM_CHROME_PROFILE_DIR | Chrome profile directory |
NOTEBOOKLM_OUTPUT_DIR | Default output directory |
Rate Limits
NotebookLM free tier limits:
| Resource | Limit |
|---|
| Audio/video overviews | 3 per day |
| Reports/flashcards/quizzes | 10 per day |
| Daily chats | 50 |
| Total notebooks | 100 |
| Sources per notebook | 50 |
Examples
Generate a slide deck from a specific notebook
npx -y bun scripts/main.ts generate slide_deck \
--notebook https://notebooklm.google.com/notebook/abc123 \
--output presentation.pdf
Create an audio deep dive with custom instructions
npx -y bun scripts/main.ts generate audio \
--format deep_dive \
--length long \
--instructions "Focus on the methodology section and compare approaches"
Generate a whiteboard-style video overview
npx -y bun scripts/main.ts generate video \
--style whiteboard \
--length medium \
--output explainer.mp4
Create a quiz and get JSON output for integration
npx -y bun scripts/main.ts generate quiz \
--difficulty hard \
--quantity more \
--json > quiz_data.json
Generate a portrait infographic
npx -y bun scripts/main.ts generate infographic \
--orientation portrait \
--instructions "Highlight the three main findings" \
--output summary.png
Export structured data as CSV
npx -y bun scripts/main.ts generate data_table \
--format csv \
--output extracted_data.csv