removing-and-replacing-backgroundslisted
Install: claude install-skill Nagellabs/libi
# Removing & Replacing Backgrounds
The capability is a composable **cutout asset** — one tool produces an
alpha-matted file; everything after that (replacement, transplant, export) is
libi's EXISTING compositing. Never write custom compositing code for this.
> **Engine install:** if `libi.remove_background` returns
> `dependency_not_ready` / `tracking_engine_not_installed`, follow the
> libi-tracking install plan (`libi.get_install_plan` with
> `mcpId: "libi-tracking"`, then — after disclosing ~10–20 min / ~2 GB on the
> user's machine and getting approval — `libi.install_tracking_engine`, then
> `libi.verify_install` until `ok:true`, then retry) — or offer the paid
> fal path if the user prefers not to wait.
## Route the request (decide FIRST)
| Source | Subject | Route |
|---|---|---|
| Video | Person (or another YOLOE class) | **Local, free** — `libi.remove_background` (default) |
| Video | Arbitrary object the local seed can't find, local result verified bad, or the user's machine is too slow | **fal, paid** — `bria/video/background-removal/v3` (disclose cost, get approval) |
| Photo | Anything | **fal, paid** — `fal-ai/birefnet` (local photo matting is not available in v1) |
The local engine is the hero: free, offline, temporally stable (MatAnyone
consistent-memory propagation seeded from a real first-frame subject mask).
Prefer it for any video with a visible person. It is a LONG job — progress
streams to the chat; a ~10 s clip takes roughly half a minute on a good