Migrating a Decade of Photo Sessions into a Single Capture One Catalog


Check out the script on Github

Each one of my shoots lives in its own Capture One session folder on a NAS drive, complete with raw files, color grades, ratings, and crop adjustments stored in small sidecar files alongside the images. This works fine job by job, but browsing across hundreds of shoots on a server becomes impractical when everything is siloed.

The goal of this project was to consolidate roughly 500 sessions into a single Capture One catalog, preserving every edit and rating exactly as they were, and organized in a way that mirrors the file structure as it is on the server, so the path to get to shoots is the same, for example the path /Archive/Editorial/Client/ShootFolder is the same in finder and in the Capture One Catalog.

The storage architecture was designed with speed in mind. The catalog itself lives on a fast external SSD attached directly to the workstation, and all proxy preview files are stored there. This means browsing any shoot, even one from years ago, is instant. The full raw files stay on the NAS. When it comes time to deliver a high resolution file or a JPEG, Capture One reaches back to the NAS to read the original raw, applies all the saved adjustments, and renders the output to a selected folder. Day to day browsing stays fast because it never needs to touch the server.

The migration itself was handled by an AppleScript that crawls the archive, finds every session, and imports each one into the catalog automatically. The key insight was to import the image subfolders directly rather than the session root, which tricks Capture One into reading the files as plain images rather than trying to open them as a session. Capture One picks up all the sidecar adjustment files automatically in this mode. As a bonus, Capture One builds a Folders view in its Library panel that mirrors the original finder hierarchy perfectly, so every shoot is exactly where you would expect to find it.

The script runs unattended overnight, paces itself to avoid overwhelming the application, skips sessions it has already processed so it can be safely interrupted and resumed, and logs everything to a file for review. Around 300,000 images made it into the catalog with their edits intact.