Create stunning PowerPoint presentations 🎯 from simple topic prompts using ChatGPT + DALL·E + Python-PPTX. Whether you're working from a GUI, terminal, or a browser, SlideGen has you covered with three flavors:
- 🧠 GPT-driven content generation
 - 🎨 AI-generated images per slide
 - 🖼️ Clean and modern PPT export
 
slidegen/
├── slidegen_airtable_pptx.py        # Airtable-powered script-based generation
├── slidegen_gui_tkinter.py          # Desktop GUI using Tkinter
├── slidegen_streamlit_app.py        # Web app using Streamlit
└── README.md                        # This documentation
| Feature | Description | 
|---|---|
| 🧠 GPT-4 Powered Slides | Generate intelligent slide content using OpenAI's Chat API | 
| 🎨 DALL·E Slide Illustrations | Add an AI-generated image per slide for visual engagement | 
| 🧾 PowerPoint Export | Export final output in .pptx format using python-pptx | 
| 🖥️ GUI + CLI + Web Modes | Choose your preferred interface: terminal, desktop, or web | 
| 📁 Batch Mode | Upload a .txt or .csv file with multiple topics for bulk deck creation | 
| 📥 Download-Ready Decks | One-click download buttons in GUI and Streamlit modes | 
| 🧑💼 Airtable Integration | Automate slide generation using Airtable records | 
| 📋 Logging & Debugging | Real-time logs and error messages | 
An easy-to-use interface for local desktop users.
- Run: 
python slidegen_gui_tkinter.py - Enter your topic (e.g., 
Impact of AI on Healthcare) - Click "Generate Slides"
 - Presentation saved as a 
.pptxin the same directory 
✅ Best for: quick offline slide creation
📎 Dependencies: openai, python-pptx, tkinter, Pillow
Interactive web interface that works in your browser.
- 
Run:
streamlit run slidegen_streamlit_app.py - 
Choose:
- Enter a topic
 - Upload 
.csvor.txtwith multiple topics 
 - 
Click "Generate"
 - 
Download your
.pptxdeck 
🧠 DALL·E-generated images per slide are automatically embedded.
✅ Best for: teaching, live demos, bulk generation
📎 Dependencies: openai, streamlit, python-pptx, Pillow, requests
Ideal for users managing topics via Airtable bases.
- Configure Airtable API key & Base/Table IDs
 - Run: 
python slidegen_airtable_pptx.py - Script fetches new records, generates decks, and updates Airtable with links/status
 
✅ Best for: workflows, automation, teams
📎 Dependencies: openai, requests, python-pptx, pyairtable
Make sure to get your keys from:
- 🔑 OpenAI API Key
 - 🔑 Airtable API Key (if using Airtable mode)
 
You can set them as environment variables:
export OPENAI_API_KEY="your-openai-key"
export AIRTABLE_API_KEY="your-airtable-key"Or directly in the script (not recommended for production).
All modules can be installed via pip:
pip install openai python-pptx streamlit pillow requests pyairtableYou may also use a requirements.txt file:
pip install -r requirements.txt- “History of Machine Learning”
 - “Benefits of Daily Exercise”
 - “Solar Power: Past, Present & Future”
 - “Climate Change and Policy Response”
 
- 
For GUI:
python slidegen_gui_tkinter.py
 - 
For Streamlit:
streamlit run slidegen_streamlit_app.py
 
- Push this repo to GitHub
 - Go to https://share.streamlit.io
 - Connect GitHub repo
 - Set environment variable: 
OPENAI_API_KEY - Click Deploy
 
- ✨ Add themes or templates to your PPTs
 - 🌐 Add multilingual support via GPT prompt tuning
 - 🧵 Add narration using TTS libraries like gTTS or ElevenLabs
 - 🧠 Add embeddings and search to reuse past topics
 - 📨 Integrate with email for auto-sending decks
 
| Issue | Fix | 
|---|---|
OpenAI quota exceeded | 
Ensure billing is active or retry after cooldown | 
Streamlit app crashes | 
Check for large file uploads or out-of-memory issues | 
No images in PPT | 
Ensure DALL·E prompt was successful; fallback to placeholder image | 
Tkinter GUI not opening | 
Ensure you’re not running in headless terminal (like WSL) | 
This project is licensed under the MIT License. Feel free to fork, remix, and build on it.
Built by Sarthak Sachdev with love💘
Have suggestions or want to collaborate?
- Email: Feel free to mail anytime
 - portfolio website: Checkout my other projects here