# Creating content in Lab

> Develop a brief with Penny, give references a clear role, generate with Skills, and take the results into your next stage of work.

Source: https://kaitoi.io/docs/studio/lab/
Section: Kaitoi Studio / Lab
Written for: Anyone exploring an idea, comparing creative directions, or generating media with Penny.
Last reviewed: 2026-10-24

---

Lab puts your references and results on a canvas beside a conversation with
Penny. Use it to develop a brief, generate media, and refine a direction while
keeping the material you are discussing in sight.

## Find your way around

Open **Lab** from the view dock. On desktop, the canvas occupies the left side
and Penny's chat sits on the right, with the message box at the bottom. The
vertical toolbar along the canvas's left edge includes project controls,
**Fit to view**, **Undo**, **Redo**, and **Toggle Chat**.

The row below your message holds the conversation selector, **Skills**,
**Playbooks**, and Lab's Penny model picker. Check these here even if you have
already configured Penny in Graph. A Playbook supplies written guidance;
enabled Skills supply actions Penny can call.

## Give each reference a job

Tell Penny what to take from each reference: the subject to preserve, the
lighting to borrow, or the arrangement to follow. Then specify the deliverable,
format, number of results, and what must stay unchanged.


An example brief uses three fictional references. @lamp supplies the product
shape and colour; @light supplies soft side lighting; @layout supplies space
above the product for a headline. The request asks for one square image,
preserves the lamp, and asks for no added lettering. In the interactive
illustration, choosing a reference highlights its sentence in the brief. All
three references remain in the request. The illustration is authored teaching
material, not Studio UI or a generated result.

*Figure: Name the reference, then explain what it contributes.*

For example: “Create one square image of **@lamp**. Preserve its shape and
colour. Borrow the soft side light from **@light**, and leave space above the
product as in **@layout**. Add no lettering.” If you want to discuss a direction
before generating anything, ask for a plan or a written prompt first.

## Add and mention your material

Drop image, video, or audio files from your computer onto the canvas, or
right-click the canvas and choose **Load from disk…**. You can also bring in
existing Graph outputs, as described below.

To refer to a specific item:

1. Hover over or select it to reveal its **@handle above the card**.
2. Click that handle to insert a mention into your message. The nearby pencil
   renames it; a meaningful handle is easier to distinguish from similar items.
3. Explain what Penny should do with that reference, then check the message
   before sending.

You can also type **@** in the message box to choose an item or board. To mention
several selected items, right-click inside the message box and choose
**Mention Selected**.

Selecting items is an editing action; it does not insert mentions or restrict
the conversation to those items. Penny also receives context about the current
conversation's canvas and boards. Use explicit mentions to identify your
intended targets, not as a way to hide other canvas content.

## Generate, then inspect the result

Open **Skills** and enable the workflows Penny needs. Check their required
providers and inputs; the model that writes Penny's reply can be different
from the provider that generates the media. See [Skills](/docs/studio/skills/)
for enabling and creating workflows.

Send your brief and follow the activity in chat. A Skill may be **queued** while
waiting for capacity, then show running activity or reported progress. Its
outputs arrive as canvas items. A failure belongs to that execution; inspect
its message and any completed results before trying again.

Select an item on the canvas and press **Space** to open the preview. Select
several to review them there. Judge the actual image, video, audio, or text
instead of relying only on a thumbnail. For the next turn, mention the result
you want to refine and say what should change and what should remain.

Provider generation can cost separately from Penny's reply. Asking for another
variation or retry may start another execution; make the count and requested
action explicit.

## Organize alternatives on the canvas

Select at least two items, right-click, and choose **Group Selected** to make a
board. Rename it for the direction it represents. If the selected items already
share a group, the menu offers **Ungroup**.

| Action                        | What happens                                                                   |
| ----------------------------- | ------------------------------------------------------------------------------ |
| Drag a grouped item           | Its fellow group members move with it.                                         |
| Alt-drag selected items       | They move within their existing group without bringing the whole group.        |
| Alt+Shift-drag selected items | Drop into another board to move them there, or outside boards to ungroup them. |
| **Fit to view** or **F**      | Fits the selected items; with nothing selected, fits the whole canvas.         |

Use these shortcuts while working on the canvas, outside the message box.
A board keeps a direction together; it is not a merged image or a new
executable workflow.

## Download or continue in Graph

**To save files:** select the items, right-click the canvas, and choose
**Download**. Media downloads as separate files; text downloads as Markdown
(`.md`). This does not export the board as one image or package the whole project.

**To use a result in Graph:** use the item's **Send to Graph** action, or select
items and choose **Send to Graph** from the canvas menu. Studio creates image,
video, or audio loader nodes, or Text nodes, with the selected content. It closes
Lab, brings the new nodes into view, and automatically runs those nodes. Check
their outputs before building on them. This transfers the result; it does not
recreate the Skill or generation workflow that produced it.

**To bring Graph outputs into Lab:** select the relevant nodes in Graph, return
to Lab, and right-click the canvas. **Import from Graph** appears when the
selected nodes have supported outputs. Choose a node's outputs or **Import all**
when available. A Graph node's context menu also offers sending supported
results to Lab.

The Files library currently has no direct drag-to-Lab action. Download a file
and drop it from your computer, or load it in Graph and import its output.

## Keep the project and conversation together

Lab conversations belong to the **current project**. Each conversation has its
own canvas items, boards, and chat history. The selector beside Skills lets you
create a **New Conversation**, switch, rename, or duplicate a conversation.
Choose the destination before adding references or activating a Playbook.

A new conversation gives an idea its own canvas within that project. **New
Project** changes the project itself. Use Lab's project controls to save or open
your work, and see [Saving and recovery](/docs/studio/saving-and-recovery/) for
the difference between autosaved drafts and named saves.

The chat's **Copy Lab chat as JSON** action copies a structured snapshot of
messages, items, and boards to the clipboard. It is not an archive of the media
files or a replacement for saving the project.

## When something is missing or still running

- **The canvas looks empty:** check the project and conversation, clear the
  selection, and use **Fit to view** to find all items.
- **Penny uses the wrong reference:** check the mention chips and explain each
  reference's role. A selection alone does not insert a mention.
- **A Skill is still working:** use its own cancel control to stop that
  execution. **Cancelling…** means the request is waiting for confirmation.
  The message box's **Stop** control stops the assistant turn.
- **You reconnected or hit an error:** let Studio recover supported active
  work and inspect the execution's status before launching duplicates. Recovery
  is not guaranteed for every interrupted execution. Completed items remain;
  stopping does not reverse usage already incurred.

See [Working with Penny](/docs/studio/penny/) for assistant behaviour and
recovery across Studio.
