🍌 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

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:

  1. 「Start from an idea」
    You describe a broad concept, and the system expands it.

  2. 「Start from an outline」
    Useful for users who have content ready but want structure and visuals.

  3. 「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

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.