/design:photo
Edit a photo in the active canvas headlessly — parametric adjustments (brightness/contrast/saturation/exposure/hue/sepia/grayscale/invert), duotone, grain, pattern overlays, preset masks, and magic background removal — via the non-destructive PhotoEdit sidecar. Every edit is scriptable (no slider-clicking): parametric edits go straight to the /_api/photo-edit route; background removal runs client-side ML through a headless harness.
| Property | Value |
|---|---|
| Command | /design:photo |
| Category | daily (daily) |
| Argument hint | --asset <assets/<sha8>.<ext> | <sha8>> [--remove-bg] [--brightness N] [--contrast N] [--saturation N] [--exposure N] [--hue N] [--sepia N] [--grayscale N] [--invert N] [--duotone \"#aabbcc,#ddeeff[,intensity]\"] [--grain \"amt[,size]\"] [--pattern \"type[,scale,opacity,blend]\"] [--mask \"preset[,strength]\"] [--replace|--reset] |
| Source | plugins/design/commands/photo.md |
Description
Edit a photo in the active canvas headlessly — parametric adjustments (brightness/contrast/saturation/exposure/hue/sepia/grayscale/invert), duotone, grain, pattern overlays, preset masks, and magic background removal — via the non-destructive PhotoEdit sidecar. Every edit is scriptable (no slider-clicking): parametric edits go straight to the /_api/photo-edit route; background removal runs client-side ML through a headless harness.
Invocation
/design:photo --asset <assets/<sha8>.<ext> | <sha8>> [--remove-bg] [--brightness N] [--contrast N] [--saturation N] [--exposure N] [--hue N] [--sepia N] [--grayscale N] [--invert N] [--duotone \"#aabbcc,#ddeeff[,intensity]\"] [--grain \"amt[,size]\"] [--pattern \"type[,scale,opacity,blend]\"] [--mask \"preset[,strength]\"] [--replace|--reset]Summary
Applies a non-destructive edit to a photo already in the active canvas — an <img> authored in an artboard, or an ImageStroke dropped/pasted into the annotation layer. Every edit is stored as a PhotoEdit sidecar (<designRoot>/assets/<sha8>.photo.json) that the canvas-lib <PhotoLayer> WebGL compositor rende
Source of truth
/design:new
Create a new multi-artboard canvas project via frontend-design — generic envelope adapted to .design/config.json. Default = --perfect (8 iter, full panel, target 4.5/5). Opt out via --quick or --no-critic. Opt out of the DS via --opt-out=palette|aesthetic|full.
/design:reel
From a folder of raw clips (or the clips on the active canvas) to a directed, graphics-laden video cut — in one prompt. Ingests + content-addresses the footage, runs the SHARED analysis step (same as `/design:video-analyze`: scene-aware keyframes via skill footage-keyframes → optional transcribe → the Read-only footage-analyst watches + returns JSON → orchestrator persists it), has the footage-director assemble an Edit Decision List, generates a Timeline-parseable `<TransitionSeries>` video-comp, and runs the motion + design critics. Wraps `maude design ingest-footage`/`smart-frames`/`transcribe` + the footage-analyst/footage-director agents + skills footage-keyframes/footage-director.