Banana Slides is an open-source AI-powered PPT generator designed to eliminate the friction of traditional slide creation. Built around the nano banana pro model, it enables users to generate professional presentations from simple text inputs—whether a single idea, an outline, or page-level descriptions. Unlike conventional AI PPT tools that rely on rigid templates and offer limited editing, Banana Slides allows natural language modifications, custom style referencing via uploaded images, and intelligent extraction of content from PDFs, Word docs, and Markdown files. It targets anyone who needs to create high-quality presentations quickly: students, educators, professionals, and designers alike. The project bridges the gap between speed and aesthetics by leveraging advanced vision-language models to render visually coherent slides with accurate typography, layout, and styling.
The tool stands out by supporting true ‘Vibe PPT’ workflows: users can point to elements on a slide and say things like ‘change this chart to a pie chart’ or ‘make the title bolder,’ and the system intelligently re-renders the slide with those changes. With full support for editable PPTX exports (beta), it goes beyond image-based outputs to preserve text and shape layers, enabling direct post-generation editing in PowerPoint or LibreOffice.
What You Get
- Natural Language PPT Generation - Generate complete slide decks from plain text prompts like ‘create a presentation on DeepSeek-V3.2 technology’ or ‘make a slide about the evolution of money,’ with AI automatically structuring content into logical slides.
- Style Reference via Image Upload - Upload any image or template to influence slide aesthetics; the AI copies color schemes, fonts, layouts, and visual tone for consistent design.
- Multi-Format Content Parsing - Automatically extract text, images, and tables from uploaded PDFs, DOCX, MD, or TXT files to populate slides with real content without manual copying.
- Vibe-Based Slide Editing - Edit slides using conversational commands like ‘make the chart bigger’ or ‘replace this image with a diagram,’ enabling iterative refinement without UI complexity.
- Editable PPTX Export (Beta) - Export slides as fully editable PowerPoint files with preserved text styles, fonts, colors, and layout—no rasterized images. Supports table recognition and precise positioning.
- No Watermarks, No Page Limits - Unlike competing tools, Banana Slides imposes no page limits or watermarks on free usage, allowing unlimited slide creation and export.
Common Use Cases
- Building a technical product pitch deck - A startup founder uploads a whitepaper PDF and types ‘turn this into a 10-slide investor deck with bold visuals’—the AI extracts key metrics, generates charts, and applies a modern tech aesthetic.
- Creating lecture slides from course notes - A university professor pastes their Markdown lecture notes and uploads a university branding image; Banana Slides generates visually consistent slides with diagrams and headings ready for class.
- Problem: Manual slide design takes hours → Solution: Describe your idea, get a polished deck in 90 seconds - A marketing manager needs to present quarterly results tomorrow. Instead of spending hours in PowerPoint, they paste bullet points and upload a company color palette image—AI generates the entire deck with proper data visualizations.
- Team workflow: Designers + non-designers co-create presentations - A product team uses Banana Slides to let engineers write slide content in plain text while designers upload brand templates—AI harmonizes both inputs into a unified, professional output.
Under The Hood
The project is a full-stack application designed to facilitate AI-powered slide creation and editing, integrating multiple AI providers and image processing capabilities into a unified platform. It combines a Python backend with Flask and a TypeScript frontend built with React and Vite, offering a modular and extensible architecture.
Architecture
The backend follows a layered structure with distinct modules for models, services, and controllers, promoting clear separation of concerns. The system implements design patterns such as strategy and factory to support flexible AI provider integration.
- The backend adopts a layered architecture with distinct modules for models, services, and controllers, enabling clear separation of concerns.
- The AI service layer implements a strategy pattern to support multiple providers (e.g., OpenAI, Google GenAI) for text and image processing.
- Modular organization is evident in the services directory, where each sub-module handles specific functionality like file parsing, export logic, and task management.
- Component interactions are managed through well-defined interfaces and utility functions, particularly in the frontend with reusable UI components.
Tech Stack
The project leverages Python and TypeScript to build a full-stack application with modern web and backend technologies. It integrates Flask for the backend API and React with Vite for the frontend, demonstrating a clear separation of concerns.
- Built primarily in Python with Flask for backend services, and TypeScript with React for the frontend, using Vite as the build tool.
- Heavily relies on Flask, SQLAlchemy, and Pydantic for backend data handling, while frontend uses React, Tailwind CSS, and Playwright for testing.
- Uses Vite for frontend development and Docker for containerization, with scripts for local setup and testing.
- Integrates both unit and end-to-end testing, including Playwright for UI tests and pytest for backend test suites.
Code Quality
The codebase reflects a mixed level of quality with reasonable test coverage and some structured error handling. While efforts toward modular design are evident, inconsistencies in code style and documentation remain.
- The project includes a comprehensive suite of integration and unit tests that cover key API flows, material handling, and project creation scenarios.
- Error handling is consistently implemented using try/except blocks across controllers and services, with appropriate logging and fallback behaviors.
- There are notable inconsistencies in naming conventions, particularly between Python and TypeScript files, with some modules lacking clear documentation.
- The presence of duplicated logic in file handling and migration scripts suggests some technical debt that could be addressed.
What Makes It Unique
This project stands out as a unified platform for AI-powered slide generation and editing, integrating diverse AI providers and image processing capabilities into a cohesive workflow. Its unique approach lies in the modular design of AI service providers and extensible architecture that supports multiple backends.
- The system enables seamless switching between AI providers through a strategy-based service layer, supporting extensibility and multi-provider workflows.
- A modular architecture allows for easy integration of new AI services or image processing features without disrupting existing functionality.
- The platform combines both backend and frontend components into a cohesive ecosystem, offering end-to-end functionality for slide creation and editing.