AI-SlideMaker / README.md
usmanyousaf's picture
Update README.md
4400933 verified
---
title: AI-SlideMaker
emoji: 🏢
colorFrom: yellow
colorTo: green
sdk: streamlit
sdk_version: 1.39.0
app_file: app.py
pinned: false
license: mit
---
# AI-SlideMaker
We spend a lot of time creating slides and organizing our thoughts for presentations. With AI-SlideMaker, you can co-create slide decks on any topic using Generative Artificial Intelligence. Describe your topic, and let AI-SlideMaker generate a PowerPoint slide deck for you—it's that simple!
AI-SlideMaker is powered by [Mistral-Nemo-Instruct-2407](https://huggingface.co./mistralai/Mistral-Nemo-Instruct-2407).
## Update (v4.0)
- Legacy AI-SlideMaker allowed one-shot generation of slide decks based on inputs.
- AI-SlideMaker *Reloaded* enables an iterative workflow with a conversational interface, allowing you to create and refine presentations interactively.
## Process
AI-SlideMaker works in the following way:
1. **Initial Slide Generation**: Given a topic description, AI-SlideMaker uses Mistral-Nemo-Instruct to generate the *initial* content of the slides. The output is generated as structured JSON data based on a pre-defined schema.
2. **Image Search**: Using keywords from the JSON output, it searches and downloads relevant images with a certain probability.
3. **Slide Creation**: It uses the `python-pptx` library to generate slides based on the JSON data. Users can choose from three pre-defined presentation templates.
4. **Refinement**: Users can provide additional instructions to *refine* the content, such as adding new slides or modifying existing ones.
5. **Download**: Each time a presentation is generated, a download button is provided for users to download the PowerPoint file.
## Known Issues
- **Connection timeout**: Requests sent to the Hugging Face Inference endpoint might time out. If this happens, try again later.
- **Text Input Limit**: If the pasted text exceeds the maximum number of characters allowed in the input box, it will not paste correctly.
## Local Development
To run this project locally, you need to provide the following API keys:
- `HUGGINGFACEHUB_API_TOKEN`: To use the Hugging Face Inference API.
- `PEXEL_API_KEY`: To search and download images.
Add these keys to your environment variables or a `.env` file. Visit the respective websites to obtain these API keys.
## Acknowledgment
This is the first module of a final year project (FYP) developed under the supervision of Ma'am Fouzia.