reframe_detect
Proposes per-shot framing windows from detected faces, improving composition over a center crop without applying changes. Review the proposal sheet first; apply only if it fits.
Instructions
Propose a framing window per camera shot, from where the faces are.
Every placement is split at its camera cuts, each window sampled at a few moments and centred on the faces found. Against fifteen hand-framed, approved windows it beats the centre crop on every measure (0.755 mean overlap against 0.568).
It proposes; it does not frame. apply is off by default: the pass is
still about a quarter of a window's width out on average, and a wrong
window reads as framing in motion. Look at reframe_sheet before
applying. Applying writes through reframe and never over an existing
override.
A window with no face is refused, never guessed at — expect about
one in seven — and nothing is written for it, so read falls_back_to: at
a clip's head that is the centre crop, anywhere else the previous
shot's framing. Nothing here chooses the subject either.
A window one crop cannot hold comes back as a stacked split (rect and
pane). Read subjects (per frame), not faces, which sums detections
across samples and calls one face three. Needs PROOFCUT_FACE.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | The project directory to act on. Omit it — the usual case — when this server is bound to a project (started as `proofcut -C DIR mcp`, or inside a project; `ping` says which): it then resolves to that one bound project, a relative path resolves against it, and a path outside it is refused by name. Unbound, `path` is the whole address and omitting it refuses rather than guessing. | |
| apply | No | Write the proposals through `reframe`. Off by default — the opposite of `cut --plan` — because the pass runs 24% of a window's width out on average. Call `reframe_sheet` and look first. It never writes over a window that is already an override. | |
| split | No | Offer a stacked split where every sampled frame holds two or three faces one window cannot hold. On by default; `false` turns the offer off. | |
| frames | No | How many moments to sample inside each window before centring it on the faces found there. | |
| clip_id | No | Propose windows for one clip. Omit it for every placed clip. | |
| threshold | No | How strong a scene change has to be to count as a camera cut, 0–1. 0.15 is pinned by judging detections on real footage: every candidate from 0.141 to 0.244 was a real cut, and the first non-cut is 0.137. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||