Manual groups
User-named buckets for related images. Two-click creation, in-place rename, and the {group} token that puts the bucket name in your filenames.
Last updated April 27, 2026
A manual group is the simplest way to bucket related images. You name it, drop images in, and rename the whole batch as a unit. No schema, no SKU, no template required.
Manual groups exist on top of the same metadata model every other grouping axis uses — the bucket name is stored on image.metadata.group. That means everything you can do with metadata-keyed groups (group header defaults, the {group} filename token, CSV Import, template-driven group-by) works for manual groups too.
When to use them
- Photographer: organizing a wedding shoot into
prep,ceremony,receptionwithout inventing SKUs. - E-commerce without a PIM: quick product buckets when the catalog data isn't ready yet.
- Real estate:
kitchen,bedroom-1,bedroom-2,exterior. - Anyone: any time the natural mental model is "these belong together" rather than "this is product SKU 12345."
If your filenames need to encode richer attributes (brand, color, view), reach for templates and {val:KEY} tokens instead. Manual groups are for the bucket-of-images case.
Creating a manual group
Select the images
Multi-select rows in the workspace via row checkboxes, Shift-click, or rubber-band drag in the gallery view. The selection toolbar appears at the top of the table.
Click Group
The Group button (Folder icon, top-right of the selection toolbar) opens an inline name input. If you already have manual groups, the input shows an "Existing…" autocomplete; otherwise it's a free-text field.
Type a name and apply
Whitespace collapses to
-(soHero Shotsbecomeshero-shots); case is preserved at storage time and shaped at render time by the{group}token'scase=option. The workspace flips the Group by dropdown to Manual groups so you immediately see the new bucket.
Renaming a group
Click the bucket name in the group header. The label becomes an editable input (dashed underline on hover, Pencil icon affordance). Commit on Enter or blur, cancel on Esc. The new name ripples to every member's metadata.group in one store update.
In-place rename is intentionally scoped to manual groups. Renaming a SKU-keyed group still flows through Set Metadata → sku because re-keying SKU has filename-level downstream effects you want to be explicit about.
Putting the bucket in your filenames
Drop the {group} chip into your active filename format (Format Builder → + Token → {group}) and the bucket name lands in every member's filename:
Format: {group}-{descriptor}-{seq:2}{ext}
Render: hero-shots-front-01.jpg
hero-shots-back-02.jpg
hero-shots-detail-03.jpg
The token honours case= and sep= like every other builtin:
{group|case=upper|sep=_} → HERO_SHOTS
When the active format references {group} and a row has no manual-group assignment, the renderer short-circuits to empty for that row — same behaviour as {sku} and {descriptor}. The row stays in the workspace as "not yet nameable" and is skipped on export.
Combining manual groups with other metadata
Manual groups and metadata keys coexist:
{group}-{val:brand}-{descriptor}-{seq:2}{ext}
→ hero-shots-nike-front-01.jpg
CSV Import can populate metadata.group directly — map a column to the reserved group key and every matched row joins the named bucket on import.
Removing a row from a group
Three options, depending on your end state:
- Move it to a different group: drag the row into another group's header, or Set Metadata → group with the new name.
- Send it back to the Inbox: Set Metadata → group with an empty value.
- Delete the row entirely: select it and click Delete in the selection toolbar (the row is removed from the workspace; the original file on disk is untouched).
What's deferred
- A Photography — Manual Groups starter template (the format-string scaffold for
{group}-{descriptor}-{seq:3}{ext}etc.). - Multi-group membership (one row in two buckets).
- Nested groups.
If any of those would unblock your workflow, let us know — they're not on the critical path but are easy follow-ups if there's pull.