NotebookLM Audio Generator
by @shiyanch
Automates uploading multiple sources (files, URLs, YouTube, Drive, text) to a NotebookLM notebook, generating a deep dive audio overview in a preferred langu...
clawhub install notebooklm-audio-generatorπ About This Skill
name: notebooklm-audio-generator description: Automates 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.
NotebookLM Audio Generator Skill
This 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.
Prerequisites
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.
Installation & Setup
If the user has not set up the CLI or the conversion tool, instruct them to do so first:
1. Install the NotebookLM CLI:
uv tool install notebooklm-mcp-cli
# OR
pip install notebooklm-mcp-cli
2. Authenticate:
nlm login
3. Install epub2txt (for .epub support):
The skill expects 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
Workflow
When activated, follow these steps strictly in order. Do not skip steps.
Step 1: Gather Information
Ask the user for the following information one by one to prepare for the generation:
1. Ask for a desired name for the new notebook. If not provided, use the default name "Audio Overview Notebook".
2. Source Selection: Ask the user to select their sources from the following options:
- Local Files: .pdf, .txt, and .epub (which will be automatically converted). Use GUI pickers:
- macOS: osascript -e "set theFiles to choose file with prompt \"Select your source file(s):\" multiple selections allowed true" ...
- Linux: zenity --file-selection --multiple ...
- Windows: PowerShell OpenFileDialog.
- Web/Video URLs: Ask the user to provide any website or YouTube URLs.
- Google Drive: Ask for Google Drive Document IDs.
3. Preferred Language: Ask the user for the preferred output language (BCP-47 code).
- Options: Provide common choices: en (English - default), zh (Chinese), ja (Japanese), es (Spanish), fr (French), de (German).
4. Download Destination: Use a GUI directory picker to select where the audio file should be saved.
Crucial: Ask the user interactively to confirm they have provided/selected all the sources they wish to include before proceeding.
Step 2: Create a New Notebook
Use the notebook_create tool to create a new notebook with the provided name. Keep track of the notebook_id.
Step 3: Upload Sources
.txt first: cd ~/Programs/epub2txt && ./run.sh "" . Use the new .txt path.
- Other Files: Use source_add(source_type="file", file_path="...").
- URLs/YouTube: Use source_add(source_type="url", url="...").
- Drive: Use source_add(source_type="drive", document_id="...").
wait=true to ensure sources are processed.Step 4: Generate Audio Overview
studio_create tool to start the audio generation.notebook_id to the ID.
- Set artifact_type to audio.
- Set audio_format to deep_dive.
- Set audio_length to long.
- Language: Use the user's selected BCP-47 code (e.g., zh).
- Custom Prompt: If the selected language is NOT English (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."
- Set confirm to true.Step 5: Monitor Generation Status
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).Step 6: Download the Audio
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.Step 7: Final Verification
file .βοΈ Configuration
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.
Installation & Setup
If the user has not set up the CLI or the conversion tool, instruct them to do so first:
1. Install the NotebookLM CLI:
uv tool install notebooklm-mcp-cli
# OR
pip install notebooklm-mcp-cli
2. Authenticate:
nlm login
3. Install epub2txt (for .epub support):
The skill expects 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