An application that leverages AI to automatically generate professional PowerPoint presentations from text descriptions, voice input, and reference documents.

- Multi-modal Input: Create presentations from text descriptions, voice recordings, or uploaded documents
- AI-powered Content Generation: Uses Mistral AI to generate structured, coherent presentation content
- Professional Slide Design: Automated creation of visually appealing slides with proper formatting and layout
- Multiple Themes: Choose from different presentation styles
- Voice-to-Text: Record and transcribe your presentation ideas using Google's speech recognition
- Document Analysis: Extract content from TXT, PDF, DOCX, CSV, and XLSX files to incorporate into presentations
- Customizable Slide Count: Control the approximate number of slides in your presentation
- Python 3.8+
- pip package manager
-
Clone this repository:
git clone https://github.com/CodexAbhi/QuickSlide2 cd QuickSlide2
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.env
file in the project root with your API keys:MISTRAL_API_KEY=your_mistral_api_key OPENAI_API_KEY=your_openai_api_key
You can obtain these API keys from:
Run the Streamlit app:
streamlit run app.py
The application will be available at http://localhost:8501
in your web browser.
- Enter your presentation topic or description in the text area
- Optionally:
- Record a voice description
- Upload a reference document (TXT, PDF, DOCX, CSV, XLSX)
- Configure presentation options:
- Select whether to generate detailed content
- Choose a presentation theme
- Set the approximate slide count
- Click "Generate Presentation"
- Download the PPTX file when it's ready
app.py
: Main Streamlit applicationmistral_client.py
: Client for interacting with Mistral AI APIppt_generator.py
: PowerPoint generation using python-pptxrequirements.txt
: Project dependencies
The PowerPoint generator takes structured content from the AI and creates visually appealing slides with proper formatting, including:
- Title slides
- Section headers
- Content slides with bullet points
- Closing slides
The application uses Mistral AI's large language model to:
- Parse user input for presentation requirements
- Structure content into logical sections
- Generate detailed bullet points
- Create a cohesive presentation flow
- Voice recordings are transcribed using Google's speech recognition
- Document analysis extracts content from various file formats to enhance presentations
streamlit
python-pptx
openai
python-dotenv
docx2txt
PyPDF2
pandas
audio-recorder-streamlit
SpeechRecognition
- Add image generation capabilities using DALL-E or Stable Diffusion
- Implement custom template uploads
- Add collaborative editing features
- Support for more presentation formats (beyond PPTX)
- Enhance the UI with preview capabilities
- Mistral AI for the content generation API
- Google for speech recognition capabilities
- Streamlit for the web application framework
- Python-PPTX for PowerPoint generation capabilities