Command · Refine Object Mask
mask.refine
More clicks (positive: part of the object; negative: not) or a new box on a frame of an object mask: segments it again there and re-tracks from that frame.
- v1
- Capability EditSequence
- Tool
mask_refine
Request
{
"command": "mask.refine",
"params": {
"clip": 42,
"mask": 1,
"points": [
{
"positive": false,
"x": 0.61,
"y": 0.55
}
],
"time": "00:00:07:12"
}
}Parameters
acrossShotsboolean- Keep tracking across shot cuts (default false: stop at the cuts around the frame).
boxobject- A box around the object, normalised frame coordinates.
box.heightnumber (0.0..1.0)Required- 0..1 of the frame height.
box.widthnumber (0.0..1.0)Required- 0..1 of the frame width.
box.xnumber (0.0..1.0)Required- Left, 0..1.
box.ynumber (0.0..1.0)Required- Top, 0..1.
clipinteger | object (1..)Required- A clip id, or {"track", "time"} for the clip there.
effectinteger (1..)- The effect holding the mask; default the one that has it.
ininteger | string- Re-track no earlier than this. Timecode in the sequence's rate ("00:01:02:03") or ticks.
maskinteger (1..)Required- The object mask (mask.objectSelect's "mask").
outinteger | string- Re-track no later than this. Timecode in the sequence's rate ("00:01:02:03") or ticks.
pointsobject[]- Clicks on the object (positive) and off it (negative), normalised frame coordinates.
points[].positiveboolean- true: part of the object (default); false: not part of it.
points[].xnumber (0.0..1.0)Required- 0..1 of the frame width.
points[].ynumber (0.0..1.0)Required- 0..1 of the frame height.
propagate`none` | `forward` | `backward` | `both`- Re-track from the frame over the frames the mask covers: default both ways on a frame that was clicked before, else forward.
sequenceinteger (1..)- Sequence id; only needed when the project has several.
timeinteger | string- The frame the clicks or the box are on, inside the clip. Default the clip's first frame. Timecode in the sequence's rate ("00:01:02:03") or ticks.
Discussion
More clicks (positive: part of the object; negative: not) or a new box on a frame of an object mask: segments it again there and re-tracks from that frame. One undo step.
Run it with wabcut-cli cmd <project> --json, from an MCP client as mask_refine, or from an extension. See Edit commands for requests, references and results.
See also
mask.*
- mask.add
Add Mask. Adds a mask to a clip: to an effect ("effect"; the effect then only changes the masked area - a local correction, including the colour grade) or, without "effect", to the clip's opacity mask (it cuts the clip out).
- mask.list
List Masks. A clip's masks by effect, with their parameters (keys at media times) and paths.
- mask.objectSelect
Select Object. AI Object Mask: segments the person or object you click on (positive and negative clicks), draw a box around, or name ("subject": a face, a person, a car...) on a frame of a clip with SAM 2.1 (local, on this computer), and tracks it through the shot.
- mask.propagate
Track Object Mask. Tracks an object mask's object through the clip (or In / Out) from its last clicked frame: after a selection made with "propagate": "none", or across a shot cut with acrossShots.
- mask.remove
Remove Mask. Removes a mask from its effect.
- mask.update
Update Mask. Changes a mask: only the fields given (name, shape, mode, inverted, enabled, params, path / pathKeys).