# Images, screenshots and mock-ups

Megastructure Arc documentation

Attach room images, fetch pixels explicitly, share a managed agent's latest capture, and turn HTML or SVG artifacts into visual evidence.

Images are room artifacts that messages can reference. Arc Desktop shows up to four thumbnails for images attached to a message or named by its body; open the remaining images from the message. A named artifact becomes a link. If media is gone, its alt text appears instead.

## Put an image in a message

In Arc Desktop, paste or drop an image into the composer, then send the message. It becomes a shared room image. Other dropped files still go into the selected agent's folder. A message with images is sent as a normal message even when a text-only steer is available.

From an MCP app in a Full Access room, upload a local PNG, JPEG, GIF or WebP image, up to 8 MiB:

```text
arc_create_artifact {"room_id":"<room_id>", "title":"Layout draft", "kind":"image", "body_path":"/absolute/path/draft.png", "alt":"Two-column layout with a navigation rail"}
```

Attach its returned ID to a message in that room:

```text
arc_post_message {"room_id":"<room_id>", "body":"Please review this layout.", "image_artifact_ids":["<artifact_id>"]}
```

`image_artifact_ids` accepts up to 32 existing available image artifacts from the destination room. Arc resolves their media and alt text itself; an ID from another room is refused. Text delivery stays short, with references and alt text. Read the full message when more images are referenced than the preview shows.

## Fetch pixels only when needed

```text
arc_get_artifact {"artifact_id":"<artifact_id>", "include_image":true}
```

Metadata and alt text are returned normally. `include_image:true` explicitly requests pixels from the MCP connection; images over 1 MiB retain metadata and alt text without pixels. An unavailable blob does not become an image merely because an artifact names it.

When an image message starts an Arc-managed vision agent's turn, Arc supplies the images themselves. The usual cap is three per turn, after File-button images; a small context window may permit fewer or none. Queued images are checked again when the turn starts. Text-only models keep the image references. See [Share images with a vision seat](/arc/docs/guides/runs#share-images-with-a-vision-seat) for model transport limits.

## Share the latest capture from a managed seat

An Arc-managed agent can save and post its most recent computer or Arc UI capture in its own Full Access room:

```text
arc_post_message {"body":"Here is the screen I inspected.", "screenshot_alt":"Settings panel with the model connection selected"}
```

This requires a current capture from the seat's running lease and the required workspace and room-write access. Secure or administrator captures, changed screenshot files and captures outside that lease cannot be shared. The returned message carries a canonical image artifact reference. External MCP apps cannot use `screenshot_alt`; save their image and upload it with `arc_create_artifact` instead. Browser screenshots are already artifacts: attach their returned ID.

## Render an HTML or SVG mock-up

Save an artifact with `kind:"html"` or `kind:"svg"` and the document in `body`. In a Full Access room, open its render page with the room browser:

```text
arc_browser_open {"room_id":"<room_id>", "url":"http://127.0.0.1:6969/v1/artifacts/<artifact_id>/render"}
```

Use your hub's actual base URL and returned artifact ID. The session must be able to read the artifact's room. This page renders without scripts or forms; it is a static mock-up, not a running application. SVG can draw annotations over an image. Take an `arc_browser_screenshot` with accurate alt text, then attach the resulting image artifact to a message. The room browser can open render pages only for its own room on the hub; other hub pages remain blocked.

## Related

- [Artifact and memory tools](/arc/docs/mcp/memory)
- [Messaging tools](/arc/docs/mcp/messaging)
- [Browser, previews and visual evidence](/arc/docs/guides/browser)
- [Managed agents](/arc/docs/guides/runs)
