
### The Visual Workflow Editor for AI Image Generation
[](https://github.com/shrimbly/node-banana/stargazers)
[](LICENSE)
[](https://discord.com/invite/89Nr6EKkTf)
Build AI image and video generation pipelines by connecting nodes on a visual canvas.
Multi-provider support. Prompt-to-workflow generation. Built mainly with Claude.
[**Documentation**](https://node-banana-docs.vercel.app/) • [Discord](https://discord.com/invite/89Nr6EKkTf)
## Build Complex AI Pipelines Visually
Node Banana is a node-based workflow editor for AI image generation. Drag nodes onto an infinite canvas, connect them with typed handles, and execute pipelines that call AI APIs in dependency order.
- **Generate workflows from natural language** or choose from preset templates
- **Chain multiple AI models together** across providers in a single pipeline
- **Annotate and edit images** with a full-screen drawing editor
- **Lock node groups** to skip them during execution
- **Save and share workflows** as portable JSON files
## Features
| Feature | Description |
|:--------|:------------|
| **Prompt to Workflow** | Generate complete workflows from natural language descriptions |
| **Visual Node Editor** | Drag-and-drop nodes onto an infinite canvas with pan and zoom |
| **Image Annotation** | Full-screen editor with drawing tools (rectangles, circles, arrows, freehand, text) |
| **AI Image Generation** | Generate images using Google Gemini, Replicate, fal.ai, Kie.ai, and more |
| **Text Generation** | Generate text using Google Gemini or OpenAI models |
| **Workflow Chaining** | Connect multiple nodes to create complex multi-step pipelines |
| **Group Locking** | Lock node groups to skip them during execution |
| **Save/Load** | Export and import workflows as JSON files |
## Supported Providers
| Provider | Status |
|:---------|:-------|
| [Google Gemini](https://ai.google.dev/) | Fully supported |
| [Replicate](https://replicate.com/) | Supported |
| [fal.ai](https://fal.ai/) | Supported |
| [Kie.ai](https://kie.ai/) | Supported |
| [WaveSpeed](https://wavespeed.ai/) | Supported |
| [OpenAI](https://openai.com/) | LLM only |
## Getting Started
### Prerequisites
- Node.js 18+
- npm
### Quick Start
```bash
git clone https://github.com/shrimbly/node-banana.git
cd node-banana
npm install
npm run dev
```
Open [http://localhost:3000](http://localhost:3000) in your browser.
### Environment Variables
Create a `.env.local` file in the root directory:
```env
GEMINI_API_KEY=your_gemini_api_key
OPENAI_API_KEY=your_openai_api_key # Optional, for OpenAI LLM provider
KIE_API_KEY=your_kie_api_key # Optional, for Kie.ai models
```
Additional provider API keys can be configured in Project Settings within the app.
### Build
```bash
npm run build
npm run start
```
## Example Workflows
The `/examples` directory contains example workflow files. To try them:
1. Start the dev server with `npm run dev`
2. Drag any `.json` file from the `/examples` folder into the browser window
3. Review the prompts in each node before running — they're targeted to specific use cases
## Node Types
| Type | Purpose |
|:-----|:--------|
| **Image Input** | Load or upload reference images |
| **Prompt** | Text prompt input |
| **Generate** | AI image generation (multi-provider) |
| **LLM** | AI text generation |
| **Annotation** | Draw on images with full-screen editor |
| **Split Grid** | Split image into grid cells |
| **Audio** | AI audio/TTS generation |
| **Output** | Display final result |
## Tech Stack