> For the complete documentation index, see [llms.txt](https://docs.atlas.design/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.atlas.design/atlas-ai-studio-overview/release-notes/release-0.41.0.md).

# Release 0.41.0

Previous Version: **v0.40.0**

Organize large workflows with collapsible frames, navigate the canvas from assistant replies, reserve credits using your connected media, and attach 3D meshes to a surface. These are the new features for normal users since 0.40.0; workspace owners and admins are included. Available nodes and provider options depend on your account and workspace access.

## Collapse, move, and copy complete canvas frames

Collapse a group or section into a compact title strip to keep a large workflow readable. The strip shows the total number of nodes in its nested contents. Connections crossing the frame remain visible, while internal connections and contained nodes, notes, and frames are hidden. Expanding restores the contents, including any nested frames that were already collapsed. Folding changes the view without changing how the workflow runs.

![The complete Content pipeline frame contains a reusable nested group, a note, and connected text nodes.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FwpzfmMlc74JsNl0rnL6C%2Fnested-frames-detail.jpeg?alt=media)

![Expanding the parent restores the workflow while preserving the nested block’s collapsed state.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FiD5MTYjEuCCizkVUJi9A%2Fnested-fold-preserved.jpeg?alt=media)

{% embed url="<https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FSYQNQEYroHuaa3lhHkAW%2Fframe-folds.mp4?alt=media>" %}
Collapse nested and outer frames, then reopen the outer frame with the nested fold preserved.
{% endembed %}

Frame membership is saved with the project. Copying a selected frame includes its complete nested contents—even hidden items—and internal connections. Pasted frames start expanded, keep their relative layout and grouping, and remain selected with their nodes so you can move the copy together. Overlapping selections copy each item once.

{% embed url="<https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2F6yAwPjfluMqnBzX8pa2P%2Fframe-copy.mp4?alt=media>" %}
Copy a folded subtree and paste an expanded reusable block.
{% endembed %}

Drag a frame by its header or empty tinted interior to move its entire subtree. Frames retain resize handles and grow to fit their children. **Shift-drag** through the empty interior starts a box selection; **Space-drag** pans; right-click opens the add-node menu.

Drop a node, note, or frame into another frame to change its membership, or drag a nested frame out to remove the nesting. Removing a frame keeps its contents and moves them into its surviving parent; **Undo** restores the grouping.

Locating a hidden node through the assistant or asset picker opens its enclosing frames. Read-only embeds preserve saved folds and hierarchy, and the mobile node list keeps all nodes visible.

## Add to selections and constrain movement with Shift

**Shift-click** adds frames and notes to your existing selection, including a selection containing nodes. **Command-click** and **Control-click** also add these annotations. Nodes retain their configurable **Add to selection** shortcut, which defaults to Shift.

Hold **Shift** while dragging a node, frame, or note to constrain movement to the dominant horizontal or vertical axis. Mixed selections move together, and selected frames carry their nested contents, including collapsed items. Placement is saved and supports **Undo / Redo**.

{% embed url="<https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FaLHfFsBCNsYvNEqfys0n%2Fshift-axis-drag.mp4?alt=media>" %}
Hold Shift to move a mixed selection along the horizontal axis, then the vertical axis.
{% endembed %}

## Navigate to frames directly from assistant replies

Assistant references to groups and sections now show the frame’s name and a frame icon. Click a reference, or activate it with the keyboard, to select and center the frame. Enclosing collapsed frames open first; a target frame that is itself collapsed stays collapsed.

Names follow frame renames, and references to deleted frames return to plain text. Saved conversations also resolve these references. Read-only views show the names without interactive controls.

![Assistant replies contain named, clickable references to the canvas frames.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FHvt9TDdXB41ygcbOgu80%2Fassistant-frame-references.jpeg?alt=media)

## Reserve credits using your connected media

Supported media-processing nodes now calculate their upfront credit reservation from the connected media’s measured size or duration. Shorter audio and video can need fewer reserved credits. Supported image upscaling uses the source aspect ratio and requested output dimensions instead of assuming a square output.

### Image size

![Wide source image with SeedVR2 and a 2048-pixel target long side.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FvOgiXp7DLDEIG6QAPTco%2Fimage-01.jpeg?alt=media)

![Square source image with the same SeedVR2 target long side.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FF3vrJ7cUYIVo0nspW91Q%2Fimage-02.jpeg?alt=media)

![An image that already meets the selected target size shows a free pass-through.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FqgL2kafI2XsUegrtfUCx%2Fimage-03.jpeg?alt=media)

Supported routes include **Video Upscale**, **Lipsync**, **Video Edit**, **Genjutsu**, **video background removal**, **Voice Changer**, **Seed ASR**, **ElevenLabs Scribe**, **Mirelo music modification**, and **SeedVR2 / CGI image upscaling**. Eligibility depends on the chosen provider and settings.

The canvas’s **Up to …** prices, selection totals, assistant maximum-credit estimates, and run admission use the stored measurements. New uploads and generated files record them; older files can be measured when a run starts. Missing measurements or a failed probe keep the conservative maximum, and some routes include a small reservation margin.

This changes how many credits are reserved before a run. It does not introduce a blanket reduction in generation prices.

### Audio duration and settings

![Voice Changer reserves credits from the measured duration of the connected speech recording.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FyV4y3ojiLmN1M6l6zssC%2Faudio-01.jpeg?alt=media)

Credit rounding can make different short clips display the same reservation.

![Seed ASR uses the connected speech recordings, with both short examples rounding to the same credit minimum.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FRMmYTlZBM0BMWNgcDRaR%2Faudio-02.jpeg?alt=media)

### Video duration and routes

![Video Upscale — 4s and 8s — connected media and the current upfront reservation.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2Fsz7U3SDph72RUUZsnyTY%2Fvideo-01.jpeg?alt=media)

![Video Edit — Grok and HappyHorse — connected media and the current upfront reservation.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FnEtLwXYhUF8oYaPhpNJI%2Fvideo-07.jpeg?alt=media)

## Predicted credit holds for eligible nodes

Nodes with maximum-based pricing can use a hold predicted from historical run costs when a usable trained model supports the current inputs. A smaller hold leaves more credits available for other runs while work is in progress.

The node shows **Hold N credits**, or **Next hold N credits** while running. The selection toolbar also uses **Hold** when its total includes statistical reservations. Quotes refresh after relevant input, media, permission, and pricing changes, and periodically while the editor is open.

The admitted hold stays fixed for that run. Final node charges cannot exceed it: Atlas absorbs costs above the hold, and refunds the unused reservation when a run costs less. Later estimates describe a subsequent run.

Predictions use execution inputs and measured media properties and are shared across users within the same platform environment. Nodes without sufficient evidence or a compatible model keep their formula-based maximum; exact-priced nodes keep their existing charging behavior. The assistant’s **estimate\_node\_credits** tool continues to return a deterministic maximum.

Lower predicted holds depend on trained models being available and are not guaranteed for a particular node or a fixed percentage.

## Attach a 3D mesh to a surface

The new **Attach mesh to surface** node identifies a plausible flat mounting or support region and turns it toward a selected axis. Choose downward **−Z** (the default), upward **+Z**, forward **−Y**, backward **+Y**, left **−X**, or right **+X**.

![Downward and upward attachment use different target contact areas and show the transformed meshes and selected support regions.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2F5XzNhy53tlBC4F4sgAgJ%2Fmesh-down-up.jpeg?alt=media)

**Scale to Attachment Area** uniformly scales the mesh to a requested contact area in square scene units. It starts enabled; turn it off to retain the original scale. The contact-area measurement excludes holes and gaps between separate feet.

**Move Origin to Attachment Center** places the chosen region’s center at the origin. It also starts enabled and can be controlled independently of scaling. When off, rotation and scaling use the existing origin.

Outputs include the transformed mesh, an **Attachment Preview** marking the chosen region on the original asset, and a **Selection Reason**.

![The Attachment Preview marks four separate feet and excludes the gaps from the measured contact area.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FM2iyDS4PTbmhGSKBGwOj%2Fmesh-four-feet-preview.jpeg?alt=media)

![The lamp’s ring-shaped support is scaled to one square scene unit, excluding its central opening.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FpxleWezTyCX8RA5tiLP7%2Fmesh-ring-base.jpeg?alt=media)

![The Attachment Preview identifies the square-ring support region and its excluded central hole.](https://3654894688-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FUOczsFLaaJX3g1pMcjwq%2Fmesh-ring-preview.jpeg?alt=media)

The node supports static GLB meshes and examines their six axis-aligned sides. A mesh without a suitable flat region returns an explanatory error. Prepare animation, rigging, morph targets, GPU instances, and sparse or normalized integer geometry before using attachment.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.atlas.design/atlas-ai-studio-overview/release-notes/release-0.41.0.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
