> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sprello.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# The canvas

> Add nodes, connect them, and move around the space where you build.

The canvas is where you build in Sprello. Instead of one prompt at a time, you lay out **nodes**—your inputs and generations—and connect them with **edges** so data flows from one to the next. Earlier work stays on the canvas, so you can branch, compare, and come back to it.

<Frame caption="A workflow on the canvas: inputs flowing into a generation">
  <img src="https://mintcdn.com/sprello/GqYVZzX2z4AZokUD/images/screenshots/canvas_overview.png?fit=max&auto=format&n=GqYVZzX2z4AZokUD&q=85&s=1b96c9107f4a63eb483fa98f0a44277e" alt="A Sprello canvas showing input nodes connected to a Generate Image node" width="3046" height="1414" data-path="images/screenshots/canvas_overview.png" />
</Frame>

## Add a node

Right-click anywhere on the canvas to open the add menu, then choose what you need:

| Menu             | What it adds                                                              |
| ---------------- | ------------------------------------------------------------------------- |
| **Input**        | An Image, Video, or Text input. Upload a file or paste an image directly. |
| **Image models** | A Generate Image node, set to the model you pick.                         |
| **Video models** | A Generate Video node.                                                    |
| **Text models**  | A Generate Text node.                                                     |
| **Utilities**    | Helper nodes such as the Combinator.                                      |

<Tip>
  You can also drag an image straight from your computer onto the canvas to create an Image Input.
</Tip>

## Connect nodes

Drag from a node's output handle to another node's input handle to create a connection. Sprello only lets you connect things that fit—an image into an image slot, text into a prompt—so you can't build an invalid workflow. See [connections and data types](/concepts/connections) for the full picture.

When you connect a node into a generator, Sprello wires it into the prompt or reference for you, so the generator knows what to use.

<Frame caption="Dragging from one node's handle to another to connect them">
  <img src="https://mintcdn.com/sprello/pUGKvjktIKYEsKH5/images/screenshots/connect_nodes.gif?s=7c1dee76dfe43d44ff1eadc755b0436c" alt="A connection being drawn between two nodes on the Sprello canvas" width="960" height="630" data-path="images/screenshots/connect_nodes.gif" />
</Frame>

## Move around

* **Pan**: drag an empty part of the canvas.
* **Zoom**: scroll, or use the zoom controls.
* **Select**: click a node, or drag a box around several to select them together.

## Next

<Columns cols={2}>
  <Card title="Nodes" icon="diagram-project" href="/concepts/nodes">
    The three families of nodes and what each part of a node does.
  </Card>

  <Card title="Connections and data types" icon="link" href="/concepts/connections">
    What can connect to what, and how data flows.
  </Card>
</Columns>
