
Point a culling tool at a folder, walk away, come back to a shortlist. In between sit five stages, and nearly every complaint photographers have about these tools traces back to one of them. Here is the plumbing: what gets read, where the work happens, what comes out the other end, and which file on your disk actually changes.
Every AI culling tool runs the same five stages, whatever the marketing calls them. It reads the folder. It builds previews it can look at. It scores each frame. It groups the frames that belong together. Then it writes a verdict somewhere your editor can see it.
What happens inside the scoring stage, the edge contrast, the eyelid measurements, the little visual fingerprints, we pulled apart separately in how AI picks your best photos. This piece is everything around that: what goes in, where the arithmetic happens, and what lands on your hard drive at the end.
That last question is the one that decides whether you can trust the thing on a paying job, and it is the one vendors explain worst. So the answer up front: on the mainstream tools your RAW files are read and never rewritten. The verdict goes into a small companion file, into your editor's catalog, or into the tool's own database. The photo itself is left alone.
Knowing the order of the stages is also the fastest way to diagnose a tool that feels slow, or one whose picks never reach Lightroom. Those are two different stages failing, with two different fixes.
You point the tool at a folder. Before any picture is examined, it does two dull and important things.
It walks the folder, keeps the extensions it supports, and pairs things up: a RAW and its matching JPEG if you shoot both, plus any XMP sidecar files already sitting beside your RAWs from an earlier pass. Get this wrong and the symptom is obvious, half your frames missing or every shot appearing twice.
Then it pulls the EXIF block out of each file: capture time, camera model, body serial number, lens, shutter speed, ISO. This costs almost nothing, a few hundred bytes at the head of the file, and it does most of the organizing work later. Capture time is what turns a list of files back into a timeline, so grouping depends on it entirely. The body serial is what lets a decent tool tell your frames from your second shooter's.
Which is why the oldest advice in the category is still the best: set both bodies to the same clock before the ceremony. Drift of a few minutes scatters one moment into two, and no amount of clever scoring puts it back together. There is more on that in our after the shoot ingest checklist.
At the end of stage one nothing has been written anywhere. The tool has a list and a timeline, and has not opened an image yet.
A RAW file is not a picture. It is a grid of sensor readings plus instructions for turning them into one. Nothing can look at it, not your screen and not a model, until something converts it into actual pixels. That conversion is where your first ten minutes go.
There are two routes. Decode the RAW properly, which is accurate and expensive, or pull out the JPEG preview your camera already baked into the file. Photo Mechanic built its reputation on the second route: Camera Bits' own documentation says that when you open a contact sheet of RAW files,"you will see the embedded raw preview", with full rendering offered as an option for when that preview is missing or too small.
Culling tools do a version of the same thing, then downsize twice: a small copy, a few hundred pixels on the long edge, which is all the scoring stage needs, and a larger one for your screen when you review.
So the first pass is disk bound, not brain bound. It is limited by how fast bytes come off the drive, not by how clever the model is. That is why the same shoot crawls from a card reader or a bus powered USB drive and flies from an internal SSD, and why a faster laptop sometimes changes nothing at all. It is also most of the reason your editor feels sluggish on import, which we get into in why Lightroom is slow for culling. Copy to fast local storage first, then cull.
Now each small preview goes through the checks, and out the other side comes a row of numbers for that frame: a sharpness figure, how many faces were found, an eyes open value for each of them, an exposure flag, a confidence number attached to most of it. That is the whole output of the scoring stage. Not a decision, a row of numbers.
Those numbers are written into the tool's own database, a file inside its application folder, keyed to the path of your photo. Your photo is not touched.
The one genuinely architectural choice in the whole pipeline is where this arithmetic runs. Aftershoot does it on your machine and says so plainly: "Aftershoot works locally on your computer, so you can process your images without depending on cloud uploads or a constant internet connection". Imagen does the opposite, describing its culling as "cloud-based" and noting that it therefore does not touch your computer's CPU or GPU, which is true and comes with the obvious condition: the photos have to get there first.
Neither is wrong. Local spends your machine and your evening. Cloud spends your upload speed, and puts a wedding's worth of client files on somebody else's servers. Know which one you bought before your first Sunday night on a rural connection.
Scoring judges frames one at a time, which is not how you shoot. You shoot in bursts, and the useful question is never is this photo acceptable. It is which of these six.
So the tool sorts by capture time, cuts the day wherever the gap between frames gets long enough to look like a new moment, then compares the frames inside each moment against each other and ranks them. What comes out is not a flat list of scores, it is a set of moments with a suggested pick in each.
This is the stage that changes how the job feels rather than how long it takes, because it swaps thousands of absolute judgments for a few hundred comparisons, and people are far better at the second kind. It is also the stage that quietly fails when your clocks are out of sync, or when you shoot a slow scene one frame every thirty seconds and nothing groups at all. The mechanics of the matching itself are in how duplicate detection works.
Here is the part that matters on a real job. The tool now has an opinion, and there are only four places it can put it.
A small text file with the same base name as your photo and a .xmp extension, carrying star ratings and color labels. Your RAW is not opened for writing at all. Aftershoot's support documentation covers syncing "Star Ratings, Color Labels, and edits via XMP", and tells you to switch on Lightroom's Read Metadata from File option, or Capture One's preference for sidecar XMP over embedded metadata, so your editor actually picks the file up.
JPEG and DNG carry their metadata internally, so ratings go into the file itself rather than a companion. The file is rewritten, the image data is not. Aftershoot's FAQ makes the distinction explicitly: "we don't overwrite your originals, and ratings for RAW workflows are typically written to XMP sidecar files instead of changing the source files themselves".
Narrative advertises "one click import to edit your shoot in Lightroom Classic (mac and windows) as well as Lightroom CC, Photoshop and Capture One on mac". The verdict lands in the catalog rather than on the folder, which is tidier and ties you to that editor.
The tool keeps the shortlist in its own database and your folder is untouched until you ask for an export. This is the approach we are taking, and it is the one that assumes you will change your mind.
| Output | Where it lives | What your editor sees | What happens to the RAW |
|---|---|---|---|
| XMP sidecar | A .xmp file beside each RAW | Stars and labels, once read metadata from file is on | Untouched, byte for byte |
| Embedded metadata | Inside a JPEG or DNG | Stars and labels on import | File rewritten, pixels unchanged |
| Direct handoff | Your editor's catalog | The shoot arrives already rated | Untouched |
| A list in the app | The tool's own database | Nothing, until you export | Untouched |
| Sorting into subfolders | Your disk | Frames missing from the original folder | The file is moved, so read the setting first |
That last row is the only one with teeth, and it is a setting rather than a default. Aftershoot, for example, states in its FAQ that it "is non-destructive; it never deletes images. Every photo stays accessible in the rejected view". Find the equivalent sentence for whatever you use, before the wedding rather than after it.
Nearly every support thread in this category is a stage five problem wearing a stage three costume. The tool worked. The verdict just never arrived.
Sidecars are matched by filename. Rename your files after culling and the link between photo and sidecar is only as good as the renaming tool. Do the renaming first, as part of ingest, or use something that renames both together. Our file naming system exists mostly to stop this happening twice.
Lightroom does not go looking for updated sidecars. If the ratings are not showing, select the folder and use Metadata, then Read Metadata from File. Nine times out of ten they appear immediately. The full path is in exporting selections to Lightroom.
Stars and flags are not the same currency. Flags live in the Lightroom catalog, while star ratings and color labels travel in metadata, so a tool writing sidecars can hand you stars but not flags. Pick one system and hold it across the whole workflow.
Where does the verdict get written, a sidecar, my catalog, or your database? Does anything on my disk move or get renamed, and is that a default or a setting? And how many taps does it take to see the frames you passed over? The first two protect your files. The third decides whether the software is your assistant or quietly your editor.
We are building a picking app, so read this as interested rather than neutral.
The stage that hurts is not scoring, it is that all five stages currently require a desk. Previews cannot be built until the drive is plugged in, so the earliest you can start is the moment you get home, which on a wedding Sunday is nobody's best hour. So we run the first pass on the phone: the shoot comes onto the iPhone or iPad and the yes and no pass happens on the sofa. Comparing two nearly identical frames at full size is better on a big screen, so the same shoot opens on the Mac and you carry on where you stopped, which is the split we argue for in phone versus computer culling.
On stage five we take the most conservative option available. Kepla marks which photos it picked. Nothing is deleted, moved or renamed, every original stays in its folder under its own name, and anything it passed over is one tap from joining the shortlist. If disagreeing with the software is expensive, you stop disagreeing, and then it is making your editorial calls by attrition.
Stated plainly: the picking app for iPhone, iPad and Mac is still being built and has not shipped. What is live today is the Kepla booking page, free while we build. If you want the same explanation without the plumbing, we wrote AI culling explained simply for that.
On the mainstream tools, no. Your RAW is opened for reading and never written back. Ratings and labels go into a small XMP sidecar file next to it, into your editor's catalog, or into the tool's own database. JPEG and DNG files are the exception, because those formats hold their metadata internally, so the file itself is rewritten while the image data stays exactly as it was.
It is a small text file with the same name as your photo and a .xmp extension, sitting beside it in the folder. It carries information that cannot be stored in a RAW file safely, such as star ratings, color labels and edit settings. Culling tools write to it so your RAW stays untouched, and Lightroom or Capture One read it back when you tell them to.
Because it is reading your whole shoot off the disk and converting each RAW into viewable pixels before any scoring starts. That stage is limited by drive speed, not by the model. The same job runs several times faster from an internal SSD than from a card reader or a bus powered external drive, which is why copying to fast local storage first is worth the wait.
Yes. If the scoring happens on someone else's servers, the images have to travel there first, so your upload speed becomes part of your turnaround time and a client's wedding sits on a third party's storage. Imagen is cloud based and says so. Aftershoot, Narrative Select and FilterPixel run the analysis on your own machine, so nothing leaves the building.
Almost always because Lightroom has not been told to read them. Ratings written to XMP sidecars only appear after you switch on Read Metadata from File, or select the folder and choose Metadata, then Read Metadata from File. The other common cause is renaming your files after culling, which breaks the match between each photo and its sidecar.
Some tools offer that as an option, and it is worth finding the switch before your first real job rather than after it. Most default to marking rather than moving. Aftershoot states in its FAQ that it never deletes images and that every photo stays reachable in a rejected view. Kepla only marks its picks, and never moves or renames a file.
Kepla for Mac clears the obvious misses from a card, names the reason on every frame it sets aside, and leaves the choosing to you. Nothing is ever deleted, moved or renamed. Free through the private preview · the first hundred photographers keep it at $99 a year.