Core Concepts

Core Concepts

This page explains how data moves through a workflow and how you work on the canvas.

Follow the data

Node Banana builds workflows on a canvas. A workflow is a set of nodes that pass data from one step to another. A node performs one task, such as image generation or video trimming. A noodle is a connection between two nodes.

A socket is an input or output point on a node. Socket types identify the data they accept, such as text, image, video, or audio. You drag from an output socket to a compatible input socket.

For example, a Prompt node supplies text to a Generate Image node. The generated image can feed an Annotation node, another model, or an Output node. The app runs the steps in dependency order, so a node receives upstream results first.

The canvas

Workflow tabs run across the top of the editor. The floating Nb menu contains project commands, settings, tabs, comments, and the Welcome screen. The floating action bar contains node buttons, All nodes, All models, noodle controls, and Run. Hover over an icon to see its label.

The navigator contains the minimap, zoom controls, Fit view, and Lock canvas. Use Hide minimap or Show minimap to change its visibility. Recent generations opens the current tab's history panel at the top right. Nb → Assets opens the full asset library. Click a point in the minimap to move the canvas view there.

Add and select nodes

  1. Double-click or right-click empty canvas space.
  2. Type a node name in the search menu.
  3. Choose a result with the mouse or keyboard.

Saved ComfyUI nodes also appear in this menu. If you drag a noodle onto empty space, a menu offers compatible nodes.

You can copy selected nodes and paste them elsewhere. Pasted images and text create or fill suitable input nodes. Dragging a Node Banana JSON workflow onto the canvas loads that workflow. Dragging a ComfyUI workflow opens an import dialog for a new node.

Node anatomy

PartPurpose
Media cardShows the image, video, audio, or text result
SocketsInput and output points set into the card border
Gap rowHolds history navigation or a media scrubber
Controls cardShows a summary row that opens model and node settings
Resize edgeChanges node width while content determines height

Double-click a resize edge to restore the node type's default width. Videos play inline on hover. Generation nodes show progress or errors on the media card. Router, Switch, Conditional Switch, and Array use a single card with socket-aligned rows.

Arrange several nodes

Select at least two nodes to open the multi-select toolbar. Open Arrange nodes for horizontal stacking, vertical stacking, or a grid. The toolbar also provides a spacing slider. You can also run the selection, create a group, or remove nodes from a group. The model control changes models across selected generators. The download control collects selected images into a ZIP archive.

Noodles

Noodles carry typed data: text, images, video, audio, 3D models, or ease curves. An ease curve describes how video time changes during playback. A compatible socket accepts the noodle's data type. Model selection can change the sockets on generation nodes.

Edit a noodle

  1. Select the noodle to open its toolbar.
  2. Enter a label, then press Enter to save it.
  3. To change the destination, drag the noodle's end to another compatible socket.

The toolbar also provides pause, hide, delete, and applicable loop controls. If you select several noodles, pause and delete apply to the selection. A selection rectangle selects noodles when it selects no nodes.

Pause and loop

A pause stops execution at a noodle so you can inspect the upstream result. Select Run again to resume the paused workflow. The noodle toolbar adds or removes the pause.

A loop noodle sends an output back to an upstream input. Its toolbar sets an iteration count from 1 to 100, with a default of 3. Each iteration can make more provider requests.

Hide and show

Hidden noodles still carry data and remain in saved workflows. The editor shows short labeled stubs beside their sockets. Hidden noodles with the same handle and label share a stack. Click its pill to expand it, or hover to preview its noodles. Double-click a stack label to rename every member; an individual pill renames one noodle. Press Enter to save a name, or Escape to cancel. The downstream pill's upstream-jump control centers the source end on the canvas. Select a stub and choose Show to restore its noodle. The action-bar visibility control hides or shows all noodles.

Bundle and unbundle

A bundle draws several noodles as one shared stem without changing execution.

  1. Click a socket to open its menu.
  2. Select Bundle to gather its noodles.
  3. Drag the bundle clamp to change the shared stem's length.
  4. Select Unbundle to separate the noodles.

You can also bundle selected noodles from their toolbar or context actions. Hold H and drag across noodles to hook them into a bundle. A Router remains useful when you need a shared node that passes data onward.

Appearance

Use Settings → Noodles to change the drawing style. These settings also persist in the workflow file.

SettingValues or effect
Line styleCurved, Angular, or Straight
ThicknessThin, Regular, or Thick
Faded connectionsOpacity for noodles outside the selected node
GradientFades the middle of each noodle
Loading pulseAnimates noodles into a node during generation

The action-bar line-style button cycles the three styles. Noodle colors identify data types.

Workflow execution

The app runs nodes after their upstream dependencies. Independent nodes can run in parallel, within Settings → Node defaults → Max parallel calls. That setting accepts 1 to 10 concurrent calls.

Run controlScope
Run all / Cmd/Ctrl + EnterEntire workflow, or resume a pause
Run from selectedSelected node and its downstream path
Run selected / Alt/Option + EnterThe selected node or set
Run groupThe nodes in the selected group
RunsRepeat the selected scope 1–50 times
StopEnd repeated runs after the current run; a second click stops immediately

The Run menu shares one Runs count across workflow, selection, and group actions. The workflow file saves that count. Repetitions run in order, and outputs show Run n of N. Each repetition can make new billed provider requests.

If repetitions remain, the first Stop lets the current run finish and prevents the next. The button changes to Stopping; another click stops immediately. During the final repetition or a single run, Stop stops immediately. Immediate Stop also cancels active stitch, trim, and ease-curve encodes. Remote provider jobs can continue after the editor stops.

You can start different nodes concurrently with their own Run buttons. You cannot start the same node twice, or add these runs during a workflow or selection run. The global Stop control stops these independent node runs.

Missing inputs do not disable Run. If a node has no usable input, the app skips it instead of blocking the workflow. Optional input nodes let you leave a branch empty. An empty optional input also skips the downstream nodes that depend on it. Locked groups and disabled Switch paths skip their nodes.

Array batch mode feeds items through supported generation nodes one at a time. Loop noodles repeat a path for the chosen iteration count. A generation node's Fallback tab can select another model and its settings. If the primary model fails, the app retries with that fallback.

Long provider tasks use browser polling: the app checks an existing job until it finishes. A slow task does not necessarily mean that the request failed. See Troubleshooting before you submit the same job again.

Groups and comments

A group keeps related nodes together and moves them as a set. Its menu provides six color swatches, a lock, Run group, and the NBP Input flag. The flag marks inputs for Node Banana Pro. A locked group skips execution. The multi-select toolbar can remove nodes from a group without deleting them.

Node comments explain a step's purpose. Nb → Next comment moves through comments in the workflow.

Next steps