SlideAgent is an open-source, AI-driven presentation generator. Provide a topic or documents, and it produces an outline, slide content, and a themed deck with online preview and multi-format export.

Clone the repository
git clone https://github.com/Mrguanglei/SlideAgent.git
cd SlideAgent
Configuration (Optional)
Copy .env.example to .env and modify as needed:
cp .env.example .env
You can configure database and LLM API settings in the .env file.
Build and start services
docker-compose up --build -d
Access the application
| Provider/Series | Model | Status | Notes |
|---|---|---|---|
| Zhipu AI | GLM-5 | ✅ Supported | |
| GLM-4 Series | ✅ Supported | ||
| GLM-4-Plus | ✅ Supported | ||
| GLM-4-Flash | ✅ Supported | ||
| DeepSeek | DeepSeek-V3 | ✅ Supported | |
| DeepSeek-V3.2 | ✅ Supported | ||
| DeepSeek-R1 | ✅ Supported | ||
| MiniMax | MiniMax-Text Series | ✅ Supported | |
| ByteDance (Doubao) | Doubao-1.8 | ✅ Supported | |
| Doubao-pro | ✅ Supported | ||
| Intern (Shanghai AI Lab) | intern-s1-pro | ✅ Supported |
| Provider/Series | Model | Status | Notes |
|---|---|---|---|
| OpenAI | GPT-4o | 🚧 Not Tested | Compatibility mode pending verification |
| GPT-4o-mini | 🚧 Not Tested | ||
| Anthropic | Claude 3.5 Sonnet | 🚧 Not Tested | |
| Claude 3 Opus | 🚧 Not Tested | ||
| Alibaba Cloud | Qwen-Max | 🚧 Not Tested | |
| Qwen-Plus | 🚧 Not Tested | ||
| Baidu | ERNIE 4.0 | 🚧 Not Tested | |
| Moonshot AI | Kimi k1.5 | 🚧 Not Tested | |
| 01.AI | Yi-Large | 🚧 Not Tested | |
| Kimi | Kimi-2.5 | 🚧 Not Tested |
export_tool (FastAPI) runs independently and is started by Docker Compose/api/ppt/export -> export_tool /api/export_tool/pptxexport_tool/README.md for API usage and deployment notesCreate a .env file in the project root directory to override default configurations.
| Variable | Default Value | Description |
|---|---|---|
POSTGRES_DB | pptagent | Database name |
POSTGRES_USER | pptagent | Database username |
POSTGRES_PASSWORD | pptagent | Database password |
DATABASE_URL | postgresql+asyncpg://... | Database connection string |
PPTAGENT_API_BASE_URL | https://open.bigmodel.cn/api/paas/v4/ | PPT generation LLM API base URL |
PPTAGENT_API_KEY | your_api_key | PPT generation LLM API key |
PPTAGENT_MODEL | glm-4-flash | PPT generation LLM model |
KNOWLEDGE_LLM_BASE_URL | PPTAGENT_API_BASE_URL | Knowledge base LLM API base URL |
KNOWLEDGE_LLM_API_KEY | PPTAGENT_API_KEY | Knowledge base LLM API key |
KNOWLEDGE_LLM_MODEL | glm-4-flash | Knowledge base LLM model |
KNOWLEDGE_EMBEDDING_MODEL | embedding-3 | Knowledge base embedding model |
KNOWLEDGE_UPLOAD_DIR | /tmp/knowledge_uploads | Knowledge base upload directory |
| Home | Chat Generation |
|---|---|
![]() | ![]() |
| Knowledge Base | Global Search |
![]() | ![]() |
| Online Editing | Multiple Downloads |
![]() | ![]() |
.env.example # Environment variables example docker-compose.yml # Docker compose configuration README.md # Project documentation backend/ # Python backend (FastAPI) ├── services/ # Core services (export, sharing, knowledge base) ├── routers/ # API routes ├── database/ # Database models and CRUD ├── api_server.py # FastAPI server entry point ├── requirements.txt # Python dependencies └── Dockerfile frontend/ # React frontend (Vite) ├── src/ │ ├── pages/ # Page components (Home, Knowledge, ShareView) │ ├── components/ # Reusable components (Sidebar, Modals, etc.) │ ├── lib/ # API requests, utility functions │ └── types/ # TypeScript type definitions ├── package.json # Node.js dependencies ├── vite.config.ts # Vite configuration └── Dockerfile export_tool/ # Export service (PDF/PNG/HTML/PPTX) ├── app/ # FastAPI app and services ├── dom-to-pptx/ # HTML -> PPTX core library ├── fonts/ # Font assets for embedding └── Dockerfile
All forms of contributions are welcome! If you have any ideas or suggestions, feel free to submit Pull Requests or create Issues.
@misc{2026SlideAgent, title={SlideAgent: Enables Everyone to Easily Create Professional Presentations}, author={SlideAgent Contributors}, howpublished = {\url{https://github.com/Mrguanglei/SlideAgent}}, year={2026} }
This project is licensed under CC BY-NC-SA 4.0 (Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International).