> For the complete documentation index, see [llms.txt](https://docs.memorystring.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.memorystring.app/build-your-movie/library.md).

# Library

Import photos and videos into MemoryString from folders or Photos, sort them, Peek at Outtakes, and use the Library Show menu.

Photos and videos for your movie appear in the **Library** on the left. Music is in Inspector → **Audio**, not here.

![Library with photos, transition names, mute badges](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-8f2e035120963a860e041af770819ffe10411bb0%2Fpreview-stage.png?alt=media)

When the **Library** has items, the header has **calendar** (sort / shuffle), **captions** bubble, the stacked-slides **Show** menu, and **+**. When empty, only **Show** and **+** appear.

Drag the right **divider** to resize. It snaps to whole columns. **View → Toggle Sidebar** (**⌃⌘S**) hides the sidebar. **⌘+** / **⌘-** / **⌘0** change UI text size for **Library** cards (same as **Timeline** strip height).

## Import

Use menus, drag-and-drop, paste, or **Import from Photos…**.

Folder and Finder imports stay **linked** to originals. If you move or delete an original, the clip breaks until you relink.

**Photos.app** media is **copied** to Application Support **Imports** because Photos does not allow stable links. Pasted images with no file are copied the same way.

* Toolbar or **Library** **+** → **Photos & Videos…**, or **File → Import Media…**
* **File → Import from Photos…**: see [Import from Photos](#import-from-photos)
* Drop folders, photos, or videos on the window
* **Edit → Paste** (**⌘V**): files, folders, images from other apps, or screenshots. A `.memorystring` file **opens** when pasted.
* Empty **Library**: **Nothing in library yet**. Preview accepts drops. Hover: **Gather the thread** for media; **Bring back memories** for a project file.

**+**, **Add photos & videos**, **File → Import Media…**, **Import from Photos…**, **Music…**, and **Royalty-Free Library…** grey out while **Stringing it together...** is up, while **Long story short** is running, and while a saved show is opening (**It's coming back now…**). Hover: **Wait until this import finishes**, **Wait until Long story short finishes**, or **Wait until the project finishes opening**. Drops and paste wait too.

**Photos:** `.jpg` / `.jpeg` / `.jfif`, `.png`, `.heic` / `.heif`, `.tif` / `.tiff`, `.webp`, `.bmp`, `.gif`\
**Videos:** `.mp4`, `.mov`, `.m4v`, `.avi`, `.mkv`, `.mpg` / `.mpeg`, `.m2v`

Unsupported types are skipped. **⌘C** copies selected items as files. In a caption or title field, **⌘V** / **⌘C** are plain text.

Videos show a play badge and duration. Multi-select shows a count.

**Essential:** after import, if the **Library** was empty or already **Oldest First**, new stills auto-sort **Oldest First (Story Order)**. **Studio** does not. **⌘Z** undoes.

{% hint style="info" %}
**Keep Best Shots** may ask after import when photos of the same moment appear. A different pose is not flagged. **Keep Best** (default) or **Keep All**. Extras go to **Outtakes**. Undo **⌘Z**. Videos are not Keep Best targets. Prompt waits until import loader clears. Videos are not auto-trimmed on import. Use **Auto Trim** from a clip menu or the **Library** Show menu. Sideways and upside-down photos and videos are turned upright during import, before they land. See [Auto detection](/build-your-movie/auto-detection.md#keep-best-shots) and [Orientation](/build-your-movie/auto-detection.md#orientation).
{% endhint %}

![Keep Best import prompt: Keep All or Keep Best](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-97b06deebcd404e5903fba2aa32253ef35a3167f%2Fkeep-best-import-prompt.png?alt=media)

{% hint style="info" %}
An import that would put more than **150** photos and videos on the show asks first: **Long story short**, **Import all**, or **Cancel**. See [Long story short](/build-your-movie/long-story-short.md#large-imports).
{% endhint %}

## Import from Photos

**File → Import from Photos…** (also toolbar **+**, empty-stage Add, **Library** **+**).

![Toolbar + menu includes Import from Photos…](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-5553f2ce087b694f7be2681b7194967c02e81a29%2Ftoolbar-plus-menu.png?alt=media)

![File menu: Import from Photos…](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-085aa5857cd6a2091208821551d567fabbab25d0%2Ffile-menu-import-photos.png?alt=media)

![Import from Photos: Recent, Albums, People, By Month, Trips & Events, Media Type](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-5ae215d5176e483497a6dc477a34821f54f833ae%2Fphotos-import-hub.png?alt=media)

Categories:

* **Recent**: Last 7 Days / Last 30 Days / Last Year
* **Albums**
* **People**: A–Z. If empty, **Choose Photos Library…** once
* **By Month**
* **Trips & Events**
* **Media Type**: Videos, Panoramas, Screenshots, Live Photos, Bursts

![Recent: Last 30 Days, Select All / Deselect, ready to import](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-99e5ca393b6f832a7045acbe0ba403028364815b%2Fphotos-import-recent.png?alt=media)

![Albums: pick one or more, then Import](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-95831eea74ca1d1664c8546468f8b8245dc2580b%2Fphotos-import-albums.png?alt=media)

![People: named faces, A–Z](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-07f6e3987d677e347995b59aaaf3c8eb64b58a45%2Fphotos-import-people.png?alt=media)

![Date filter open: From / To, Apply, Clear](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-70c0e0046b681854dd0c2ae4bbc33fc8875c1267%2Fphotos-import-dates.png?alt=media)

![By Month: years and months](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-198eb64ac24b70f96c01a442e5be59245c6a55cf%2Fphotos-import-by-month.png?alt=media)

![Trips & Events: Photos events, or empty if none](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-a3a63777761b3a5d475e86eb7a04498fc0bbb539%2Fphotos-import-trips.png?alt=media)

![Media Type: Videos, Panoramas, Screenshots, Live Photos, Bursts](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-8c7995451e842ca24e1a6d7a20fa1ee0f387f979%2Fphotos-import-media-type.png?alt=media)

**Select All** / **Deselect** on Recent. **From** / **To** date filter on most lists. Footer **Import** / **Cancel**.

First time, macOS asks for Photos access. Allow both prompts.

![Photo Library: Allow Access to All Photos](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-3d6a69dffca52c0cd55d244c3e1f728d377eeba3%2Fphotos-permission-library.png?alt=media)

![Photos automation: Allow so album counts and covers can load](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-b330ec99f6b549397a5164c05e465ae9490fc62c%2Fphotos-permission-automation.png?alt=media)

If **Allow “MemoryString” to find devices on local networks?** appears, **Allow** is fine. MemoryString does not browse your local network.

![Local Network: Allow if it appears](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-b60cef51dd1f77cd328ebc7421a02d574876599c%2Fphotos-permission-local-network.png?alt=media)

If Photos access is missing, the sheet says **Access Your Photos** or **Photos Access Required**. **Allow Access** asks again, or opens System Settings → Privacy & Security → Photos when macOS already has an answer. There is no second settings button.

Photos imports are **copied** to Application Support **Imports**. Finder folder drops stay linked. A Photos import moves through **Importing M of N** several photos at a time.

Same rules on every path: **+**, Finder drop, Photos.app drag (often one file at a time), paste. **Keep Best** counts the **whole drop**.

While a first-import loader runs, **Stringing it together...** (percent, **Cancel**, and finding focus), drops, paste, **Add**, **+**, Import Media, and Import from Photos stay grey. Hover: **Wait until this import finishes**. While a saved show is opening, **It's coming back now\...** (no percent), drops, paste, **Add**, **+**, Import Media, Import from Photos, and Music stay grey until the fog lifts. Same grey lock during **Long story short**; Add comes back after Close, Open, or Cancel. Loader is a spinner with smoke animation.

## Cover and show name

First import into a new show (opening title **Memories**) can set project name and cover poster. Rules: [Titles and captions → Show cover and project name](/build-your-movie/intro-captions.md#show-cover-and-project-name).

* **Photos albums:** Apple key photo may become cover unless it is already first or second on the show.
* **Name:** single album, person, or trip import; or folder name from **Add Folder** / Finder folder drop. Title Case applied. Generic names skipped.
* Manual **Choose from Library**, **Choose File…**, a drop on the opening card, or **Remove** stops automatic cover forever.

## Outtakes

**Takes** (the show) and **Outtakes** split the left column. Drag the seam to resize **Outtakes**.

![Outtakes bin with three photos](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-a857c4047a1fd4af01c8b139fb2eb695114ab5a2%2Flibrary-outtakes.png?alt=media)

Header shows count when not empty. **Outtakes** holds shots in the project but not on the show, from **Keep Best**, [Long story short](/build-your-movie/long-story-short.md), or **Move to Outtakes**. On a group, **Move to Outtakes** moves one seat; **Entire group ▸** moves all. Empty: **Nothing discarded.**

Click selects; preview stays on the current slide. Drag up to return to the show. That photo’s focus is found on the way back, so a face does not stay in the middle of the frame. A large drop does not freeze the window. Drop on the opening card sets its background. Right-click **Peek**, **Move to Takes**, or **Remove from Project**. Calendar sort sorts **Outtakes** too. **Shuffle** is show-only.

**Peek** inspects a parked shot over the preview without putting it in the show or moving the playhead. Double-click an Outtake, or right-click → **Peek**. Click other Outtakes to switch. Leave with **Close** (bottom-right), **Esc**, **Play**, or a Take click. Space on a peeked video plays that clip only.

![Outtake menu: Peek, Move to Takes, Remove from Project](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-2576a240c4e754483e4d4d569040afdd5fed8f12%2Flibrary-outtakes-menu.png?alt=media)

## Sort (calendar)

![Library calendar: Oldest First, Newest First, Import Order, Shuffle](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-45d9baefc4b2c7eff3b39abaf7c57372589f4cfa%2Flibrary-menu-sort.png?alt=media)

* **Oldest First (Story Order)**
* **Newest First**
* **Import Order**
* **Shuffle**

**Edit → Sort by Date Taken** and **Motion → Timeline → Sort by Date Taken** offer three date/import choices (no Shuffle). **Studio** **Motion → Timeline** has **Shuffle Slides**.

Capture date from EXIF; file date if missing. Undated at end. Opening card stays first. **⌘Z** undoes.

## Captions (bubble)

![Library captions: Auto Caption untitled, Auto Caption All, Clear All](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-7c83c30a07f54b85a7f83abec68d7ad9a14e312f%2Flibrary-menu-captions.png?alt=media)

* **Auto Caption N Untitled Slide(s)**
* **Auto Caption All Slides…**
* **Clear All Captions…**

See [Titles and captions](/build-your-movie/intro-captions.md#auto-caption).

## Show menu

The stacked-slides icon (not ⋯) opens **Show**. Cut names under thumbs are always on. There is no checkbox to hide them.

![Library Show menu: Make Long story short, Videos, Audio](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-9eb6f4b2c5ca7981c4de2d6bb48181c7249de340%2Flibrary-options-menu.png?alt=media)

* **Show**: **Make Long story short**, **Shuffle Transitions**, **Reset Slide Durations**, **Keep Best Shots…**
* **Videos**: **Auto Trim Videos…**, **Reset Video Durations**, **Mute Noisy Videos**, **Mute All Videos**, **Unmute All Videos**
* **Audio**: **Fit Show to Music**, **Extend to Fill**. See [Music](/build-your-movie/music.md#length)

**Import from Photos…** is on toolbar **+** and **File**, not this menu.

## Reorder and replace

Drag thumbs. Drop on a group’s **first seat** to **join**. On **Timeline**: gap = insert; slide or group seat = **Replace**; opening card = background.

Whole groups move together until you select one seat. See [Organizing](/build-your-movie/organizing.md#drag-to-reorder).

## Right-click a slide

On a photo or video (not empty space):

* **Slide Transition** or **Random**
* **Group Transition**: two or more singles, or change group type
* **Lens Effect**: Studio only
* Videos: **Auto Trim**, **Reset Video Duration**, **Mute Video Sound**
* **Set Duration…** (**⌘D**)

![Slide Length for the selected slide](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-3e29b269d5e0b916fdb7df7d295bbee6d2a78ad4%2Fset-duration.png?alt=media)

* **Rotate & Flip**
* **Set Caption** (**⇧⌘C**), **Clear Caption**
* **Move to Outtakes** / **Move to Takes**
* **Remove from Project** (**⌘⌫**)

Grouped seat: the header shows **Photo 2 of 5 · Ribbon**. The top of the menu is for **that photo**, plus **Auto Trim videos in this group** and **Reset Video Durations in this group**. Below it: **Group Transition**, **Entire group ▸** for all seats, and **Ungroup**.

![Grouped seat menu: Photo 2 of 5 · Ribbon, Group Transition, Entire group, Ungroup](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-e0cb656f948cb2ac9a8a19a613f085a65165f1f6%2Flibrary-context-ungroup.png?alt=media)

On a group, **Set Duration…** sets the length of the **whole group**, the same as dragging its edge on the **Timeline**. It works from any seat, and from the Inspector length field.

![Entire group ▸: Rotate & Flip, Lens Effect, Set Duration…, Move 5 photos to Outtakes, Remove 5 photos](https://316881897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6lG8Zi4VdmddHJ8jUOT5%2Fuploads%2Fgit-blob-48767c978f0ca5e5d50afaec99bab43c4bd6dc51%2Flibrary-entire-group-menu.png?alt=media)

Opening card: **Set Intro Title**, **Set Background Image**, **Disable Intro Slide**, (Studio) **Lens Effect**, [Reset Center of Interest](/build-your-movie/preview.md#center-of-interest).

Right-click **empty** **Library**: same sort / shuffle / captions / **Shuffle Transitions** as header menus.

## Select

Click selects and seeks. Right-click opens menu and stages clip on preview. **⌘**-click toggles; **⇧**-click range. **Esc** deselects. **Library** and **Timeline** selection stay in sync.

### Videos

On import: speech stays; silence, wind, hiss, or quiet room noise may mute. Talking, music, and sharp hits stay. On-device. If you choose **Use Loudness Only**, muting uses loudness alone. Opening a show re-checks clips you have not already unmuted. [Auto detection](/build-your-movie/auto-detection.md#video-sound-auto-mute).

**Mute Video Sound** / **Unmute Video Sound**: right-click, badge, or Inspector.

**Library** Show menu **Videos**: **Mute Noisy Videos** (show stays clickable), **Mute All Videos**, **Unmute All Videos**. Mute all and unmute all stick when you reopen. **Mute Noisy Videos** decides again from the file.

**Auto Trim**: right-click or the **Library** Show menu. Not on import. Keeps about 4 seconds from the middle, with a small nudge toward a face, and the cut works about 70% of the time. Hand trims have a **2 second** minimum. **Reset Video Duration** restores the full clip.

## Multi-photo badges

Badges like **carousel 2/5**, **stack 1/5**. Group select shows one outline. Click member to seek that seat. **Timeline**: click cell for whole group; click again for one seat. See [Multi-photo groups](/style-and-motion/groups.md#timeline-library).

**File → Delete Project…** trashes the `.memorystring` and app-owned copies. Linked originals on disk are not deleted.


---

# 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.memorystring.app/build-your-movie/library.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.
