https://github.com/stephanakkerman/chatgpt-podcast-generator
Use the output of your ChatGPT scheduled task as the input for NotebookLM and publish the podcast on Spotify
https://github.com/stephanakkerman/chatgpt-podcast-generator
chatgpt chatgpt-scraper nodriver notebooklm spotify spotify-podcast web-scraping
Last synced: 10 months ago
JSON representation
Use the output of your ChatGPT scheduled task as the input for NotebookLM and publish the podcast on Spotify
- Host: GitHub
- URL: https://github.com/stephanakkerman/chatgpt-podcast-generator
- Owner: StephanAkkerman
- License: mit
- Created: 2025-07-28T17:13:41.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-09-03T18:12:38.000Z (10 months ago)
- Last Synced: 2025-09-05T07:49:38.939Z (10 months ago)
- Topics: chatgpt, chatgpt-scraper, nodriver, notebooklm, spotify, spotify-podcast, web-scraping
- Language: Python
- Homepage:
- Size: 33.7 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ChatGPT to Spotify Podcast
This project automates turning a daily ChatGPT conversation into a podcast
episode and publishing it on Spotify.
The workflow is:
1. **ChatGPT** – fetch the latest message from a specified conversation.
2. **NotebookLM** – generate an audio summary from the text.
3. **Spotify** – upload the audio file as a new episode.
## Requirements
* Python 3.10+
* Google Chrome (used by [nodriver](https://github.com/cscorley/nodriver))
* Accounts for ChatGPT, Google NotebookLM and Spotify
Install Python dependencies:
```bash
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
## Configuration
Copy the example environment file and edit it with your ChatGPT conversation ID:
```bash
cp example.env .env
```
Update `.env`:
```env
conversation_id="YOUR_CONVERSATION_ID"
```
Trigger the setup script to install browser drivers and authenticate services:
```bash
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.
## Usage
Run the scheduler, which executes once daily at 05:00 UTC:
```bash
python src/main.py
```
To trigger the process immediately, use:
```bash
python src/main.py --now
```
For debugging, each component can also be invoked separately:
```bash
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
```
## License
This project is released under the [MIT License](LICENSE).