About scenario-formats
scenario-formats is a Scenario skill for creators and agents adapting images and videos to different placements. It provides an ordered decision process for deriving formats from an approved master instead of regenerating each version independently.
Key features
- 01Choose an operation for each target format
- 02Derive versions from the master, not each other
- 03Reframe before grading and texture work
- 04Measure output dimensions and check subjects
- 05Reapply lettering to each final canvas
Use cases
- 01Adapt key art for social placements
- 02Create native compositions for different aspect ratios
- 03Make thumbnails with readability as the priority
- 04Check delivery dimensions and subject visibility
MCP support
The skill guides format adaptation with Scenario tools such as search and model_run; it is not itself an MCP server.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ scenario-labs/ skills --skill scenario-formatsAfter installing, type/scenario-formatsin Claude Code to confirm it loaded.
Bundled filesreferences/placement-specs.md
Details
From the project READMEScenario Formats
Overview
Format adaptation is derivation, not regeneration: re-prompting the concept per placement makes five
cousins, not five formats of one approved master. The failure modes are picking the wrong operation
(a resize where canvas needed inventing, a crop that beheads the subject) and deriving in the wrong
order. The canvas tools' exact contracts live in scenario-image-editing; this skill is the
decision ladder and the order of operations around them, with per-placement ratios, pixel targets,
and safe zones in references/placement-specs.md. A video master
climbs the same ladder: video resize versus generative reframe lives in scenario-video-editing,
and far ratios recompose per scenario-video. Connection and the core loop: see the scenario
skill. Lettering per format: scenario-text-overlay. 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.
The decision ladder
Per target format, take the first rung that fits. Each rung is a model_run on a model found with
search (target="models", public=true), never a dedicated MCP tool of its own:
| The target needs | Operation |
|---|---|
| Same ratio, other pixels | Resize: exact, scales pixels, invents nothing |
| A tighter ratio, edges expendable | Resize with fit: "cover": exact, center-crops the overflow; only when the subject clears the cut |
| More canvas, composition intact | Expand or uncrop: exact pixels, fills outward |
| Another ratio, recomposed around the subject | Generative reframe; the text-protecting variant when lettering or marks are on the plate |
| A far ratio or a new visual hierarchy | Recompose natively: a fresh run per scenario-image with the master as reference (scenario-consistency), composed for that ratio |
The last rung applies more often than it looks: 16:9 key art seldom survives to 9:16 by any amount
of outpainting, which is why the director siblings (scenario-video-ads) design each delivery ratio
as its own composition.
Order of operations
- Approve one master first, at the largest clean size available, on a text-free plate (unattended, the task's named master or the brief's own description stands in for the approval).
- Derive every format from that master, never from another derivative: derivative-of-derivative compounds re-rendering artifacts.
- Reframe and expand before grading and grain: generative canvas work re-renders the image, so
finishing passes applied first come back partly reinterpreted (
scenario-image-editingholds the pipeline order). A video reframe also precedes any upscale: it renders at its own resolution tier whatever the input carries (1080p at most at authoring time), so an upscale ahead of it is discarded; upscale the reframed clip to delivery size. - Verify by measurement before finishing: reframe ratio enums are approximate (a 4:5 request came
back 29:36 at authoring time), so check output dimensions, land exact with a resize, and
batch-check that subjects survived with
asset_analyze(scenario-asset-analysis). - Letter last: re-overlay lettering per format with
scenario-text-overlay, sized to each final canvas, since type scaled by a resize turns soft and each placement has its own safe area. Keep critical content and text away from the edges platform UI covers: each placement's target and safe zone is in references/placement-specs.md as an authoring-time value, so confirm contractual specs with the user (unattended, task instructions win over the reference, and the delivery report states which was used).
Worked example: key art to story, feed, and thumbnail
- Master: 16:9 text-free key art, approved.
- 1:1 feed: generative reframe with a prompt naming what must stay ("the knight centered, both banners visible"), then a resize pass to the exact deliverable pixels.
- 9:16 story: a far ratio, so recompose natively: one run per
scenario-imagewith the master as reference and a 9:16 composition clause; the master holds palette and subject on-look. - Thumbnail: readability rules the crop, so reframe tight on the face or product, land exact with a
resize, then
asset_displaythe result and judge it small: thumbnails are seen at a tenth of their size. - Verify dimensions against the deliverable list and batch-check that subjects survived with one
asset_analyzepass, then overlay the title card per format onto each final canvas and file the set in a collection.
Common mistakes
- Re-prompting per format: five generations of one prompt are five different images; derive from the master.
- Stretching into a new ratio with a resize (
fit: "stretch"): it distorts. A ratio change isfit: "cover"when the edges are expendable, else reframe, expand, or recomposition. - Grading and grain before reframing: the order is reshape, then grade, then texture.
- Deriving from the lettered master: generative operations re-render type; keep a text-free plate and re-overlay per format.
- Trusting a ratio enum: measure the output and resize to exact.
- Center-cropping toward 9:16 because it is cheap: it is also how subjects lose their heads; the ladder exists to be climbed.
- Skipping
dry_runon reframes: generative canvas work is the expensive step in the chain, tens of times an effect's price (scenario-image-editing).