# Elements

> Give a character, product, place, brand or style an @handle and reference files, so Benchy gets it right every time.

Canonical: https://benchy.world/docs/elements
Last updated: 2026-10-27

An Element is something Benchy should get right every time: a character, a product, a place, a brand or a style. Elements belong to the workspace's library. Each has a name, an `@handle` unique in the workspace, a description of up to 4,000 characters and up to 16 reference files; a workspace holds up to 500.

## Kinds and files [#kinds]

| Kind | Typical reference files |
| --- | --- |
| Character | Turnarounds, expressions, a 3D model |
| Product | Photos from every side, the packaging, dimensions, the 3D model |
| Place | Photos and plans of a room, shop or scene |
| Brand | The logo, colours, fonts and a few finished pieces |
| Style | Example images, materials, finishes, fonts |

An Element can also have no kind. A reference can be an image, a 3D model, a video, audio, a document or a font (`.woff2`, `.woff`, `.ttf` or `.otf`). Check a font's license allows your use before you share work made with it.

## Make an Element [#make-one]

Open **Elements** from the workspace menu, from a canvas's **Files**, or with **Manage Elements** at the end of any `@` list, then choose **New Element**. Give it a name (the handle follows it until you change it), a description and a kind, and add reference files. To start from one file on a canvas, choose **Create Element** from its menu; upload it to the canvas first if it isn't there.

## Private or Workspace [#visibility]

A new Element is **Workspace**: every member can find it with `@` and use it, and members who can edit can change it. **Private** keeps it to you. Only the person who made an Element changes which it is.

## DESIGN.md for a brand [#design-md]

A Brand Element can import and export a `DESIGN.md`, the design-system file in Google's open DESIGN.md format that tools such as Google Stitch write. Choose the Brand kind, then **Import** under DESIGN.md. You can also add colours by hand: **Add colour**, a name, and a value such as `#1a2b3c`.

| In the file | In the Element |
| --- | --- |
| `name` and `description` | The Element's name and description |
| `colors`, `typography`, `spacing`, `rounded` and `components` | The brand's colours, type styles, spacing steps, corner radii and components, as written |
| A Logo, Logos or Brand assets section | The brand's logos, from the images and links in it |
| Overview, Colors, Typography and the other sections | Kept as written, in order |

Anything the format doesn't define is kept, written back on export, and named by the import as unused. A value in the wrong shape is left out and listed, and a file that repeats a section is refused. A Brand Element with a DESIGN.md can be saved before it has any files.

**Export** writes the Element back out as `DESIGN.md`. When the file had no logo section, image files you labelled "logo" are listed in one.

## Use an Element [#use-one]

Type `@` and the handle in a chat, or choose **+** then **Add an Element**; in **Generate**, type `@` in the prompt. Benchy follows the Element's description and files, so the result comes out the same across every image, model and video. You can also place an Element's reference file straight onto the canvas.

> **Adding an Element to a shared chat shares that version**
>
> Everyone in the chat can open the version you added: its description and the picture you chose with it. The Element itself keeps its own access. See [Sharing in a chat](https://benchy.world/docs/sharing#in-chats).

## Revisions and archiving [#revisions]

Every change makes a new revision, and whatever already uses an Element keeps the revision it was made with. **Archive** hides an Element from the list without deleting its files or breaking what uses it; **Restore** brings it back.
