Command · Apply Layout
layout.apply
Lays out a gameplay clip and a facecam in one step, with plain editable clip settings: "pip" (gameplay fills the frame, the facecam in a corner with rounded corners or a circle, a border and a drop shadow), "verticalSplit" (9:16: gameplay on top, facecam below, or the other way round) or "verticalBlurFill" (9:16: the gameplay fitted to the width over a blurred copy of itself filling the frame, an optional facecam on top).
- v1
- Capability EditSequence
- Tool
layout_apply
Request
{
"command": "layout.apply",
"params": {
"corner": "bottomLeft",
"facecam": 43,
"gameplay": 42,
"preset": "pip",
"size": 0.3
}
}Parameters
blurnumber (0.0..500.0)- verticalBlurFill: the background's blur radius in pixels. Default 40.
borderColor(number (0.0..1.0))[], min 3- Border colour [red, green, blue]. Default white.
borderWidthnumber (0.0..100.0)- Border width in sequence pixels (0 = none). Default 4.
circleboolean- A round facecam.
corner`topLeft` | `topRight` | `bottomLeft` | `bottomRight`- Where the facecam box goes. Default bottomRight.
cornerRadiusnumber (0.0..0.5)- Rounded corners: a fraction of the box's shorter side. Default 0.12.
facecaminteger | object (1..)- The facecam clip (video, on a track above the gameplay's). A clip id, or {"track", "time"} for the clip there.
facecamOnTopboolean- verticalSplit: the facecam on top.
facecamRegionobject- Where the capture already shows the webcam, as a part of the gameplay frame (fractions). The facecam is then a copy of the gameplay cropped to it; no facecam clip is needed.
facecamRegion.heightnumber (0.01..1.0)Required- Height, a fraction of the frame's height.
facecamRegion.widthnumber (0.01..1.0)Required- Width, a fraction of the frame's width.
facecamRegion.xnumber (0.0..1.0)Required- Left edge, a fraction of the gameplay frame's width.
facecamRegion.ynumber (0.0..1.0)Required- Top edge, a fraction of its height.
gameplayinteger | object (1..)Required- The gameplay clip (video). A clip id, or {"track", "time"} for the clip there.
marginnumber (0.0..0.4)- Gap to the frame edges, a fraction of the frame height. Default 0.03.
preset`pip` | `verticalSplit` | `verticalBlurFill`Required- The layout.
sequenceinteger (1..)- Sequence id; only needed when the project has several.
shadowboolean- A drop shadow under the facecam.
sizenumber (0.05..1.0)- The facecam's width, a fraction of the frame width. Default 0.28.
splitnumber (0.2..0.8)- verticalSplit: the gameplay's share of the height. Default 0.6.
zoomnumber (1.0..4.0)- verticalBlurFill: the gameplay's scale over fit-to-width (above 1 crops its sides). Default 1.
Discussion
Lays out a gameplay clip and a facecam in one step, with plain editable clip settings: "pip" (gameplay fills the frame, the facecam in a corner with rounded corners or a circle, a border and a drop shadow), "verticalSplit" (9:16: gameplay on top, facecam below, or the other way round) or "verticalBlurFill" (9:16: the gameplay fitted to the width over a blurred copy of itself filling the frame, an optional facecam on top). The facecam is a clip on a track above the gameplay's, or "facecamRegion": the part of the capture where the webcam already shows (a copy of the gameplay cropped to it). Copies of the gameplay go on free tracks above it (new tracks when none is free) and are linked with it. Applying again replaces the layout's own effects. One undo step. Make a Shorts sequence first with sequence.create preset "shorts".
Run it with wabcut-cli cmd <project> --json, from an MCP client as layout_apply, or from an extension. See Edit commands for requests, references and results.
See also
layout.*
- layout.list
List Layouts. The layout presets layout.apply takes and their options with defaults: facecam picture-in-picture and the vertical 9:16 shorts layouts.