# Canvas

> An infinite board your workspace shares — generate straight onto it, next to everything else you're looking at.

Source: https://endless.app/docs/create/canvas

A **canvas** is an infinite board. You draw on it, drop assets onto it, arrange them, and
generate new ones directly into the arrangement. Several people can be on the same board at
once, and everyone sees the same thing as it happens.

**Canvases*&#x2A; lists the boards you can open — the ones you made and the ones shared with your
workspace, with you directly, or through a project you can open — and &#x2A;*"New canvas"*&#x2A; starts a fresh one. An empty board tells you where to begin:
&#x2A;"Pick a tool below, drop in an asset from the rail, or generate something with Endless."*

## What's on the board

<Cards>
  <Card icon="<PresentationScreen />" title="The toolbar">
    Select and pan for moving around; draw, eraser, arrow, text, note, frame and
    shape for putting things down; undo and redo.
  </Card>

  <Card icon="<Layers />" title="The rail">
    **Assets** lets you drag anything from your library onto the board. **Info**
    covers whatever you have selected — the model, prompt, dimensions and
    duration behind a generated item, and its position, size and style.
  </Card>

  <Card icon="<Photo />" title="The generate bar">
    Fixed along the bottom. The same composer as [Image](/docs/create/image) and
    [Video](/docs/create/video) — same model list, same references, same advanced
    parameters, same estimate — with one addition: what you have selected
    changes what pressing it means.
  </Card>
</Cards>

## Generating on a canvas

<Steps>
  <Step>
    ### With nothing selected, you generate from scratch

    The buttons above the composer read &#x2A;*"Generate image"*&#x2A; and &#x2A;*"Generate video"**, and the
    result is placed in the middle of your current view.
  </Step>

  <Step>
    ### With something selected, you work from it

    Select an image and the same two buttons mean different things: producing the same kind of
    thing again is a remix of what's selected, and producing the other kind converts it — a still
    into a clip. The result is placed beside the selection rather than in the middle of the view.

    Which buttons exist at all depends on the catalog. If no available model can turn a video back
    into an image, that option isn't offered.
  </Step>

  <Step>
    ### Check the estimate, then generate

    The bar shows &#x2A;*"Estimated cost"*&#x2A; for the run you've set up. Where you can't cover it, it
    says so before anything starts: &#x2A;*"Not enough credits"**, with how many the run needs and how
    many you have left.
  </Step>
</Steps>

<Callout type="info" icon="<Coins />">
  Selecting something can change the price. Handing a model a picture to work
  from usually routes the run down a different, differently-priced path than
  generating from nothing — so the number on each model in the list is what a
  run *from this selection* would cost, not a fixed headline figure.
</Callout>

### The placeholder is drawn by Endless, not by your browser

<Callout type="warn" icon="<Users />">
  **This is the part that makes canvas generation feel different.** When a run
  starts, the "Generating…" square and its later swap for the finished image or
  video are authored on the server and pushed to the board itself. So everyone
  looking at the canvas sees the square appear and sees it become the result —
  and it lands even if the person who started it closes their tab and walks
  away. Nothing about the outcome depends on the browser that pressed the
  button.
</Callout>

If a run fails, the placeholder is removed the same way, with &#x2A;*"Couldn't generate. Try
again."**

## Working together

<Cards>
  <Card icon="<Users />" title="You can see who's here">
    Active collaborators appear in the header, with their cursors on the board.
    You can follow someone to be taken wherever they go, and stop following
    again.
  </Card>

  <Card icon="<Eye />" title="Everyone sees the same board">
    Edits, drops and generations arrive for everyone as they happen. There is no
    save button.
  </Card>
</Cards>

## Who can open it, and who can change it

These are two separate questions, and it's the second one that catches people out.

<Steps>
  <Step>
    ### Sharing decides who can open it

    A canvas is either &#x2A;*"Private"*&#x2A; — &#x2A;"Only you"&#x2A; — or shared with the &#x2A;*"Workspace"** at **Can
    view** or **Can edit**. Its owner can also share it with specific people, each at **Can view** or
    **Can edit*&#x2A;, and a canvas linked into a project can be viewed by everyone who can open that
    project. Someone who tries to open a private board is told plainly: &#x2A;"This canvas is
    private. Ask the owner to share it with your workspace, then try opening it again."*
  </Step>

  <Step>
    ### Your role decides whether you can edit it

    Opening a board and changing one are different things. You can draw on a board you own, or one
    where you have **Can edit*&#x2A; — as long as your workspace role lets you create content. Anyone
    else who can open it only looks. Endless checks with the server when you join, and a session
    that may only look gets a &#x2A;*"Read-only"*&#x2A; badge in the header,
    explained as &#x2A;"Your role can open this canvas but not change it."* In that session the
    generate bar isn't shown and the toolbar keeps only the tools that don't change anything.
  </Step>

  <Step>
    ### Creating one is a capability too

    Starting a new canvas needs permission to create content, the same permission generating does.
    See [Roles and permissions](/docs/governance/roles-and-permissions).
  </Step>
</Steps>

<Callout icon="<Globe />">
  Sharing a canvas shares what's on it. A private asset dropped onto a
  workspace-shared board becomes readable by everyone who can open that board,
  without the asset itself changing — see [Assets and
  visibility](/docs/concepts/assets-and-visibility).
</Callout>

## If Canvas isn't there

<Callout type="warn" icon="<Toggle />">
  Canvas is one of the surfaces a workspace can switch off, for everyone or for
  one team or person. Where it's off you won't find it in the sidebar. It also
  has a middle state some workspaces will see instead of the board — &#x2A;*"Canvas
  is coming soon"*&#x2A;, described as &#x2A;"An infinite canvas to sketch, arrange, and
  generate together. Landing in your workspace soon."*
</Callout>

<Cards>
  <Card icon="<Layers />" title="Where the output goes" href="/docs/create/where-output-lands">
    Everything generated on a canvas is also an asset in your library, tagged
    with the board it came from.
  </Card>

  <Card icon="<Video />" title="Long clips" href="/docs/create/video">
    Why a video started on a canvas is the case that settles on its own.
  </Card>

  <Card icon="<Lock />" title="Who can do what" href="/docs/governance/roles-and-permissions">
    The workspace permission that, with your role on the board, decides the
    &#x2A;*"Read-only"** badge.
  </Card>
</Cards>
