This project automates turning a daily ChatGPT conversation into a podcast episode and publishing it on Spotify.
The workflow is:
- ChatGPT – fetch the latest message from a specified conversation.
- NotebookLM – generate an audio summary from the text.
- Spotify – upload the audio file as a new episode.
- Python 3.10+
- Google Chrome (used by nodriver)
- Accounts for ChatGPT, Google NotebookLM and Spotify
Install Python dependencies:
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Copy the example environment file and edit it with your ChatGPT conversation ID:
cp example.env .env
Update .env
:
conversation_id="YOUR_CONVERSATION_ID"
Trigger the setup script to install browser drivers and authenticate services:
python src/first_time.py
During the first run, browser windows will appear for each service so you can log in manually. Authentication cookies are then saved for subsequent runs.
Run the scheduler, which executes once daily at 05:00 UTC:
python src/main.py
To trigger the process immediately, use:
python src/main.py --now
For debugging, each component can also be invoked separately:
python src/chatgpt_pull.py # fetch latest ChatGPT message
python src/notebooklm_gen.py # generate NotebookLM audio
python src/spotify_upload.py # upload audio to Spotify
This project is released under the MIT License.