Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/teng-lin/notebooklm-py/llms.txt

Use this file to discover all available pages before exploring further.

The generate command group creates AI content from your notebook sources. Most subcommands are asynchronous by default: they start generation and return immediately with a task_id, so you can continue working while the content is produced in the background. The only synchronous exception is mind-map, which completes instantly.
Generation tasks can take anywhere from seconds (mind-map) to 30+ minutes (complex video or audio). For LLM agents, avoid --wait and instead poll with artifact wait <id> in a separate step.
notebooklm generate <type> [description] [OPTIONS]
All generate subcommands support:
  • -s, --source ID — limit generation to specific sources (repeatable)
  • --json — return {"task_id": "...", "status": "..."} for scripting
  • --language CODE — override the output language (defaults to account setting or en)
  • --retry N — automatically retry on rate limits with exponential backoff
  • --wait — wait inline for completion (not recommended for agents)

Generate an audio overview in podcast format from your notebook sources.
notebooklm generate audio [description] [OPTIONS]
OptionValuesDefaultDescription
--formatdeep-dive, brief, critique, debatedeep-divePodcast discussion format
--lengthshort, default, longdefaultApproximate duration
--languageBCP-47 codeaccount settingOutput language
-s, --sourceSource IDall sourcesLimit to specific source(s)
--waitoffWait for completion inline
--jsonoffMachine-readable output
--retry Ninteger0Retries on rate limit with backoff
# Basic podcast (async, returns immediately)
notebooklm generate audio

# Debate format with a custom instruction
notebooklm generate audio "Compare the two main viewpoints" --format debate

# Short podcast, wait for completion
notebooklm generate audio "Focus on key takeaways" --length short --wait

# Generate from specific sources only
notebooklm generate audio -s src_abc -s src_def

# Machine-readable output for scripting
notebooklm generate audio --json
# Output: {"task_id": "abc123...", "status": "pending"}

# Retry up to 3 times on rate limits
notebooklm generate audio --retry 3 --json
Generate a video overview with animated visuals from your notebook sources.
notebooklm generate video [description] [OPTIONS]
OptionValuesDefaultDescription
--formatexplainer, briefexplainerVideo format
--styleauto, classic, whiteboard, kawaii, anime, watercolor, retro-print, heritage, paper-craftautoVisual animation style
--languageBCP-47 codeaccount settingOutput language
-s, --sourceSource IDall sourcesLimit to specific source(s)
--waitoffWait for completion inline
--jsonoffMachine-readable output
# Kid-friendly explainer with kawaii style
notebooklm generate video "Explain for 5 year olds" --style kawaii

# Professional classic style, wait for completion
notebooklm generate video --style classic --wait

# Generate from specific sources
notebooklm generate video -s src_123 -s src_456

# Machine-readable output
notebooklm generate video --json
Alias for generate video --format cinematic. Generates a cinematic-style video overview. Accepts the same --style and other options as video.
notebooklm generate cinematic-video [description] [OPTIONS]
# Documentary-style cinematic video
notebooklm generate cinematic-video "Documentary about quantum physics"

# With a specific visual style
notebooklm generate cinematic-video "History of AI" --style watercolor --wait
Generate a slide deck from your notebook sources. Download as PDF (default) or editable PPTX with notebooklm download slide-deck --format pptx.
notebooklm generate slide-deck [description] [OPTIONS]
OptionValuesDefaultDescription
--formatdetailed, presenterdetailedSlide template
--lengthdefault, shortdefaultApproximate slide count
--waitoffWait for completion inline
--jsonoffMachine-readable output
# Default detailed slide deck
notebooklm generate slide-deck

# Presenter slides with speaker notes
notebooklm generate slide-deck "Key findings for the board" --format presenter --wait

# Short slide deck as JSON
notebooklm generate slide-deck --length short --json
Revise a specific slide in an existing slide deck using a natural-language description. The slide deck must already be fully generated before you can revise individual slides.
notebooklm generate revise-slide <description> --artifact <id> --slide N [OPTIONS]
OptionValuesDescription
-a, --artifact IDArtifact IDRequired. The slide deck to revise
--slide NIntegerRequired. Zero-based slide index (0 = first slide)
--waitWait for revision to complete
--jsonMachine-readable output
# Revise the first slide
notebooklm generate revise-slide "Move the title up" --artifact art123 --slide 0

# Revise the fourth slide and wait
notebooklm generate revise-slide "Remove the taxonomy table" --artifact art123 --slide 3 --wait

# Revise and get JSON output
notebooklm generate revise-slide "Simplify bullet points" --artifact art123 --slide 1 --json
Use notebooklm artifact list --type slide-deck to find the artifact ID for an existing slide deck.
Generate a multiple-choice quiz based on your notebook sources.
notebooklm generate quiz [description] [OPTIONS]
OptionValuesDefaultDescription
--difficultyeasy, medium, hardmediumQuestion difficulty
--quantityfewer, standard, morestandardNumber of questions
-s, --sourceSource IDall sourcesLimit to specific source(s)
--waitoffWait for completion inline
--jsonoffMachine-readable output
# Hard quiz covering all sources
notebooklm generate quiz --difficulty hard --wait

# Easy quiz from specific sources
notebooklm generate quiz "Focus on chapter 3 concepts" --difficulty easy -s src_abc

# More questions, JSON output
notebooklm generate quiz --quantity more --json
Download the quiz after generation with notebooklm download quiz --format markdown.
Generate a flashcard deck for studying. Options match those for quiz.
notebooklm generate flashcards [description] [OPTIONS]
OptionValuesDefaultDescription
--difficultyeasy, medium, hardmediumCard difficulty
--quantityfewer, standard, morestandardNumber of cards
-s, --sourceSource IDall sourcesLimit to specific source(s)
--waitoffWait for completion inline
--jsonoffMachine-readable output
# Standard flashcards for all sources
notebooklm generate flashcards

# Harder cards from a specific source
notebooklm generate flashcards --difficulty hard -s src_abc --wait

# Fewer cards, JSON output
notebooklm generate flashcards --quantity fewer --json
Generate a visual infographic summarizing your notebook sources.
notebooklm generate infographic [description] [OPTIONS]
OptionValuesDefaultDescription
--orientationlandscape, portrait, squareImage orientation
--detailconcise, standard, detailedstandardInformation density
--styleauto, sketch-note, professional, bento-grid, editorial, instructional, bricks, clay, anime, kawaii, scientificautoVisual style
--waitoffWait for completion inline
--jsonoffMachine-readable output
# Landscape infographic with standard detail
notebooklm generate infographic --orientation landscape

# Detailed portrait infographic
notebooklm generate infographic "Key statistics" --orientation portrait --detail detailed --wait

# Kawaii style, JSON output
notebooklm generate infographic --style kawaii --json
Generate a structured data table from your notebook sources. The description is required and should specify what data to extract.
notebooklm generate data-table <description> [OPTIONS]
OptionValuesDescription
--waitWait for completion inline
--jsonMachine-readable output
# Generate a comparison table
notebooklm generate data-table "compare key concepts and their properties"

# Wait for completion
notebooklm generate data-table "list all studies with sample sizes and outcomes" --wait

# JSON output for scripting
notebooklm generate data-table "extract pricing data" --json
Download the result with notebooklm download data-table ./data.csv. The CSV uses UTF-8 with BOM encoding for Excel compatibility.
Generate a hierarchical mind map. This is the only synchronous generate command — it completes immediately and requires no --wait option.
notebooklm generate mind-map [OPTIONS]
OptionValuesDescription
--jsonMachine-readable output
# Generate a mind map (completes immediately)
notebooklm generate mind-map

# JSON output for automation
notebooklm generate mind-map --json
Download the mind map as a JSON tree with notebooklm download mind-map ./map.json. The JSON structure is {"name": "Topic", "children": [{"name": "Subtopic", "children": [...]}]}.
Generate a structured text report. Choose from built-in templates or write a fully custom prompt.
notebooklm generate report [description] [OPTIONS]
OptionValuesDefaultDescription
--formatbriefing-doc, study-guide, blog-post, custombriefing-docReport template
--append TEXTText stringAppend extra instructions to a built-in template
-s, --sourceSource IDall sourcesLimit to specific source(s)
--waitoffWait for completion inline
--jsonoffMachine-readable output
# Study guide with default settings
notebooklm generate report --format study-guide

# Executive briefing from specific sources
notebooklm generate report "Stakeholder summary" --format briefing-doc -s src_001 -s src_002

# Append custom instructions to a built-in template
notebooklm generate report --format study-guide --append "Target audience: beginners"
notebooklm generate report --format briefing-doc --append "Focus on AI trends, keep under 2 pages"

# Fully custom report (description auto-selects custom format)
notebooklm generate report "Create a white paper analyzing the key market trends"

# Wait for completion, JSON output
notebooklm generate report --format blog-post --wait --json
--append adds instructions to the end of a built-in template prompt. It has no effect when --format custom is used; for custom reports, put your full prompt in the description argument.

Async behavior reference

CommandAsync?Notes
audioYesReturns task_id. Audio can take 2–15 minutes.
videoYesReturns task_id. Video can take 5–30+ minutes.
cinematic-videoYesAlias for video --format cinematic.
slide-deckYesReturns task_id.
revise-slideYesReturns task_id.
quizYesReturns task_id.
flashcardsYesReturns task_id.
infographicYesReturns task_id.
data-tableYesReturns task_id.
mind-mapNoSynchronous. Completes immediately.
reportYesReturns task_id.
After starting an async generation, poll with notebooklm artifact poll <task_id> or block with notebooklm artifact wait <id>.

Build docs developers (and LLMs) love