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
.pptx
in 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
.csv
or.txt
with multiple topics
-
Click "Generate"
-
Download your
.pptx
deck
🧠 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 pyairtable
You 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