Edges
Connect nodes with color-coded edges and use handles to inspect data types at a glance.
Edges are the lines between nodes that define how data flows through your pipeline. Each edge connects an output handle on one node to an input handle on another, creating a pipeline where the result of one operation feeds into the next.
Creating edges
Start the edge
Hover over an output handle on the source node (right side). The handle highlights when it's ready to connect.
Draw the edge
Click and drag from the output handle toward the destination node. A line follows your cursor as you drag.
Complete the edge
Drop the line onto a compatible input handle on the destination node (left side). If the handles are compatible, the edge snaps into place. If they are not compatible, the edge is rejected.
You can also drag from an input handle backward to an output handle — the direction of the drag doesn't matter, only the handle types.
Color-coded data types
Every handle has a data type, and every edge is color-coded to match. You can tell what kind of data flows through an edge just by its color. Hover over any handle to see its data type in a tooltip.
Primitives
| Type | Description |
|---|---|
| STRING | Plain text data |
| INT | Integer values |
| FLOAT | Floating-point numbers |
| BOOLEAN | True/false values |
| * (Wildcard) | Accepts any data type — handles and edges render with a rainbow effect |
Domain types
| Type | Description |
|---|---|
| PDB | Protein structure files |
| FASTA | Biological sequence data |
| MSA | Multiple sequence alignments |
| CIF | Crystallographic information files |
| JSON | Structured JSON data |
| CSV | Tabular data |
| LIST | Ordered collections |
| AGENT | AI agent references |
| DOCUMENT | Document data |
| AUDIO | Audio data |
Core types
| Type | Description |
|---|---|
| IMAGE | Image data |
| MODEL | AI model references |
| LATENT | Latent space representations |
| MASK | Image masks |
| CONDITIONING | Prompt conditioning data |
| CLIP | CLIP model references |
| VAE | VAE model references |
| CONTROL_NET | ControlNet model references |
You can only connect an output handle to an input handle that accepts the same type (or accepts Wildcard). The editor prevents incompatible edges, so you don't need to memorize the rules — just try connecting and the system guides you.
Navigating edges
Click on any edge to open a quick navigation UI. From there you can jump directly to the source node or the destination node of that edge. This is especially useful in large pipelines where the connected nodes may be far apart on the canvas.
Managing edges
Removing an edge
Right-click on an edge to open a context menu with the option to delete it. You can also select an edge and press Delete or Backspace.
Replacing an edge
If you drag a new edge to an input handle that already has one, the new edge replaces the old one. Each input handle accepts only one incoming edge.
Multiple outputs
A single output handle can connect to multiple input handles on different nodes. This lets you fan out data to several downstream operations in parallel.
Data flow
When a pipeline runs, data flows along edges in dependency order:
- Nodes with no inputs (or only widget-configured inputs) run first.
- Once a node finishes, its output data is sent along all outgoing edges.
- A downstream node runs only after all of its connected inputs have received data.
Independent branches run concurrently — nodes wait only for the specific inputs they need.
Circular edges (where node A depends on node B which depends on node A) are not allowed. The editor prevents you from creating cycles.