scenario-video-assembly
Scenario Video Assembly
Overview
Scenario has no editing tools on the MCP surface. Every compositor, concatenator, trimmer and captioner is a deterministic model run through model_run. The compositor, concatenator and trimmer ids are fixed and named below; Scenario ships two captioners, so that one is discovered with recommend. Connection and the core loop: see the scenario skill; the clips themselves: see scenario-video. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.
Quick reference: pick the backend first
| Need | Model |
|---|---|
| Clips end to end, optional transitions | model_scenario-video-concat |
| Anything overlapping: overlay, bed, titles | model_scenario-compose-video |
| Still layout (thumbnails, sheets, key art) | model_scenario-compose-image |
These ids are constants: each is Scenario's single deterministic tool for its operation, so discovery would only re-derive it.
Concat is sequential: videos takes 2 to 50 files (never 1), preserveAudio (default true) carries each clip's own track into the cut, and the optional transitions array's "length must be number of videos - 1". Each entry is an object {type, duration}, never a bare string: type is one of 18 names read off the schema (fade, the default, is the plain crossfade; dissolve is a different effect; none a hard cut) and duration runs 0.1 to 5 seconds, default 0.5. Omit the array for hard cuts throughout.
Video Studio is an absolute timeline: layers holds 1 to 50 image, video or audio sources placed by startTime and stacked by zIndex (higher in front), with per-layer fadeIn/fadeOut rather than a between-clip array, so a cross-fade between two clips belongs in concat. At least one layer must be a video, so a music bed over a still is rejected.