Skip to content

mosaic notebook ​

Creates a Google NotebookLM notebook from a search, or from a folder of PDFs, and queues the artifacts you ask for: an audio overview, a video, slides, a quiz and more.

Usage ​

bash
mosaic notebook create "Hall thrusters" --query "hall thruster anomalous transport" --oa-only
mosaic notebook create "Hall thrusters" --query "hall thruster" -y 2020-2025 --oa-only --podcast --briefing
mosaic notebook create "My library" --from-dir ~/mosaic-papers --slide-deck --mind-map

Behaviour ​

Needs the notebooklm extra and a one-time notebooklm login. NotebookLM has no official API: the integration uses the unofficial notebooklm-py client, and can break when Google changes the service.

Give exactly one of --query or --from-dir. With --query, mosaic searches, downloads the PDFs and imports them; the search filters (-y, -a, -j, -f, --raw-query) apply only there. --oa-only and --pdf-only apply in both modes.

The artifact flags queue generation in NotebookLM after the import; the artifacts appear in the notebook when Google finishes them.

See also: NotebookLM.

Options ​

mosaic notebook create ​

Create a NotebookLM notebook from a search query or a directory of PDFs.

mosaic notebook create [OPTIONS] NAME
ArgumentValueDescription
NAMETEXTNotebook name
OptionValueDefaultDescription
--query, -qTEXTSearch query to populate the notebook
--from-dirPATHImport all PDFs from this directory
--max, -nINTEGER10Max results per source
--oa-onlyOnly include open-access papers
--pdf-onlyOnly include papers with a downloadable PDF
--podcastQueue an Audio Overview after import
--videoQueue a Video Overview after import
--briefingQueue a Briefing Doc after import
--study-guideQueue a Study Guide after import
--quizQueue a Quiz after import
--flashcardsQueue Flashcards after import
--infographicQueue an Infographic after import
--slide-deckQueue a Slide Deck after import
--data-tableQueue a Data Table after import
--mind-mapQueue a Mind Map after import
--year, -yTEXTYear filter: "2020", "2020-2024", or "2020,2022,2024"
--author, -aTEXTAuthor name filter (repeatable)
--journal, -jTEXTJournal name filter (substring match)
--field, -fTEXTallScope query to "title", "abstract", or "all" (default)
--raw-queryTEXTRaw query sent directly to source APIs, bypassing all field transforms
--download-dirTEXTOverride PDF download directory for this run

Released under GPL-3.0-or-later, BSD-2-Clause, BSD-3-Clause or MIT, at your choice.