A multimodal AI system that autonomously converts static PDF documents into professional PowerPoint presentations with synchronized, AI-generated audio narration.
Powered by an 8-stage agentic pipeline orchestrated with LangGraph and presented through a sleek Streamlit web interface, this tool delivers complete end-to-end automation.
The Automated Multimodal Agent is an advanced artificial intelligence system designed to autonomously convert static PDF documents into dynamic, narrated PowerPoint presentations. Utilizing a sophisticated multi-agent orchestration framework, the system breaks down the complex task of presentation creation into specialized micro-tasks. By seamlessly integrating document parsing, natural language processing (NLP), vector-based semantic retrieval, and Text-to-Speech (TTS) synthesis, the project significantly reduces the time and manual effort required to create professional, accessible, and engaging multimedia presentations.
You can explore it here: π https://medium.com/@mahmoudalyosify/from-static-pdf-to-talking-slides-automated-multimodal-agent-9b62c9a992c3
You can explore the full project details here:
-
π Intelligent PDF Parsing
Extracts text, layout, and structural information seamlessly. -
π§© Semantic Chunking
Organizes content into meaningful blocks for logical slide flow. -
π Vector-Based Retrieval
Utilizes FAISS embeddings for intelligent content mapping. -
π¨ Automated Slide Planning
Designs optimal slide layouts and content distribution. -
βοΈ Content Generation
Synthesizes dense text into concise, professional presentation points. -
π AI Voice Narration
Generates natural-sounding TTS audio scripts and synchronized.wavfiles. -
π Professional Web UI
Real-time progress tracking, error handling, and file management via Streamlit.
The system deviates from monolithic scripts by utilizing an Agentic Workflow.
Eight specialized agents handle specific micro-tasks, all coordinated by a master LangGraph orchestrator.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Streamlit Web UI β
β (Upload PDF β Monitor Progress β Download PPTX+Audio) β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β LangGraph StateGraph Orchestrator β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β [1] PDF Parser β Extract blocks β
β [2] Chunker β Create semantic chunks β
β [3] Vector DB β Generate embeddings (FAISS) β
β [4] Planner β Design slide layout β
β [5] Generator β Synthesize presentation text β
β [6] Script Agent β Write narration script β
β [7] TTS Agent β Generate audio (.wav) β
β [8] PPTX Builder β Assemble final PowerPoint β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Python 3.10+
- 8GB+ RAM (16GB recommended)
- 5GB Disk Space (for dependencies and local models)
Clone the repository and set up your virtual environment:
git clone https://github.com/yourusername/Automated-Multimodal-Agent-PDF-to-Narrated-PowerPoint.git
cd Automated-Multimodal-Agent-PDF-to-Narrated-PowerPoint
# Create and activate virtual environment
python -m venv venv
# On macOS / Linux
source venv/bin/activate
# On Windows
venv\Scripts\activate
# Install dependencies
cd orchestrator
pip install -r requirements.txtLaunch the Streamlit application:
streamlit run app.pyThen open your browser:
http://localhost:8501
Upload your PDF, click Generate, and download your narrated PowerPoint when complete!
If you prefer the CLI version:
python "Agentic Systems/Master Orchestrator Agent/master_agent.py"Frameworks
- LangGraph
- Streamlit
- Pydantic
NLP & ML
- HuggingFace Transformers
- PyTorch
- Sentence-Transformers
- scikit-learn
Document Processing
- PyMuPDF (fitz)
- python-pptx
Vector Search
- FAISS
- NumPy
Audio Synthesis
- pyttsx3
- SoundFile
All generated files are neatly organized in the output/ directory, timestamped for your convenience:
output/
βββ 20260223_120000/
βββ YourDocument_Narrated.pptx
βββ audio/
β βββ slide_1.wav
β βββ slide_2.wav
βββ metadata/
βββ chunks.json
βββ embeddings.json
βββ logs.txt
| PDF Size | Est. Processing Time | PPTX Size | Total Audio |
|---|---|---|---|
| 5β10 pages | 3β4 min | 2β3 MB | ~60 sec |
| 10β20 pages | 6β8 min | 5β8 MB | ~120 sec |
| 20β50 pages | 10β15 min | 10β15 MB | ~240 sec |
β‘ Utilizing an NVIDIA GPU with CUDA improves embedding generation speeds by approximately 30%.
- Async execution for parallel pipeline stages
- Integration with advanced cloud TTS providers (ElevenLabs, Azure)
- Multi-language support and translation capabilities
- Custom corporate
.potxtemplate support - Vision-Language Models (VLMs) for chart/image extraction
- Mahmoud Alyosify
- Mirna Embaby
Distributed under the MIT License. See LICENSE for more information.
For extensive documentation, please refer to:
README_COMPLETE.mdSYSTEM_COMPLETE.mdorchestrator/markdown files
If you find this project useful:
- β Star the repository
- π Open issues for bugs
- π Submit pull requests
Automate. Narrate. Elevate.