You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
shrimbly 6defacc9a3 Merge master into develop 6 months ago
.github/workflows remove block-master-prs workflow 6 months ago
examples landing UX improvements 6 months ago
logs logging, cmd enter to run workflow 7 months ago
public Add sample images and redesign quickstart templates 6 months ago
src Merge master into develop 6 months ago
.env.example feat: enhance API key management and provider integration 6 months ago
.gitignore do not track planning docs 6 months ago
CHANGELOG.md Add changelog and update README with AI Quickstart docs 6 months ago
CLAUDE.md Add AI Quickstart feature for workflow generation 6 months ago
README.md Readme 6 months ago
next.config.ts Update body size limit for server actions, refactor image file reading to use promises, and enhance error handling in project save function. 6 months ago
package-lock.json chore(15-01): install React Testing Library dependencies and update config 6 months ago
package.json feat: add custom server with 10-minute timeout for video generation 6 months ago
postcss.config.mjs initial commit 7 months ago
prd-image-workflow.md initial commit 7 months ago
server.js fix: resolve image input misclassification and dynamic inputs not passed 6 months ago
tsconfig.json chore(15-01): install React Testing Library dependencies and update config 6 months ago
vitest.config.ts chore(15-01): install React Testing Library dependencies and update config 6 months ago

README.md

Node Banana

Important note: This is in early development, it probably has some issues. Use Chrome. For support or raising any issues join the discord. See the docs for help, installation guides, and user guides.

Node Banana is node-based workflow application for generating images with Nano Banana Pro. Build image generation pipelines by connecting nodes on a visual canvas. Recent Fal and Replicate integration allows for complex image and video pipelines from any provider, but be aware this is still in testing.

Built mainly with Opus 4.5.

Node Banana Screenshot

Features

  • Prompt to Workflow - Generate complete workflows from natural language descriptions or choose from preset templates (Gemini only for now)
  • 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 models
  • Text Generation - Generate text using Google Gemini or OpenAI models
  • Workflow Chaining - Connect multiple nodes to create complex pipelines
  • Save/Load Workflows - Export and import workflows as JSON files
  • Group Locking - Lock node groups to skip them during execution

Multi-Provider Support (Beta)

In addition to Google Gemini, Node Banana now supports:

  • Replicate - Access thousands of open-source models
  • fal.ai - Fast inference for image and video generation

Configure API keys in Project Settings to enable these providers.

Tech Stack

  • Framework: Next.js 16 (App Router)
  • Language: TypeScript
  • Node Editor: @xyflow/react (React Flow)
  • Canvas: Konva.js / react-konva
  • State Management: Zustand
  • Styling: Tailwind CSS
  • AI: Google Gemini API, OpenAI API, Replicate (Beta), fal.ai (Beta)

Getting Started

Prerequisites

  • Node.js 18+
  • npm

Environment Variables

Create a .env.local file in the root directory:

GEMINI_API_KEY=your_gemini_api_key
OPENAI_API_KEY=your_openai_api_key      # Optional, for OpenAI LLM provider
REPLICATE_API_KEY=your_replicate_api_key  # Optional, beta
FAL_API_KEY=your_fal_api_key              # Optional, beta

Installation

npm install

Development

npm run dev

Open http://localhost:3000 in your browser.

Build

npm run build
npm run start

Example Workflows

The /examples directory contains some example workflow files from my personal projects. 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. Make sure you review each of the prompts before starting, these are fairly targetted to the examples.

Usage

  1. Add nodes - Click the floating action bar to add nodes to the canvas
  2. Connect nodes - Drag from output handles to input handles (matching types only)
  3. Configure nodes - Adjust settings like model, aspect ratio, or drawing tools
  4. Run workflow - Click the Run button to execute the pipeline
  5. Save/Load - Use the header menu to save or load workflows

Connection Rules

  • Image handles connect to Image handles only
  • Text handles connect to Text handles only
  • Image inputs on generation nodes accept multiple connections
  • Text inputs accept single connections

Testing

Run the test suite with:

npm test              # Watch mode
npm run test:run      # Single run
npm run test:coverage # With coverage report

Contributions

PRs are welcome, please pull the latest changes from develop before creating a PR and make it to the develop branch, not master. Not that I'm primarily making this for my own workflows, if the PR conflicts with my own plans I'll politely reject it. If you want to collaborate, consider joining the Discord and we can hash something out.

License

MIT