Banana Slides
AI-native PPT generator with Vibe editing, multi-LLM support, and fully editable PPTX export
Banana Slides is an open-source AI-powered presentation generator that transforms text prompts, uploaded documents, or style reference images into professional slide decks using the nano banana pro model. It addresses the core shortcomings of traditional AI PPT tools — template lock-in, poor visual quality, and inability to iterate — by letting users describe changes in plain language and watching the AI regenerate specific slides or entire decks on demand.
The application pairs a Python/Flask backend with a React/TypeScript frontend deployed via Docker Compose. It supports Gemini, OpenAI, Vertex AI, and a range of domestic Chinese LLM providers through a unified provider abstraction, so teams can swap models based on cost or quality requirements. Document parsing handles PDF, DOCX, Markdown, and plain text uploads, extracting text and embedded images as generation inputs.
Its standout capability is the editable PPTX export pipeline: rather than producing a static image-based file, the system uses AI-powered inpainting and a text attribute extraction registry to isolate each text element, recover its visual properties (font size, color, bold, LaTeX formulas), and recompose a PowerPoint file where every element is independently editable. Combined with a CLI interface, agent skills integration, and TTS-based video narration export, Banana Slides spans a broader workflow than most AI presentation tools.
The project ships with multi-architecture Docker images (amd64 and arm64), an internationalized UI with full dark mode, and a growing ecosystem of deployment options including one-click cloud deployment on Chinese hosting platforms.
What You Get
- Vibe-based natural language editing - Users modify slides by typing commands like ‘change this chart to a pie chart’ or ‘make the title section more concise’, and the AI regenerates targeted regions or entire pages with precise visual adjustments without requiring UI menus.
- Editable PPTX export with text style recovery - Exports PowerPoint files where every text element is independently editable, with font size, color, bold state, and LaTeX formula annotations reconstructed by the AI from the generated slide images.
- Multi-format document parsing - Automatically extracts text, images, and table data from uploaded PDF, DOCX, Markdown, and TXT files, making existing content instantly usable as slide generation input without manual reformatting.
- Style reference via image upload - Users upload any image as a visual reference to guide the AI in matching typography, color palette, and layout aesthetics, enabling consistent brand alignment across generated decks.
- Asset Toolbox with inpainting modes - A dedicated material editor provides full-image editing, marquee-based overlay or replacement, and smart AI erasure, all accessible from a single interface for post-generation refinements.
- TTS video narration export - Converts finished presentations into MP4 videos with AI-generated spoken narration and subtitles in multiple languages and voice styles, enabling one-click creation of explainer or demo videos.
- CLI and agent skills integration - A command-line interface and agent skill framework allow automated slide generation, scripting of complex workflows, and integration with external tools without touching the web UI.
Common Use Cases
- Creating investor pitch decks - A startup founder uploads a business plan PDF, generates a visually coherent slide deck in minutes, uses Vibe editing to emphasize key metrics on specific slides, then exports to editable PPTX for final polish before the meeting.
- Producing educational course materials - A teacher writes a lesson outline in plain text, uploads a reference image from a textbook to set the visual style, and generates an illustrated slide deck that students can follow without any design work from the educator.
- Building product demo videos for sales - A product manager pastes a feature list and competitor slide examples as references, generates branded slides, then uses the TTS narration export to produce a polished demo video ready for async sharing with clients.
- Thesis defense presentations - A graduate student uploads their research paper PDF, generates a structured slide summary with key findings and charts, then uses natural language editing to refine the visual hierarchy before the defense without manually working in PowerPoint.
- Rapid content repurposing - A content creator takes a long-form article, uploads it as a Markdown file, and generates a shareable slide-based summary formatted for social platforms, iterating on layout with voice commands until satisfied.
Under The Hood
Architecture Banana Slides follows a modular monolith architecture split across two independently containerized units: a Python/Flask backend and a React/TypeScript frontend, orchestrated via Docker Compose with health checks and persistent volumes. The backend organizes code into controllers, services, and models layers, with the service tier handling AI provider orchestration, file parsing, task management, and the image editability pipeline. A factory-based dependency injection pattern governs the image editability subsystem, where abstract interfaces define inpainting providers and text attribute extractors, keeping concrete implementations interchangeable. The main architectural tension is Flask request context leakage into service classes, which couples business logic to the web framework and constrains unit testing. The overall design prioritizes operational simplicity and self-hosting ease over formal architectural purity.
Tech Stack The backend runs Python 3.10+ on Flask with SQLAlchemy as the ORM and Alembic/Flask-Migrate for schema management against a SQLite database with WAL mode enabled for concurrency. The frontend uses React 18 with TypeScript in strict mode, Zustand for global state, React Router for navigation, and Vite as the build tool, with Tailwind CSS for styling and i18next providing Chinese/English bilingual support with full dark mode. The AI integration layer abstracts Google GenAI, OpenAI, Vertex AI, and LazyLLM-backed domestic providers (Doubao, Qwen, GLM, SiliconFlow) behind a unified provider interface. Image processing relies on Pillow, OpenCV, and PyMuPDF for rendering and analysis, with MarkItDown handling multi-format document extraction and KaTeX rendering inline LaTeX in the editor. The full stack ships as multi-architecture Docker images (amd64 and arm64) with pre-built images on Docker Hub.
Code Quality The project maintains comprehensive test coverage across unit, integration, and end-to-end layers. The backend uses pytest with conftest-based fixtures and extensive mocking for AI provider calls, covering edge cases like partial export failures, Codex retry behavior, and task polling correctness. The frontend combines Vitest for unit tests with Playwright for E2E scenarios, including i18n-aware test configurations. Error handling is generally explicit: AI calls use tenacity retry decorators with configurable limits, batch operations use Promise.allSettled to handle partial failures gracefully, and path traversal vulnerabilities in file operations are actively sanitized. Bilingual code comments appear throughout the backend, reflecting the project’s Chinese-origin open-source community, and naming conventions are intent-driven across both codebases.
What Makes It Unique The most technically distinctive contribution is the image editability pipeline: instead of treating AI-generated slides as opaque images, the system applies AI-powered inpainting to remove text regions cleanly, then uses a text attribute extraction registry — built around a vision model caption approach — to reconstruct font color (including LaTeX formulas), size, and weight from each isolated text element before reassembling the result into a structured PPTX file. This bridges the typical gap between AI visual generation and structured document editing. The Vibe editing paradigm extends this further by letting users issue natural language commands against specific page regions, triggering targeted regeneration rather than full-deck rewrites. The addition of a CLI with agent skills integration and one-click TTS narration video export positions the tool as a workflow automation layer rather than just a generation endpoint.
Self-Hosting
Banana Slides is released under the GNU Affero General Public License v3.0 (AGPL-3.0). In plain terms, this means you can freely use, modify, and self-host the application for personal study, research, education, and non-profit purposes without any restrictions. However, if you deploy a modified version of Banana Slides as a network service — meaning you make it accessible to users over the internet — AGPL-3.0 requires you to make your complete modified source code available under the same license. For commercial use cases, including building a paid service on top of the codebase, you would need to either comply fully with the AGPL’s source disclosure requirements or negotiate a separate commercial license with the maintainer.
Operationally, running Banana Slides yourself requires Docker with Docker Compose, API keys for at least one supported LLM provider (Gemini, OpenAI, Vertex AI, or domestic Chinese vendors via AIHubMix), and optionally a Baidu OCR API key for enhanced editable PPTX export. The application stores data in a SQLite database with WAL mode and maintains uploaded files on the local filesystem via persistent Docker volumes, so you are responsible for backups, data retention, and storage scaling. The backend serves the API on port 5011 and the frontend on port 3011 by default, and the project provides multi-architecture Docker images (amd64 and arm64) alongside a one-click deployment option on Rainyun cloud for users who want a faster start.
There is a hosted demo at bananaslides.online and a public documentation site, but the project does not offer a managed SaaS tier with SLAs, support contracts, or cloud backups. Compared to running the hosted demo or using a commercial AI presentation platform, self-hosting requires you to manage uptime, monitor for new releases, and handle database migrations manually via Alembic. The project is actively maintained with approximately 80 commits per month and publishes pre-built Docker images that track the main branch, so staying current is straightforward — but the operational responsibility remains entirely with the self-hoster.
Related Apps
AutoGPT
Automation · Productivity · AI Assistants
Build, deploy, and run autonomous AI agents that automate complex multi-step workflows using a visual block-based graph editor.
AutoGPT
OtherDify
No Code Platforms · AI Development · Developer Tools
Visual LLM workflow platform with RAG pipelines, agent capabilities, and model management for building production AI applications.
Dify
OtherComfyUI
AI Design Tools · AI Development
The most powerful node-based AI workflow engine for creating images, video, 3D models, and audio with full control over every generation step.