> For the complete documentation index, see [llms.txt](https://memorystring.codebyz.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://memorystring.codebyz.com/style-and-motion/groups.md).

# Multi-photo groups

When one photo isn’t the whole beat — stacks, rings, ribbons, tossed prints. On/off: **Motion → Transitions Mix → Multi-photo**. Sections below hold cadence, count, and direction.

![3D Ribbon and Carousel cadence](/files/75ilFaVyDsOUpmqkqVVK)

New projects: **Photo Stacks, Carousel, and 3D Ribbon on**; **Filmstrip**, **Perspective Pair**, and **Scatter & Settle** off until you enable them or pick a Look that opts in. Looks set their own cadence (every Look enables Perspective Pair; every Look except **Clean** opts in Scatter & Settle; **Vintage**, **Cinematic**, **Noir**, **B\&W**, and **Crisp** opt in Filmstrip).

Each featured beat inside a group is **72.5%** of a single slide’s hero time. Groups keep at least **two** normal slides between windows. Carousel, 3D Ribbon, and Filmstrip also keep at least **four** normal slides between consecutive *travel* windows.

With two or more kinds on, one planner lays out every window: kinds take turns (widest first), a non-travel kind lands between travel kinds when it can, and windows spread evenly. Each kind’s “every N” votes on **one shared rhythm**. **Shuffle Transitions** keeps count/cadence but scatters gaps.

Rearrange slides by hand and windows **pin** to those photos — the planner steps aside until you sort, shuffle, reset, or change cadence / count.

Right-click two or more selected clips → **Group Transition**; **Change Transition** or **Ungroup** on an existing group. See [Library](/build-your-movie/library.md#right-click-a-slide).

![Library: Change Transition and Ungroup on a grouped clip](/files/C2oqc3bEcXxlOqvUftsc)

![Library: Group Transition when several clips are selected](/files/yWyp2ZWnOTVJ7LwkTEQX)

Videos that fit a window play through it; shorter clips hold the first frame until that seat’s hero approach, then play. Unmuted clip audio is audible only while that card is the hero.

## Photo Stacks

* **Stack Every** — 3…8 (default 4)
* **Stack Size** — 3, 4, or 5 cards (default 4)

Fanned cards in a loose pile; faded Ken Burns washes behind soft-crossfade every couple of presents, coloured by Style **Backdrop**.

{% embed url="<https://www.codebyz.com/products/memory-string/catalog/group-photo-stack.mp4>" %}

## Carousel

* **Carousel Every** — 3…8 (default 4)
* **Photos** — 3, 4, or 5 seats (default 5)
* **Direction** — Left to Right / Right to Left / Random (default)

Cards join a turning ring from the incoming side, ride one revolution, then peel off. Beat length follows seat count and Energy. Front card matches single-slide size; sides foreshorten.

{% embed url="<https://www.codebyz.com/products/memory-string/catalog/group-carousel.mp4>" %}

## 3D Ribbon

* **Ribbon Every** — 3…8 (default 5)
* **Photos** — 4 / 5 / 6 (default 5)
* **Direction** — Left to Right / Right to Left / Random (default)

An open depth belt — one hero at a time, flanks beside it. Spacing breathes with Photo Size.

{% embed url="<https://www.codebyz.com/products/memory-string/catalog/group-ribbon.mp4>" %}

## Perspective Pair

* **Pair Every** — 3…8 (default 6)
* Always **two** photos

Cover-flow for two: front advances to Photo Size, then flies aside as the back becomes the hero.

{% embed url="<https://www.codebyz.com/products/memory-string/catalog/group-perspective-pair.mp4>" %}

## Filmstrip

* **Filmstrip Every** — 3…8 (default **6**)
* **Photos** — 4 / 5 / 6 (default **5**)
* **Direction** — Horizontal / Vertical / Random (seeded per window; default Random)

Off for new projects until you enable it or pick a Look that opts in (**Vintage**, **Cinematic**, **Noir**, **B\&W**, **Crisp**).

Flat perforated strip; centre hero at Photo Size — not Ribbon’s depth belt, not Carousel’s orbit.

{% embed url="<https://www.codebyz.com/products/memory-string/catalog/group-filmstrip.mp4>" %}

## Scatter & Settle

* **Scatter Every** — 3…8 (default 6)
* **Photos** — 3…6 (default 5)
* **Direction** — From Left / From Right / Random
* **Spread** — Wide or Tight
* **Throw** — Mild / Medium / Full
* **Speed** — Gentle / Normal / Snappy

Cards throw in, land scattered, step forward in timeline order, then throw off the other side. Waiting cards stay opaque (dimmed, softly blurred). Next slide waits until the last card has left.

{% embed url="<https://www.codebyz.com/products/memory-string/catalog/group-scatter-settle.mp4>" %}

Look feel (Help): Polaroid tosses often into a tight pile; Vintage and B\&W lay prints out mildly; Noir stays restrained; Golden Hour a soft warm toss; Cinematic throws full and wide; Crisp snaps.

## When to use it

* **Stacks** — lively, album-style fanned cards
* **Carousel** — a cinematic tilted orbit
* **3D Ribbon** — an open waving belt, one hero at a time
* **Perspective Pair** — a two-card cover-flow deck
* **Filmstrip** — flat H/V frames along a strip
* **Scatter & Settle** — Polaroids tossed onto the stage
* **All off** — classic one-slide-at-a-time, cut with **Single slides**

## Timeline / Library

Follower slides collapse onto the lead cell. Library badges: **stack 1/5**, **carousel 2/5**, **ribbon 5/5**, **pair 1/2**, **filmstrip 3/5**, **scatter 2/5**. Mix checkboxes and group knobs undo with **⌘Z**.


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://memorystring.codebyz.com/style-and-motion/groups.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
