Skip to content

Remove an object

Erase an unwanted distraction — a stray guest, a bin, an exit sign — by inpainting a masked region. The removal is a reversible record; your original is untouched and the fill is baked into pixels only on export.

Enable an inpaint backend

Object removal is off by default. Turn it on and pick a backend in config:

remove:
  enabled: true
  backend: lama    # or: migan
  • lama (default) — reference-quality eraser.
  • migan — a fast, tiny (28 MB) alternative.

On first use krites fetches and checksum-verifies the backend's pinned model — and the ONNX Runtime library itself — then runs it on-device. There's no runtime to install or path to set: it's bundled in the macOS app and auto-downloaded elsewhere (see the config reference).

In the studio, open the frame in the loupe, pick the Remove object tool, brush or box the region, preview the inpaint, and Accept — or Redraw / Cancel. Accepted removals persist and show across reloads.

Remove from the CLI

Name the frame and the region as a normalised rectangle — x,y,w,h as fractions of the frame in [0,1], origin top-left:

krites remove IMG_2043.CR2 --region 0.30,0.25,0.20,0.40 \
  --shoot ~/Pictures/smith-wedding

Undo it (and any other edits on the frame):

krites reset IMG_2043.CR2 --shoot ~/Pictures/smith-wedding

Notes

  • Removals composite first in the export bake (removals → straighten → crop → look), so the fill is levelled, cropped and graded with everything else.
  • Removals can't be represented in Lightroom's XMP, so they live only in krites' own export.
  • The inpaint models are Places2-trained — fine for private use; see the licence note before commercial distribution.

Full detail: the remove command reference and spec 0008.