Editing stacks — MCP tool reference — VidVertex Docs
Docs/MCP tool reference/Editing stacks

Editing stacks

Everything the stack editor changes, as calls — fields, geometry, channels and presets, plus the snapshots that make a big edit reversible.

update_stack

Set editor fields on a stack: media paths, widget toggles, widget_z_order, hook/endcard config + texts (incl. per-language pools, motion titles, voiceover toggles), auto-captions look (style/position/size), layout_zones, video_template, mandatory_hashtags, clip_context_enabled and more. Unknown fields error and list what is editable.

Parameter Type Description
stack (required) string Stack name.
fields (required) object Editor fields to set, e.g. {"hook_enabled": true}.

set_widget_geometry

Position/scale one widget (main, cta, brain, text, sound, watermark, hook, endcard) at stack, brand or brand+channel level — other context levels stay untouched. State fields per kind: media widgets take path/scale/pos, text takes text/style fields, sound takes volume, watermark takes opacity. scale/pos are relative to the editor's 300x533 canvas geometry (see get_editor for the current state incl. canvas rects). For media widgets, 'rect' places the asset into a target canvas rect instead — scale/pos are computed for you.

Parameter Type Description
stack (required) string Stack name.
widget (required) enum: main, cta, brain, text, sound, watermark, hook, endcard Widget kind.
state object State fields to merge, e.g. {"scale": 0.8, "pos": [10, 300]}.
rect array of number Target canvas rect [x, y, w, h] to fit the widget's media into (media widgets only; computes scale/pos).
fit enum: contain, cover How the media fills 'rect': contain shows all of it (default), cover fills the rect and crops.
brand string Brand context (optional).
channel string Platform context (requires brand).

set_stack_brands

Set which brands a stack posts as (the editor's brand picker): removed brands lose their channel selections, new brands get channel lists from their platform config. Empty list removes all brands.

Parameter Type Description
stack (required) string Stack name.
brands (required) array of string The stack's new brand list.

toggle_brand_channel

Toggle one platform on/off for one brand on a stack — the Brand-&-Channel map's per-platform switch. A platform switched off for the brand in the brand editor cannot be toggled on here (enable it via set_brand first).

Parameter Type Description
stack (required) string Stack name.
brand (required) string Brand on the stack.
platform (required) string Platform key to toggle.
TIP

Take a snapshot before a large edit. Restoring one freezes the current configuration as a safety snapshot first, so the rollback itself is reversible.

snapshot_stack

Freeze a stack's config (stack.json + every widget state) as a restore point under the stack folder — take one before a series of edits, then experiment freely. Rendered videos, transcripts and assets are not included (reproducible or untouched by edits). The newest 30 per stack are kept.

Parameter Type Description
stack (required) string
label string Optional label, e.g. 'before hook restyle'.

restore_stack_snapshot

Roll a stack's config back to a snapshot (see list_stack_snapshots). The current config is frozen as a safety snapshot first, so this is reversible — still requires confirm=true after the user confirmed the rollback.

Parameter Type Description
stack (required) string
snapshot (required) string Snapshot id from list_stack_snapshots.
confirm (required) boolean Required true. Only pass it after the user explicitly confirmed this deletion in chat.

apply_preset

Apply a stack preset onto an EXISTING stack (create_stack applies one at creation). overwrite_overrides=true also resets per-stack overrides the preset carries.

Parameter Type Description
stack (required) string Stack name.
preset (required) string Stack preset (see list_presets).
overwrite_overrides boolean Also overwrite per-stack overrides (default false).

save_stack_preset

Snapshot a stack's current configuration (widgets, background, captions look, zones, template) as a reusable stack preset for create_stack and assembly lines.

Parameter Type Description
name (required) string Preset name.
from_stack (required) string Stack to snapshot.

set_preset_included

Which fields / widget states a stack preset applies (the preset editor's 'Included fields'): included = {stack_fields: {field: bool}, widgets: {kind: bool}} — missing keys default to true.

Parameter Type Description
preset (required) string Stack preset name.
included (required) object