🍌 Banana Slides: Turning Ideas Into Presentation Pages
— A More Natural Way to Create AI-Generated PPTs
Creating a presentation often feels more exhausting than it should.
Most people don’t get stuck because they lack ideas. They get stuck because the process of formatting, arranging text boxes, picking colors, searching for visuals, and maintaining a consistent layout consumes the energy they would rather spend refining their message.
Banana Slides aims to shift the focus back to what matters: 「expressing ideas」, not wrestling with formatting.
Powered by the nano banana pro 🍌 model, the system generates visually consistent slides from ideas, outlines, or detailed page descriptions. You can upload your own materials, fine-tune individual pages, and converse with the tool using natural language. Over time, your presentation grows in the same organic way that real creative work does.
This article takes you through Banana Slides in a natural, human-friendly tone.
The goal is not hype — but clarity.
Table of Contents
-
Why this tool matters -
Who benefits from Banana Slides -
Examples of generated slides -
Core capabilities explained clearly -
Three creation modes -
File parsing and material extraction -
Export formats -
How to deploy (Docker or source) -
Technical architecture -
Project structure -
Frequently asked questions -
How to contribute -
Closing thoughts
Why this tool matters
The typical AI presentation tools today promise “one-click PPT generation.”
But after trying them, many users encounter several recurring frustrations:
-
Templates are rigid, and customization options are limited. -
Multiple rounds of modification often break the layout. -
Slides tend to look similar, regardless of topic. -
Images feel generic or mismatched. -
Design consistency is unreliable. -
Exported files sometimes lack meaningful editability.
These issues stem from a core problem:
❝
The creative process and the formatting process are entangled in ways that constrain both.
❞
Banana Slides adopts a different philosophy:
-
「Structure」 → handled by LLMs -
「Visual design」 → generated by nano banana pro -
「Editing」 → performed through natural language -
「Materials」 → freely uploaded by the user -
「Export」 → proper PPTX and PDF formats
This separation mirrors how humans naturally work when preparing a presentation: outline first, design later, adjust continuously.
Who benefits from Banana Slides
All usage scenarios below originate from the README, rewritten in a more conversational tone.
🐣 Beginners
Anyone unfamiliar with design tools can still produce a professional-looking deck.
A single sentence can generate a full outline and slide visuals.
👔 PPT professionals
Designers can use generated pages as layout inspiration.
Uploading custom references also allows the AI to follow specific styles.
👨🏫 Teachers
Course notes, screenshots, diagrams, and text can be combined into clear, visually consistent lecture slides.
📖 Students
Assignments, project reports, and quick presentations become much easier when the tool handles structure and layout.
💼 Working professionals
Product briefs, proposals, status updates, and business presentations can be developed much faster than building them manually.
Examples of generated slides
Below are sample outputs from the README. These examples show how the model handles color harmony, layout consistency, and clarity.
| 「The Evolution of Money」 | 「DeepSeek-V3.2 Technical Overview」 |
| 「Human Impact on the Environment」 | 「Smart Production Line for Ready-Made Meals」 |
These examples highlight how the model maintains readability and aesthetic consistency across different topics.
Core capabilities explained clearly
The README lists many features.
Below, each item is rewritten in a more natural, detailed, human-friendly tone while preserving all original information.
🍌 1. Generate an entire slide deck from a single idea
You don’t need to start with a complex outline.
Even a simple phrase — like “introduction to renewable energy” — is enough for the system to generate:
-
a clean outline -
page-level descriptions -
visual slide pages
This removes the friction usually associated with starting a presentation.
🔄 2. Three creation paths to match different workflows
People think differently, so the tool supports three modes:
-
「Start from an idea」
You describe a broad concept, and the system expands it. -
「Start from an outline」
Useful for users who have content ready but want structure and visuals. -
「Start from page descriptions」
Ideal for those who want precise control.
🔍 3. Automatic text and link extraction
If your input text contains:
-
Markdown image links -
Image URLs -
Mixed formats
Banana Slides extracts them automatically and uses them in slide generation.
🔗 4. File upload and parsing
Supported file formats:
-
pdf -
doc -
docx -
md -
txt
Text and image content are extracted for downstream generation.
This is particularly useful when working with reports, academic documents, or research notes.
🧾 5. Uploadable custom materials
You may upload:
-
reference images -
old PPT screenshots -
example layouts -
style guides
The system uses these materials as stylistic or layout hints.
🧙♀️ 6. AI-assisted structuring
The large language model generates:
-
hierarchical outlines -
organized slide structures -
per-page narrative descriptions
This creates a strong foundation for visual generation.
🖼️ 7. High-quality slide images
Using nano banana pro 🍌, the generated pages maintain:
-
coherent layout -
readable text -
unified color palettes -
consistent stylistic direction
This improves the final viewing experience.
🎙️ 8. Natural-language editing
You can request changes conversationally, such as:
❝
“Make the title on page 3 more prominent.”
“Darken the background of slide 6.”❞
The system updates only that specific page unless instructed otherwise.
📊 9. One-click export
Export formats:
-
「PPTX」 — suitable for further editing -
「PDF」 — ideal for sharing or presenting
Slides are generated in 「16:9」 by default.
Three creation modes
This section reorganizes the README’s descriptions into a clearer workflow.
1. From concept to slides
Provide a simple idea → AI generates outline → slides → page visuals.
2. From outline
Paste an outline → AI expands it into slide-level descriptions.
3. From detailed descriptions
For advanced users who know exactly what each page should contain.
File parsing and material extraction
The system supports intelligent parsing of:
-
text -
images -
diagrams
From formats such as:
-
pdf -
doc / docx -
md -
txt
It extracts:
-
paragraphs -
bullet points -
images -
structural cues
This ensures a smooth transition from source materials to slide generation.
Export formats
| Format | Purpose |
|---|---|
| 「PPTX」 | Fully editable in PowerPoint |
| 「PDF」 | Suitable for quick sharing or printing |
Both formats are generated in 16:9 layout.
How to deploy (Docker or source)
Below is a rewritten but faithful version of the README deployment instructions.
Deployment with Docker Compose (recommended)
0. Clone the repository
git clone https://github.com/Anionex/banana-slides
cd banana-slides
1. Create the .env file
cp env.example .env
Edit fields such as:
GOOGLE_API_KEY=your-google-api-key-here
GOOGLE_API_BASE=https://generativelanguage.googleapis.com
2. Start the services
docker compose up -d
3. Access the application
-
Frontend: http://localhost:3000 -
Backend API: http://localhost:5000
4. View logs
docker compose logs -f
docker compose logs -f backend
docker compose logs -f frontend
5. Stop services
docker compose down
Deployment from source
Requirements
-
Python 3.10+ -
uv package manager -
Node.js 16+ -
Valid Google Gemini API key
Backend setup
0. Clone repository
git clone https://github.com/Anionex/banana-slides
cd banana-slides
1. Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
2. Install dependencies
uv sync
3. Create .env
cp .env.example .env
Then fill fields such as:
GOOGLE_API_KEY=your-api-key-here
GOOGLE_API_BASE=https://generativelanguage.googleapis.com
PORT=5000
4. Start backend
cd backend
uv run python app.py
Visit:
http://localhost:5000/health
Frontend setup
1. Enter frontend folder
cd frontend
2. Install dependencies
npm install
3. Start development server
npm run dev
Frontend will connect to http://localhost:5000 by default.
Technical architecture
Rewritten for clarity, keeping all original details.
Frontend stack
-
React 18 -
TypeScript -
Vite 5 -
Zustand -
React Router v6 -
Tailwind CSS -
dnd-kit -
Lucide React -
Axios
Frontend responsibilities:
-
UI rendering -
Project editing (outline, descriptions, preview) -
Drag-and-drop operations -
Material upload -
API interactions
Backend stack
-
Python 3.10+ -
Flask 3.0 -
SQLite + SQLAlchemy -
Google Gemini API -
python-pptx -
Pillow -
ThreadPoolExecutor -
Flask-CORS
Backend responsibilities:
-
AI calls -
File parsing -
Slide structuring -
PPTX/PDF generation -
Project/task management
Project structure
The following representation preserves the original hierarchy while describing each part naturally.
banana-slides/
├── frontend/ # React-based user interface
│ ├── src/
│ │ ├── pages/ # Main app pages (Home, OutlineEditor, etc.)
│ │ ├── components/ # Reusable UI components
│ │ ├── store/ # Zustand global state
│ │ ├── api/ # Axios client + endpoints
│ │ ├── types/ # Shared TypeScript definitions
│ │ └── utils/ # Helper functions
│ └── public/
│
├── backend/ # Flask backend
│ ├── models/ # SQLite data models
│ ├── services/ # AI, file parsing, export logic
│ ├── controllers/ # HTTP routes
│ ├── utils/ # Validation + response helpers
│ └── instance/ # Generated SQLite DB
│
├── uploads/ # Uploaded templates and generated slides
├── docker-compose.yml
├── demo.py
├── gemini_genai.py
└── README.md
Frequently asked questions
These questions are derived from real user behaviors and the README’s content.
「1. Can the generated PPT be modified later?」
Yes. The exported PPTX file is fully editable in PowerPoint.
「2. Are the slide designs consistent across pages?」
Yes.
nano banana pro 🍌 maintains stable style, layout, and color coherence.
「3. Can I edit just one slide instead of regenerating the whole deck?」
Yes.
You can request changes to any page using natural language.
「4. Can I upload my own reference images or PPT screenshots?」
Yes.
These materials influence the style and layout of the generated slides.
「5. Does file parsing support images extracted from PDFs?」
Yes.
Both text and images in PDFs are parsed.
「6. Do I need special hardware to run the system?」
No special hardware is required.
A standard server with Python + Node.js (or Docker) is sufficient.
A valid Gemini API key is necessary.
How to contribute
The project welcomes:
-
Issues -
Feature suggestions -
Pull requests -
Documentation improvements
All contributions are appreciated.
Closing thoughts
Banana Slides rethinks the way presentations are created.
Instead of forcing users into rigid templates or fully automated workflows, it offers a balanced approach:
-
clear structure -
flexible visuals -
human-like editing -
natural creative flow
By separating logic from layout, and allowing continuous refinement through language, the tool reflects how people actually build presentations in real life.
If you’re looking for a practical way to turn ideas into well-designed slides without spending hours on design tasks, Banana Slides provides a clean and efficient path forward.

