14,6k Stars : Pilotez Google NotebookLM en Python et branchez Claude Code
- notebooklm ai
- notebooklm tutorial
- notebooklm
- notebooklm officiel
L’interface web de Google NotebookLM convient pour un usage ponctuel, mais dès que vous avez besoin de pipelines de recherche, de scripts ou de workflows avec agents IA, vous butez sur un mur : la plupart des actions passent par des clics, et le traitement par lot devient pénible.
notebooklm-py sur GitHub ( 14,6k+ stars en mai 2026) comble ce vide — une couche Python au-dessus de NotebookLM, branchable sur Claude Code et agents similaires.

Les limites de l’interface web NotebookLM
NotebookLM permet d’importer des PDF, des URL et des liens YouTube, puis de discuter et générer podcasts, slides, quiz, etc. Cherchez notebooklm tutorial et vous trouverez des guides — mais l’UI officielle a des limites nettes :
- Import et téléchargement par lot : un clic à la fois
- Quiz et flashcards uniquement interactifs — pas d’export JSON ou Markdown
- Cartes mentales et tableaux de données sans export structuré dans le navigateur
- Pas de connexion native à Claude Code, Codex ou autres agents de code
Pour prendre des notes occasionnellement, le web suffit. Pour des pipelines, des jobs CI ou « lire 20 articles et générer des quiz », il faut une API programmatique.
Qu’est-ce que notebooklm-py ?
notebooklm-py est un SDK et CLI Python non officiel, maintenu par la communauté (licence MIT). Par rétro-ingénierie du RPC interne de Google, il expose quasi toutes les capacités de NotebookLM, plus des fonctions que le web n’a jamais livrées.
Avertissement : Non affilié à Google. S’appuie sur des API non documentées susceptibles de casser. Idéal pour projets personnels, recherche et prototypes.
Trois modes d’utilisation
| Méthode | Idéal pour |
|---|---|
| Python API | Intégration applicative, pipelines async, scripts sur mesure |
| CLI | Scripts shell, tâches rapides, CI/CD |
| Intégration agents | Claude Code, Codex, OpenClaw, automatisation en langage naturel |
Ce que le web ne propose pas
| Capacité | Ce que vous obtenez |
|---|---|
| Téléchargement par lot | Tous les artefacts d’un type d’un coup (MP3, MP4, PDF, PNG, etc.) |
| Export quiz / flashcards | JSON, Markdown, HTML — pas seulement la vue interactive |
| JSON carte mentale | Données hiérarchiques pour D3, ECharts ou autres outils |
| CSV tableaux de données | Exports prêts pour tableur |
| PPTX diapositives | PowerPoint éditable, pas PDF seul |
| Révision d’une diapositive | Modifier une slide via un prompt en langage naturel |
| Sauvegarder le chat en notes | Persister Q&R ou conversations complètes dans le carnet |
| Texte intégral des sources | Accès programmatique au texte indexé |
| Profils multi-comptes | Changer de compte Google sans reconnexion |
| Import cookies navigateur | Réutiliser une session déjà connectée |
La couverture de génération est large : synthèses audio (4 formats, 50+ langues), vidéo (dont style cinematic), infographies, rapports, quiz, flashcards, cartes mentales et tableaux — souvent avec des réglages plus fins que sur le site.
Installation rapide
Utilisateurs CLI (agents inclus) :
pip install "notebooklm-py[browser]"
playwright install chromium
notebooklm login
notebooklm auth check --test --json
Bibliothèque seule (avec un storage_state.json préalable, sans Chromium) :
pip install notebooklm-py
Voir installation.md du projet pour le détail.
Parcours CLI : du carnet au podcast téléchargé
notebooklm create "AI Research"
notebooklm use <notebook_id>
notebooklm source add "https://en.wikipedia.org/wiki/Artificial_intelligence"
notebooklm source add "./paper.pdf"
notebooklm ask "What are the key themes?"
notebooklm generate audio "make it engaging" --wait
notebooklm download audio ./podcast.mp3
notebooklm generate quiz --difficulty hard
notebooklm download quiz --format markdown ./quiz.md
Utilisez --prompt-file pour les prompts longs qui dépassent la limite du shell.
Exemple Python API
import asyncio
from notebooklm import NotebookLMClient
async def main():
async with await NotebookLMClient.from_storage() as client:
nb = await client.notebooks.create("Research")
await client.sources.add_url(nb.id, "https://example.com", wait=True)
result = await client.chat.ask(nb.id, "Summarize this")
print(result.answer)
status = await client.artifacts.generate_quiz(nb.id)
await client.artifacts.wait_for_completion(nb.id, status.task_id)
await client.artifacts.download_quiz(nb.id, "quiz.json", output_format="json")
asyncio.run(main())
Le modèle async s’intègre bien dans des workflows asyncio plus larges.
Intégration Claude Code
Le dépôt inclut un Agent Skill. Deux chemins d’installation :
# Option 1 : installation CLI vers Claude Code / dossier .agents
notebooklm skill install
# Option 2 : écosystème skills
npx skills add teng-lin/notebooklm-py
Une fois configuré, vous pouvez dire à Claude Code : « Ajoute ce PDF à NotebookLM, génère un quiz difficile et exporte en Markdown » — l’agent exécute la CLI notebooklm au lieu de vous faire cliquer dans le navigateur.
Pour les développeurs qui construisent des workflows notebooklm ai tout en gardant toutes les capacités de génération notebooklm officiel, c’est aujourd’hui la voie la plus fluide.
Vous préférez éviter un environnement local ?
Playwright, cookies et évolutions d’API ne conviennent pas à tout le monde. Si vous voulez vous concentrer sur importer → questionner → générer sans rien installer, utilisez notre expérience NotebookLM en ligne :
Commencer à utiliser NotebookLM
Synthèse
notebooklm-py transforme NotebookLM d’un outil web à clics en moteur de connaissance scriptable et prêt pour les agents. 14,6k stars traduisent une demande réelle : chercheurs exportant des quiz par lot, créateurs enchaînant la génération de podcasts, développeurs pilotant imports et téléchargements depuis Claude Code en une phrase.
Gardez le web pour un usage léger au quotidien ; passez à Python + CLI + agents quand il faut automatiser et exporter ce que le navigateur ne propose jamais.
Projet : github.com/teng-lin/notebooklm-py