К основному содержанию
скилл CX Codex

scenario-image-editing — скилл для Claude Code: обзор и установка

Обрабатывает готовые изображения через MCP-модели Scenario: апскейлит картинки, правит цвета по LUT и удаляет водяные знаки. Пригодится для пакетного пост-процессинга без промптов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add scenario-labs/skills --skill scenario-image-editing -a claude-code
Открыть на GitHub

Что делает scenario-image-editing

Скилл запускает детерминированные утилиты Scenario через вызов model_run. На вход передаётся файл изображения и числовые параметры из схемы модели, а на выходе возвращаются готовые файлы. Для генерации с нуля он не предназначен. Такие задачи возложены на соседний скилл scenario-image.

Набор эффектов включает восемнадцать утилит, среди которых 3D LUT, зернистость, виньетка, размытие и цветокоррекция. Параметры нужно проверять через model_schema_get, потому что дефолтные значения расставляют ловушки. Например, пустой параметр lutStyle сразу применит стиль teal_orange, а дефолтное зерно сдвинет цветовую температуру кадра.

Пайплайн требует строгого порядка: сначала апскейл и кадрирование, затем цветокоррекция, а резкость и зерно — в самом конце. Иначе последующее масштабирование размоет текстуру. Эффекты стоят фиксированную 1 вычислительную единицу (CU), тогда как стоимость апскейла зависит от итогового разрешения кадра.

Какие задачи решает

  • увеличить разрешение текстуры или арта до 4K без текстовых промптов
  • применить кинематографический профиль через 3D LUT
  • удалить текст и водяные знаки моделью Photoroom Text Remover
  • нарезать спрайты на тайлы с помощью model_scenario-image-slicer
  • добавить плёночное зерно и виньетирование на готовый рендер

Примеры запросов агенту

  • Сделай апскейл этой текстуры до 4K через scenario-image-editing
  • Примени 3D LUT профиль rec709 к файлу character.png
  • Удали текст и водяной знак с изображения баннера

Как установить scenario-image-editing

1Через Skills CLI (Vercel)

npx skills add scenario-labs/skills --skill scenario-image-editing -a claude-code

2Вручную: положить файлы

~/.claude/skills/scenario-image-editing/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/scenario-image-editing/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о scenario-image-editing

Как установить scenario-image-editing в Claude Code?

Выполните команду npx skills add scenario-labs/skills --skill scenario-image-editing -a claude-code.

Чем scenario-image-editing отличается от scenario-image?

Этот скилл работает только с готовыми файлами через детерминированные инструменты и регуляторы. Текстовая генерация с нуля и инпейнтинг по маске вынесены в scenario-image.

В каком порядке нужно накладывать эффекты на изображение?

Сначала выполняют масштабирование и рефрейминг, затем цветокоррекцию или LUT. Зернистость и повышение резкости накладывают строго последними, иначе масштабирование размоет мелкую текстуру.

Исходный текст

SKILL.md · MIT
---
name: scenario-image-editing
description: "Use when editing an existing image on Scenario through MCP with a tool model, not a new generation: upscale or enhance to 2x, 4K, 8K, super resolution, 3D LUT color grade, color correction, posterize, solarize, vignette, film grain, blur, sharpen, glow, chromatic aberration, oilify, cubism, crystallize, dodge and burn, tint, desaturate, expand or uncrop, reframe an aspect ratio, resize to exact pixels, slice tiles, contact sheet, split into layers, remove a background or watermark, vectorize."
license: MIT
---

# Scenario Image Editing

## Overview

Editing an existing image is a `model_run` on a tool model: one file in, a few numeric knobs, one or
more assets out, nothing to prompt on most of them. Generating a new image, prompt-driven edits and
masked inpainting are `scenario-image`; the same effects on footage are `scenario-video-editing`;
stacking layers is `scenario-video-assembly` (Image Studio). Connection and the core loop:
`scenario`. 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

Two discovery lanes. A family is browsed with `search` (`target="models"`, `public=true`) by tag. A
single utility is a capability, so it goes to `recommend` with `capability="img2img"` and the need
in the user's own words, which names the purpose-built tool and prices it against the general
editors; when it answers a utility job with general editors only, find the tool by name with
`search` and `filters={"tags": ["tool"]}`, as the watermark row does:

| Need                             | Route                                                                                                                                                                                                         |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| The effects family               | `search`, `filters={"tags": ["Post Processing"]}` (40 hits, image and video)                                                                                                                                  |
| Upscale or enhance               | `search`, `filters={"tags": ["image-upscale"]}`                                                                                                                                                               |
| Cutouts, relight, layers, vector | `recommend`: at authoring time each lane returned its purpose-built tool ranked by measured cost and latency against the general editors, where `search` returned the same tools with nothing to rank them by |
| Watermarks, burned-in text       | `search`, `query="text remover"`, a name lookup: at authoring time `recommend` sent watermark removal to general instruction editors and missed the purpose-built Photoroom Text Remover                      |
| Tiles, sheets                    | none: `model_scenario-image-slicer`, `model_scenario-grid-maker` (fixed first-party ids, each Scenario's single deterministic tool for its job)                                                               |

Reframe ids below are authoring-time hits: re-discover them.

## The effects family

Eighteen effects share one shape, a required `image` file plus one to three knobs: blur, chromatic
aberration, color correction, crystallize, cubism, desaturate, dissolve, dodge and burn, glow and
bloom, grain, 3D color LUT, oilify, parabolize, posterize, sharpen, solarize, tint, vignette.

Ranges are per tool and unguessable. `posterizeThreshold` runs 0 to 1 (default 0.5) while Color
Correction's `temperature`, `contrast` and `saturation` run -100 to 100 with `gamma` on 0.2 to 2.2,
all from `model_schema_get`. Not every knob is a number: Grain takes a 22-value profile enum, a
color temperature and a boolean, no strength control at all. Those profiles are looks, not
intensities, and some soften instead of texturing: compare against the input rather than assuming
grain landed. Grain's `grainColorTemp` (2000 to 10000) hides a sharper trap: the 6500 default is not
neutral, and it warms the frame and lifts blacks harder than a restrained LUT pass does, so the
texture step quietly re-grades what the grade step just set. Set it deliberately and judge the
result against the graded input, not the original; which direction neutralizes it is unverified, so
compare one frame each side of 6500 before a batch. Defaults disagree too: Color Correction's are
no-ops (nothing set returns the input unchanged and still charges) where LUT and Posterize ship a
visible default.

`lutStyle` holds 140+ exact strings, one of which contains a space (`cgc_look_teal and orange`), so
copy them from the schema rather than retyping. Prefixes group them: `cgc_film_emulation_*` and
`rec709_*` emulate film stocks, `cgc_log_to_rec709_*` expects log footage and will over-contrast an
ordinary render, and the bulk of the list (`cgc_look_*`, `pond5_*`, `distant_land_*`,
`shutterstock_*`) are look packs. Five bare presets sit outside every prefix, and one of them,
`teal_orange`, is the model's default: leave `lutStyle` unset and the grade that lands is teal and
orange, not neutral.

These finish inside `model_run`, returning `status: "success"` with the assets attached, so no
`jobs_wait`. They are flat-priced: at authoring time every effect dry-ran at 1 CU whatever the input
size (Resize Image at 2), so one `dry_run` stands for the family, where an upscale's price moves
with output pixels. Chain them by passing one run's `asset_id` to the next. The pipeline order
across this skill: reshape and upscale first (see the next section), then grade, then texture. Grain
and sharpening are high-frequency effects that any later resize interpolates away, so they go last,
at delivery resolution; a LUT is resolution-tolerant and sits on either side.

## Upscaling is a model family, not a knob

Upscalers are `img2img` models, many taking no prompt at all: discover with
`filters={"tags": ["image-upscale"]}` (13 hits at authoring time). Fidelity upscalers (Topaz,
Recraft Crisp) sharpen and enlarge what exists, the pick when output must stay on-model; creative
ones (Magnific Creative, the Clarity pair) carry a creativity dial that invents detail and can
redraw fine features, so compare against the source. Sizing comes only from `model_schema_get` and
varies per model: a factor, a target resolution or megapixels, or just `image` with no dial (2x to
16x and 4K to 8K ceilings were typical, not bounds). Cost follows output pixels: `dry_run=true`,
top-level on `model_run` and never inside `parameters`, prices the exact size before a batch. An
upscale can also outrun `model_run`'s wait budget where the effects above never do: a modest one
still returns `status: "success"` inline, a larger one returns `status: "in_progress"` and a job id
for `jobs_wait`, re-called with any returned `pending_job_ids` as `job_ids`. Purpose-built variants
protect seams on tileable textures and continuity on 360 panoramas: see `scenario-textures` and
`scenario-skyboxes`.

## Expanding a canvas is four different tools

- **Reframe** (`model_scenario-gemini-reframe`): an `aspectRatio` enum plus a `resolution` tier (1K,
  2K, 4K), so exact pixels are out of reach; optional `prompt`. The enum is approximate: `4:5` came
  back 1856x2304 (29:36), so a true ratio needs a Resize Image pass after it (`fit: "cover"`, so it
  crops the sliver instead of squashing).
- **Smart Reframe** (`model_scenario-smart-reframe`): `width` and `height` are required and exact,
  and it protects on-image text, brand marks and palette. `textDensity: "DENSE"` costs substantially
  more.
- **Photoroom Expand**: exact `outputWidth` and `outputHeight` up to 4096, plus a `seed`.
- **Photoroom Uncrop**: rebuilds a subject the frame edge cut off.

Resize Image (`model_scenario-resize-image`, a fixed first-party id: Scenario's single
exact-dimension resize tool, so discovery would only re-derive it) is none of these: it scales
pixels to `width` and `height` (one alone keeps the ratio) and never invents canvas; `fit` decides
what an off-ratio box does (`contain`, the default, may land smaller than the box, `stretch`
distorts, `cover` center-crops to exact dimensions).

Both reframes recompose generatively rather than filling canvas, and at tens of times an effect's
price they are the chain's expensive step: `dry_run` them. They re-render, so reframe first and
grade after: a grade or grain pass beforehand comes back partly reinterpreted.

## Cardinality

Effects take a scalar `image`. Resize Image (`images`, max 10) and Grid Maker (`images`, max 100)
are `array: true`, where a bare id is silently dropped and the run succeeds having ignored it.

## Worked example: grade a key art, then export at size

1. `upload_asset` the file, then `upload_asset_complete` unless it went inline under ~100KB.
2. Reshape first: Resize Image to the delivery size, with `images` as an array even for the one
   file.
3. `model_schema_get` on `model_scenario-postprocessing-lut` (a fixed first-party id: Scenario's
   single deterministic LUT tool, so discovery would only re-derive it), pick a `lutStyle` from its
   enum, price it with `model_run` and `dry_run=true`, then run it with `lutIntensity` near 0.6 for
   a restrained grade.
4. Grain last, on that output, so its texture is sized for the shipping frame.
5. `asset_display` to review, `asset_download` to save.

## Common mistakes

- Reaching for an `image_edit` MCP tool, or for local ImageMagick or Pillow: the surface is
  `model_run` on tool models.
- Prompting an effect ("more posterized"): they read numbers only. Reframe and the layer extractors
  take text.
- Slicing or extracting layers before grading: both return one asset per piece, so every piece then
  needs its own run.
- Saving a traced SVG with `asset_download`: it comes back rasterized, so take the stored file from
  `asset_get`'s `url` with `curl -L`.

© scenario-labs · MIT · scenario-labs/skills

Похожие скиллы

Всё по теме «Дизайн» →
layer-image-editing layerai Скилл для редактирования уже существующих изображений на Layer: инпейнтинг, расширение кадра, смена ракурса, апскейл. CX Codex +1 3 400установок ai-image-editing social-media-skills Скилл называет задачу по фото, подбирает движок и пишет спецификацию: удаление объектов, вырезание фона, апскейл, дорисовка краёв, реставрация. CX Codex +1 603установок ai-image-generation 101-skills Создаёт и редактирует изображения через belt с выбором модели. Пригодится для иллюстраций, макетов и обработки готовых картинок. CX Codex +1 870 900установок image-editing vivy-yi Руководство по обработке снимков под Xiaohongshu с готовыми формулами коррекции света и цвета. Помогает выстроить единый визуальный стиль публикаций. CX Codex +1 432установок venice-image-edit nexu-io Скилл редактирует изображения, увеличивает их разрешение и убирает фон через Venice.ai API. Пригодится для задач с обработкой изображений. CX Codex +1 2 700установок image-edit prime-skills Скилл выбирает модель RunComfy под задачу редактирования изображения. Нужен для замены фона, правки текста и пакетных изменений. CX Codex +1 437 300установок

Из того же набора68

scenario-refine-loop Скилл для Claude и других агентов: превращает приёмку генераций Scenario в повторяемый цикл с рубрикой, вердиктами и точечными правками. CX Codex +1 472установок scenario-quality-gate Скилл оценивает готовую картинку Scenario и выдаёт вердикт pass, warn или fail со счётом от 0 до 100. Полезен, когда генерацию нужно проверить до публикации. CX Codex +1 461установок scenario-moderation Разбирает блокировки генераций в Scenario, находит причину фильтрации и подбирает альтернативные модели без переписывания промпта. CX Codex +1 445установок scenario-video Скилл подключает генерацию и монтаж видео через Scenario MCP. Помогает собирать ролики из текста, картинок и аудио прямо в диалоге с агентом. CX Codex +1 444установок scenario-asset-analysis Извлекает текстовые описания и карты условий из генераций Scenario, а также находит ассеты через поиск. Пригодится для проверки батчей по брифу и подготовки данных для других моделей. CX Codex +1 435установок scenario-model-training Ведёт обучение кастомной модели через Scenario MCP: подбор базовой архитектуры, датасет, эпохи, превью и запуск. CX Codex +1 445установок scenario-blender-rigging Скилл для риггинга персонажа, существа или пропа в Blender через Python: метариг Rigify, веса, IK/FK, лицевой риг. CX Codex +1 446установок scenario-blender-animation Скилл автоматизирует анимацию персонажей и объектов в Blender через Python-скрипты. Он полезен при позовом блокинге, сглаживании кривых, артикуляции лица и проверке дуг. CX Codex +1 425установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой