barun-saha/slide-deck-ai
Live in productionCo-create PowerPoint slide decks with AI -- online or on-premise!
Co-create PowerPoint slide decks with AI
barunsaha-slide-deck-ai.hf.space/
- Python100.0%
1 Review
Slide Deck AI is a mature open-source tool for creating PowerPoint presentations with large language models. Users can start with a topic or PDF, generate structured slide content, add images and icons, refine the result through follow-up instructions, and download an editable PPTX file. The project is available as a Streamlit app, Python library, command-line tool, PyPI package, and live Hugging Face demo.
The repository has several strong qualities. It supports many model providers through LiteLLM, including OpenAI, Anthropic, Gemini, Azure OpenAI, Cohere, OpenRouter, SambaNova, Together AI, and local Ollama models. This gives users meaningful choice over cost, privacy, and model quality. Offline model support is especially useful for people who do not want presentation content sent to a hosted model.
The code is separated into focused helpers for model access, PDF reading, image search, PowerPoint generation, text cleanup, icons, and chat history. There is also a large unit test suite covering the CLI, core workflow, PDF handling, image search, model helpers, text parsing, and PPTX generation. Current pull request checks run across Python 3.10 through 3.13, while CodeQL runs on pull requests, pushes, and a schedule. Recent security-related dependency updates are another positive sign.
The README is detailed and includes Python, CLI, Streamlit, Colab, hosted, and local setup paths. It also explains the model naming system, required API keys, offline mode, PDF support, and the role of Pexels images. The MIT license, Read the Docs site, example inputs, demo videos, and active release history make the project approachable.
The privacy wording should be made more precise. Slide Deck AI may not store API keys, but presentation prompts and extracted PDF text are sent to the chosen model provider in online mode. Image search terms are also sent to Pexels. Users should be told exactly what content leaves their computer, which services receive it, and how hosted demo sessions handle uploaded files and generated decks. The CLI should encourage environment variables instead of passing API keys directly on the command line, where they may remain in shell history.
Uploaded PDFs should be treated as untrusted files. The application should enforce file-size, page-count, extraction-time, and extracted-text limits. Tests should include malformed PDFs, encrypted files, blank pages, very large pages, and documents that produce no text. The app should also explain whether uploaded files are deleted after processing in the public demo.
Presentation quality could be tested more deeply. The current tests can confirm that PPTX files are created, but visual checks would catch overflowing text, clipped images, broken layouts, low contrast, and missing fonts. A small set of sample decks could be rendered to images in CI and compared against approved results. Accessibility features such as alt text, reading order, minimum font sizes, and contrast checks would also improve generated presentations.
The default dependency list is quite large because it includes Torch, Transformers, sentence-transformers, PyArrow, and image libraries. Splitting these into optional extras would give basic users a faster installation. The image downloader should also limit response size, verify content type, and handle cases where Pexels returns fewer photos than requested. Decks should preserve image source and license information so users can review attribution requirements.
Project maintenance would benefit from a security policy, contribution guide, code of conduct, issue templates, and pull request template. The package metadata also contains a placeholder author email that should be corrected. CI could add Ruff, package build checks, and a clean installation test.
Overall, Slide Deck AI is a useful and well-tested project with broad provider support, editable PowerPoint output, and strong documentation. Clearer privacy details, safer file handling, lighter installation options, and visual presentation tests would make an already successful tool even more dependable.
