Install
openclaw skills install notebooklm-audio-generatorAutomates uploading multiple sources (files, URLs, YouTube, Drive, text) to a NotebookLM notebook, generating a deep dive audio overview in a preferred language, and downloading the result. It guides the user through notebook management, source addition, audio generation, and downloading using the notebooklm-mcp-cli.
openclaw skills install notebooklm-audio-generatorThis skill automates the process of using Google's NotebookLM to generate a deep-dive audio overview from various sources and download it to a specified directory.
This skill relies on the notebooklm-mcp-cli package and the epub2txt utility for .epub support. Before proceeding, ensure the user has them installed and authenticated.
If the user has not set up the CLI or the conversion tool, instruct them to do so first:
uv tool install notebooklm-mcp-cli
# OR
pip install notebooklm-mcp-cli
nlm login
epub2txt to be installed in your programs directory. Clone and initialize it using the following commands:
mkdir -p ~/Programs
cd ~/Programs
git clone https://github.com/SPACESODA/epub2txt.git
cd epub2txt
chmod +x run.sh
./run.sh # This initializes the virtual environment
When activated, follow these steps strictly in order. Do not skip steps.
Ask the user for the following information one by one to prepare for the generation:
.pdf, .txt, and .epub (which will be automatically converted). Use GUI pickers:
osascript -e "set theFiles to choose file with prompt \"Select your source file(s):\" multiple selections allowed true" ...zenity --file-selection --multiple ...OpenFileDialog.en (English - default), zh (Chinese), ja (Japanese), es (Spanish), fr (French), de (German).Crucial: Ask the user interactively to confirm they have provided/selected all the sources they wish to include before proceeding.
Use the notebook_create tool to create a new notebook with the provided name. Keep track of the notebook_id.
.txt first: cd ~/Programs/epub2txt && ./run.sh "<path>". Use the new .txt path.source_add(source_type="file", file_path="...").source_add(source_type="url", url="...").source_add(source_type="drive", document_id="...").wait=true to ensure sources are processed.studio_create tool to start the audio generation.
notebook_id to the ID.artifact_type to audio.audio_format to deep_dive.audio_length to long.zh).en), you MUST provide the following focus_prompt to encourage a longer, more detailed output:
"Please provide an extremely detailed deep dive. Analyze each source file thoroughly without omitting any details. The conversation should be as long as possible, aiming for over 40 minutes."
confirm to true.studio_status tool with action: status in a polling loop (using run_shell_command with sleep 300 between checks) until the status becomes completed.audio_url and artifact_id when finished. Crucial: If there are multiple audio artifacts returned in the status, always identify and note the latest one (the one with the most recent created_at timestamp).artifact_id of the latest audio, try using the download_artifact tool first to save the audio to the destination path with an .mp3 extension.file <output_path>.