notebooklm-podcastlisted
Install: claude install-skill 03gilbe-design/claude-notebooklm-podcast-skill
# NotebookLM Podcast Skill
Drive the NotebookLM → podcast → dataset pipeline in this repo. It uses the unofficial
[`notebooklm-py`](https://github.com/teng-lin/notebooklm-py) API (pure HTTP after a one-time
browser login), plus `faster-whisper` (transcription) and `pyannote` (2-speaker diarization).
## Prerequisites (check first)
- `notebooklm login` has been run once (auth in `~/.notebooklm/profiles/default/storage_state.json`). If a command returns "Authentication expired", tell the user to run `notebooklm login` — it needs a browser and cannot be automated.
- `ffmpeg` in PATH. For transcription/diarization: a GPU (Colab T4) — CPU works but is slow.
## Common tasks
### Generate a podcast from a topic
Deep-research the topic on NotebookLM, then generate one or more audio overviews.
```bash
notebooklm create "TOPIC" --json # -> notebook id (in .notebook.id)
notebooklm source add-research -n <nb_id> "TOPIC" --mode deep --json
notebooklm research wait -n <nb_id> --import-all --json
notebooklm generate audio "custom prompt for the hosts" -n <nb_id> --length long --wait --json
# generate returns {task_id, status, url} — NOT artifact_id. Get it from the list:
notebooklm artifact list -n <nb_id> --json # newest audio artifact -> its id
notebooklm download audio -n <nb_id> -a <artifact_id> out.mp3
```
Other output types (same command, free): `video`, `quiz`, `mind-map`, `flashcards`,
`slide-deck`, `infographic`, `data-table`, `report`.
### Recov