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.txtCopy the example environment file and edit it with your ChatGPT conversation ID:
cp example.env .envUpdate .env:
conversation_id="YOUR_CONVERSATION_ID"Trigger the setup script to install browser drivers and authenticate services:
python src/first_time.pyDuring 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.pyTo trigger the process immediately, use:
python src/main.py --nowFor 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 SpotifyThis project is released under the MIT License.