Proofing
A Gallery Where Clients Choose Which Photos to Edit, and the Picks Come Back as Your Edit Queue
Publish proofs straight from the catalog, let the client star and love in a gallery under your name, and pull the choices back into Lightroom Classic as ratings, flags and a collection you can edit.
Updated 5 September 2026
Most proofing tools solve half the problem. They give the client a nice place to choose, then hand you a list of filenames and leave you to reproduce that choice inside the software where the editing actually happens. The client is finished. You are not. You still have to turn names into a selection.
This guide describes the other shape of the same job: one loop, four moves, no filenames typed by hand. You publish proofs from Lightroom Classic. The client stars and loves in a branded gallery with no account to create. The picks return to the catalog as star ratings, pick flags, color labels and a collection. You edit the collection. Everything below is what the product does today, and the honest section near the end says plainly who this loop does not serve.
The loop in four moves
Read this table first. The rest of the page is each row in detail.
| Move | Where it happens | What it costs you |
|---|---|---|
| 1. Publish the proofs | Lightroom Classic, Publish Services panel | One click, and only the new or changed photos go up |
| 2. The client picks | A gallery on your own subdomain, under your brand | Nothing, until they send |
| 3. The picks come back | Lightroom Classic, Library menu, Plug-in Extras | One command against the open catalog |
| 4. You edit | One collection in your catalog | No browser, no second monitor, no list |
Move 1: publish the proofs from the catalog
The clientgallery.io plugin for Lightroom Classic is a real Publish Service, not an export preset with a website attached. That distinction is Adobe's, and it is the reason the second and third rounds of a shoot are cheap.
Adobe describes the panel plainly: the Publish Services panel in the Library module lets you send photos to a service, and photos sit in queues labeled "New Photos To Publish or Modified Photos To Republish", alongside Published Photos and Deleted Photos To Remove. When you publish, "Lightroom Classic uploads everything in both queues when you publish".
In practice the gallery is a mirror of a collection in your catalog rather than a folder you uploaded once. Add twelve frames the client asked for, and only the twelve go up. Re-develop four proofs after a comment, and only the four are republished. You never rebuild a gallery to correct it.
Publishing from the catalog also protects the step that comes later. The return trip matches on filename, so a gallery filled from the catalog carries the names the catalog carries, and a folder of renamed exports does not. The mechanics of that first publish are covered in publishing a client gallery straight from Lightroom Classic.
Move 2: the client picks, at two levels
The gallery opens with one line of instruction: open a photo, star what you like, love your favorites, then send your picks. Two levels, one grid. A single tap stars a photo. A double tap loves it. The studio side of the product calls them stars and hearts, and the client side labels them Star and Love.
Two levels exist because a client's answer is rarely binary. A star means keep it in the running. A love means this is the one, print it, put it in the album. Given one mark, a client either under-marks and you lose the shortlist, or over-marks and you lose the ranking. Given two, they separate yes from album-worthy in the same pass.
The access rules have two halves that are easy to blur. Picking needs no account: the share link is the only credential, and anyone holding it can star and love. Sending is different. The Send my picks dialog requires a name and a validated email, and the server rejects a submission without both. Browsing stays frictionless and the delivery stays attributable, which is what you want when two people are picking from the same link.
Picking is on by default and can be switched off per gallery. A gallery holds up to 1,000 photos, and a big shoot can be split into sub-galleries, one level deep, each with its own share link and its own optional access code. Ceremony, portraits, reception, three chapters, three shorter decisions. A photo belongs to at most one sub-gallery, and anything you do not file sits at the top level.
You find out they are done without checking. Email fires on picks, with a subject naming the client and the gallery and a body stating how many were loved and how many starred, and the iOS app fires a push on the same event. Before that, the studio dashboard shows an opened indicator on each gallery tile and the clients page carries pick and comment counts per gallery, which separates a client who has not looked from one who is still deciding.
Move 3: the picks land in the catalog
Back in Lightroom Classic, the return trip is one menu item, Import ClientGallery Picks, in Library, Plug-in Extras. It matches the picked photos against the open catalog by filename and writes the client's decisions in as native attributes. The mapping is fixed, and it is what makes the picks filterable rather than readable.
| In the gallery | In your catalog |
|---|---|
| Love | 5 stars, plus a Pick flag |
| Star | 3 stars, no flag |
| A color label | The same Lightroom color label: red, yellow, green, blue or purple |
| A comment | Nothing by default. An opt-in checkbox writes comments into the IPTC caption |
| Everything picked | A collection named for the gallery, holding the word picks, inside a collection set called ClientGallery |
Those targets are Adobe's own vocabulary. Flags designate "whether a photo is a pick, rejected, or unflagged", ratings run zero to five stars, and color labels are a flexible way to mark photos. Nothing new has to be learned to use the result.
The footprint is deliberately small. Photos are not moved, develop settings are not touched, nothing is exported and nothing is deleted. The import writes metadata and builds a collection. It is also re-runnable: if the client adds five more loves on Thursday, run it again and the same collection is topped up. The full mechanics, including what happens when no filenames match, are in getting client picks back into Lightroom.
Move 4: edit the collection, not the list
This is the point of the whole loop. Your edit queue is a collection in the Collections panel, and inside it the client's ranking is a filter.
- Five stars, or the pick flag, gives you the loves. That is the album, the prints, the frames that get the long edit.
- Three stars and above gives you the whole shortlist, the loves plus the maybes, for when the package has room.
- Color labels carry whatever you and the client agreed a color means, and they filter and drive smart collections like any label you applied yourself.
- A smart collection set to five stars, or to flagged, refills itself the next time you re-run the import, so a second round of picks joins the queue without any reconciliation.
You never open the gallery in a browser to check what to edit, and you never hold a list of names beside the catalog. Related reading on the two levels and on running this as a repeatable proofing round: star and love, two pick levels and a proofing gallery that writes flags and picks into Lightroom.
What the other galleries send back
Checked on 5 September 2026 against each vendor's own documentation. The short version: none of the four returns flags or star ratings to a Lightroom catalog. One of them returns a folder.
| Platform | What comes back to Lightroom Classic | File export of the picked filenames |
|---|---|---|
| clientgallery.io | 5 stars and a Pick flag for a love, 3 stars for a star, color labels, a collection | A .txt of filenames, offered once the client has sent |
| Pixieset | Nothing. The plugin uploads only; picks come back as a list you paste into the Library filter | CSV of filenames |
| ShootProof | Nothing. The Publish Service pushes from Lightroom to ShootProof | Clipboard copy from the Filenames box |
| CloudSpot | Nothing. Documented as a one-way sync | Clipboard copy, Copy Filenames |
| Pic-Time | A Selections folder or collection, on paid plans only, and not flags or ratings | CSV of favorites |
Pixieset states the limit in its own install article: the plugin "allows you to upload photos to Pixieset directly from Lightroom Classic". ShootProof describes its plugin as a Publish Service that pushes "directly from Lightroom to ShootProof". CloudSpot is the bluntest: "The best way to describe the Lightroom and CloudSpot connection is that it is a one-way sync."
Pic-Time is the real exception and deserves credit for it, with two caveats it publishes itself. "The Sync feature is only available on paid plans", and "Automatically syncing the favorites lists is currently unavailable in Pic-Time 2.0 galleries". What it writes is a Selections folder, so the client's images are gathered, without a rating or a flag to sort them by.
On pick levels, the pattern across all four is one heart plus multiple lists. Pixieset is representative: clients "can click the heart icon on any photo to add it to a new or existing favorite list". That is a real feature, and it is a different request. Lists ask the client to manage folders. Two levels ask the client to rank a photo, which is the thing you actually needed to know.
Why the filename paste is the weak link
Every workflow that ends in a filename list ends in the same Lightroom step, and Adobe documents why it is imprecise. The Library Filter bar has Text, Attribute and Metadata modes, and the text rules are Contains, Contains All, Contains Words, Doesn't Contain, Starts With and Ends With. With several terms under Contains, "Lightroom Classic finds photos that contain any of the individual sequences".
That is an OR match on substrings, not a lookup of a set of names. Paste forty filenames and you select every frame that contains any fragment of any of them, so near-matches ride along and you weed them out by eye. Pixieset's own Lightroom Copy List is built on exactly this: it creates a list of the images in a favorite list "formatted perfectly for Lightroom's search function", pasted into Find with Any Searchable Field and Contains.
Lightroom Classic has no documented way to filter by a pasted list of filenames. The Contains rule is the closest thing, and it is not the same thing. That is the gap a filename match running inside the catalog closes.
Who this loop does not serve
It assumes Lightroom Classic. The publish side and the return side are both a Lightroom Classic plugin. If you cull and edit in Capture One, none of it applies, and Capture One already ships its own answer. Capture One Live shares collections in a browser, collaborators and clients "do not need to own Capture One", reviewers "provide their feedback by star rating, color tagging, and adding their comments", and "Any ratings or tags added by reviewers sync back to Capture One in real time". That is a genuine round trip and you should use it. Weigh its published limits: a shared collection "will stay active for one month (24 hours if you are a free user)", watermarks are paid-subscription only, comments "will disappear when the collection expires", and Smart Albums are unsupported. A studio on the cloud version of Lightroom, or on Hasselblad Phocus, has no plugin of this kind either; no client gallery or proofing feature is documented for Phocus desktop.
Your business runs through a print store. If a real share of your revenue comes from selling prints inside your gallery platform, and your pricing, ordering and fulfillment all live there, your center of gravity is the store, not the edit queue. Pixieset and Pic-Time are built around that store and you should stay where you are. clientgallery.io has no print store and no commissions, which is part of why it is one flat price, 10 dollars a month or 100 dollars a year, and it is also why it is the wrong tool for a print-led studio.
You need to cap what the client selects. Nothing here limits how many photos a client can love. If an album contract turns on a hard count, Pic-Time's Selection Request is the closest published control, photographer-initiated with an amount that is "the maximum number of images the client can select", and it is "included in the Professional and Advanced Plans".
You deliver RAW or video. clientgallery.io hosts JPEGs. It does not warehouse RAW files or master video. That limit is what keeps the price flat, and it makes the platform wrong for a RAW delivery service.
You want the picks outside Lightroom entirely. The Export picks (.txt) button appears in the completed-gallery banner once the client has sent, and the file is filenames only, one per line, with no header and no level column. Loves are listed first, then stars, but the file does not say which is which. Only the plugin route carries the difference.
Sources
Product behavior was verified in the clientgallery.io source on 5 September 2026: the two pick levels and their tap gestures, the name and validated email required to send, the 1,000 photos per gallery ceiling, sub-galleries one level deep, the plugin mappings and collection set, filename matching, the email and push on picks, the opened indicator and per-gallery pick counts, the text export, and the price of 10 dollars a month or 100 dollars a year. Every external page below was fetched on 5 September 2026.
- Adobe, Publish photos from Lightroom Classic (Publish Services panel, the New Photos To Publish and Modified Photos To Republish queues, "uploads everything in both queues when you publish"), fetched 5 September 2026, https://helpx.adobe.com/lightroom-classic/help/prepare-send-or-post-photos.html
- Adobe, Flag, label, and rate photos (flags designate pick, rejected or unflagged; zero to five stars; color labels), fetched 5 September 2026, https://helpx.adobe.com/lightroom-classic/help/flag-label-rate-photos.html
- Adobe, Find photos in the catalog (Library Filter bar modes, the text rules, and "Lightroom Classic finds photos that contain any of the individual sequences"), fetched 5 September 2026, https://helpx.adobe.com/lightroom-classic/help/finding-photos-catalog.html
- Adobe, Photo collections (regular collections and collection sets), fetched 5 September 2026, https://helpx.adobe.com/lightroom-classic/help/photo-collections.html
- Pixieset, How do I install the Lightroom Plug-in ("allows you to upload photos to Pixieset directly from Lightroom Classic"), fetched 5 September 2026, https://help.pixieset.com/hc/en-us/articles/115003009832-How-do-I-install-the-Lightroom-Plugin
- Pixieset, Viewing Client Favorites in Lightroom (the Lightroom Copy List "formatted perfectly for Lightroom's search function", the Find, Any Searchable Field and Contains steps, and the CSV export of filenames), fetched 5 September 2026, https://help.pixieset.com/hc/en-us/articles/115003505192-Viewing-Client-Favorites-in-Lightroom
- Pixieset, How does proofing with Favorites work ("clients can click the heart icon on any photo to add it to a new or existing favorite list", multiple lists), fetched 5 September 2026, https://help.pixieset.com/hc/en-us/articles/115003733131-How-does-proofing-with-Favorites-work
- ShootProof, What is the ShootProof Lightroom Plugin (a Publish Service pushing "directly from Lightroom to ShootProof"), fetched 5 September 2026, https://help.shootproof.com/hc/en-us/articles/115009451507-What-is-the-ShootProof-Lightroom-Plugin
- CloudSpot, How Does the Lightroom Plugin Work ("The best way to describe the Lightroom and CloudSpot connection is that it is a one-way sync", Copy Filenames), fetched 5 September 2026, https://help.cloudspot.io/en/articles/114552-how-does-the-lightroom-plugin-work
- Pic-Time, How do I Sync Lightroom Selections and Favorites ("The Sync feature is only available on paid plans", the Selections folder, and "Automatically syncing the favorites lists is currently unavailable in Pic-Time 2.0 galleries"), fetched 5 September 2026, https://help.pic-time.com/en/articles/7834728-how-do-i-sync-lightroom-selections-and-favorites
- Pic-Time, How do I request a Client Selection (the Amount is "the maximum number of images the client can select", "included in the Professional and Advanced Plans"), fetched 5 September 2026, https://help.pic-time.com/en/articles/7831183-how-do-i-request-a-client-selection
- Capture One, Quick Start Guide for Capture One Live (browser sharing, reviewers do not need to own Capture One, feedback by star rating and color tagging, ratings and tags "sync back to Capture One in real time", the one month and 24 hour retention, paid watermarks, comments disappearing on expiry, Smart Albums unsupported), fetched 5 September 2026, https://support.captureone.com/hc/en-us/articles/4406763230481-Quick-Start-Guide-for-Capture-One-Live
- Hasselblad, Phocus for PC and Mac (the documented feature list, in which no client gallery, web publishing or proofing feature appears), fetched 5 September 2026, https://www.hasselblad.com/phocus/phocus-for-pc-mac/
Frequently asked
Is there a gallery where clients choose which photos to edit and the choices come back to Lightroom?
Yes. With clientgallery.io you publish proofs from Lightroom Classic as a Publish Service, the client stars and loves photos in a gallery under your own brand, and one command in Library, Plug-in Extras imports the picks back into the open catalog. A love becomes 5 stars plus a Pick flag, a star becomes 3 stars, color labels carry across, and everything lands in a collection inside a ClientGallery collection set. Matching is by filename.
Does the client need an account to choose photos?
No account is needed to pick. The share link is the only credential, so anyone holding the link can star and love photos. Sending is different: the Send my picks dialog requires a name and a validated email, and a submission without both is rejected. Browsing stays frictionless while the delivered picks stay attributable.
What is the difference between a star and a love?
A star is a like, a love is a favorite. A single tap stars a photo and a double tap loves it. In your catalog a star becomes a 3-star rating and a love becomes a 5-star rating with a Pick flag, so filtering at three stars gives you the shortlist and filtering at five gives you the must-edit list.
Do other client gallery platforms send picks back into Lightroom as flags or ratings?
No. Checked on 5 September 2026, Pixieset's plugin is upload-only, ShootProof's Publish Service pushes from Lightroom to ShootProof, and CloudSpot documents its connection as a one-way sync. Pic-Time does sync, but only on paid plans, and it writes a Selections folder rather than flags or star ratings; it also states that automatically syncing the favorites lists is currently unavailable in Pic-Time 2.0 galleries.
Why not just paste the filename list into Lightroom's filter?
Because it is an OR match on substrings, not a lookup. Adobe states that with multiple terms under Contains, Lightroom Classic finds photos that contain any of the individual sequences, so near-matching frames come along with the ones the client actually chose. Lightroom Classic has no documented way to filter by a pasted list of filenames.
How many photos can go in one gallery, and how do I split a big shoot?
A gallery holds up to 1,000 photos. For a bigger day, use sub-galleries, which go exactly one level deep and each carry their own share link and optional access code. Ceremony, portraits and reception become three shorter decisions instead of one long scroll, and a photo belongs to at most one sub-gallery.
How do I know the client has finished choosing?
Email fires when picks are sent, to your address, with a subject naming the client and the gallery and a body stating how many were loved and how many were starred. The iOS app fires a push on the same event. Before that, the studio dashboard shows an opened indicator on each gallery tile and the clients page carries pick and comment counts per gallery.
Your client galleries, under your name
Unlimited galleries, your branding, one-click Pixieset import, and a Lightroom plugin, all on a flat 10 $/month with everything included. Your first gallery is free.
Create your studio