Skip to main content
addEffect puts one of these 48 effects on a node’s stack by kind, with params by name (the defaults below apply to any you leave out) and an optional preset. list_motion_effects (REST: GET /v1/motion/effects) returns the same list.
  • After it is added, each number is a property you can key: field:@e.<effectId>/effect/<param>, e.g. setKeyframes on field:@e.glow1/effect/radius.
  • backdrop: true filters what is drawn beneath the node’s bounds instead of the node (pixel filters only). On a shape filled #00000000 that makes an adjustment layer; with fx.liquidGlass it makes a pane of glass.
  • Points are [x, y] in the node’s pixels, or "center" for its centre.
  • kind: "shader" runs your own SkSL from source: uniform shader image; is the node and half4 main(float2 p) returns each pixel; uniform float2 resolution is bound to the node’s size. Pass other uniforms’ values in uniforms and other nodes as shader inputs in inputs.

Blur

blur

Gaussian blur. Blurs the node; set one radius to 0 for a directional blur.

boxBlur

Box blur. Box blur: iterations passes of a box radius pixels either side.

fx.spinBlur

Spin blur. Radial blur of kind spin about center.

Light

glow

Glow. Glow: what is brighter than threshold is blurred over radius and added.

dropShadow

Drop shadow. A shadow behind the node; with no offset and a light colour, a halo (outer glow).

fx.liquidGlass

Liquid glass. Apple’s Liquid Glass: the node’s box becomes a pane of frosted glass that bends what lies beneath it at its rim. Use it as a backdrop on a #00000000 shape, or set shapeBlur to make a title’s letters (in a transparent or faint colour) glass. Defaults are macOS 26’s clear glass in dark mode; presets give its other styles (regular, control, bright, edgeBleed, deepLens, lens, magnifier, thinBevel, subdued, scrim, each also as …Light). Distances are signed, negative inside the pane. Presets (preset in addEffect and setEffect):
  • clear: macOS’s clear glass (also AppKit variants 2, 3, 7, 8 and 10): a light frost and a strong rim lens. Dark appearance.
  • clearLight: macOS’s clear glass (also AppKit variants 2, 3, 7, 8 and 10): a light frost and a strong rim lens. Light appearance.
  • regular: macOS’s regular glass: more frost and a paler face. Dark appearance.
  • regularLight: macOS’s regular glass: more frost and a paler face. Light appearance.
  • control: A small control’s glass: a shallower lens and a thinner bevel (variant 4). Dark appearance.
  • controlLight: A small control’s glass: a shallower lens and a thinner bevel (variant 4). Light appearance.
  • bright: Glass lifted by a grey screen layer (variant 5). Dark appearance.
  • brightLight: Glass lifted by a grey screen layer (variant 5). Light appearance.
  • edgeBleed: No face colouring, the scene bleeding in from beyond the rim, darkened, with a lit rim (variant 6). Dark appearance.
  • edgeBleedLight: No face colouring, the scene bleeding in from beyond the rim, darkened, with a lit rim (variant 6). Light appearance.
  • deepLens: A deeper, stronger lens (variant 9). Dark appearance.
  • deepLensLight: A deeper, stronger lens (variant 9). Light appearance.
  • lens: Unfrosted glass with a lit rim and an outer lens (variant 11). Dark appearance.
  • lensLight: Unfrosted glass with a lit rim and an outer lens (variant 11). Light appearance.
  • magnifier: A sharp lens and nothing else, like a loupe (variant 19). Dark appearance.
  • magnifierLight: A sharp lens and nothing else, like a loupe (variant 19). Light appearance.
  • thinBevel: Regular glass with a 5 px bevel (variant 20). Dark appearance.
  • thinBevelLight: Regular glass with a 5 px bevel (variant 20). Light appearance.
  • subdued: Regular glass dimmed, as AppKit’s subdued state draws it. Dark appearance.
  • subduedLight: Regular glass dimmed, as AppKit’s subdued state draws it. Light appearance.
  • scrim: Regular glass without its lens, as AppKit’s scrim state draws it. Dark appearance.
  • scrimLight: Regular glass without its lens, as AppKit’s scrim state draws it. Light appearance.

fx.bevelAlpha

Bevel alpha. The alpha edge lit from lightAngle.

Color

curves

Curves. Channel curves: each a list of [x, y] points in 0..1 with increasing x.

lut

LUT. A colour look-up table from the document’s LUT assets.

colorMatrix

Color matrix. A 4×5 colour matrix, row-major (20 numbers), for hue turns and channel mixing.

fx.levels

Levels. Inputs mapped from inputBlack..inputWhite through gamma onto outputBlack..outputWhite.

fx.exposure

Exposure. Exposure in linear light: stops, offset, gamma.

fx.vibrance

Vibrance. Vibrance raises saturation most where it is lowest; saturation raises it evenly.

fx.tint

Tint. Luminance mapped from mapBlackTo to mapWhiteTo.

fx.tritone

Tritone. Luminance mapped through shadows, midtones and highlights.

fx.fill

Fill. Colour replaced by color, alpha kept.

fx.gradientRamp

Gradient ramp. Colour replaced by a ramp from color1 at start to the last of colorCount colours at end, alpha kept: gradient text or shapes. Points are the node’s own pixels, so the ramp moves and scales with it.

fx.posterize

Posterize. Each channel rounded to levels steps.

fx.threshold

Threshold. White where luminance reaches level, black elsewhere.

fx.vignette

Vignette. Darkens (or colours) the edges.

Key

matteChoker

Matte choker. Softens the alpha, then cuts it at a threshold moved by choke: positive shrinks the matte, negative spreads it.

dilate

Grow. Dilates the node’s pixels by radius.

erode

Shrink. Erodes the node’s pixels by radius.

fx.linearColorKey

Color key. Pixels within tolerance of keyColor turn transparent (green screen).

Time

echo

Echo. Copies of the node from other times (motion trails): count copies interval seconds apart (negative looks back).

Generate

repeater

Repeater. Copies of the node, each moved, turned and scaled from the one before.

fx.fractalNoise

Fractal noise. Replaces the pixels with animated fractal noise.

fx.grid

Grid. Grid lines over the node.

fx.checkerboard

Checkerboard. Alternate squares in color over the node.

Path

trimPath

Trim path. Keeps start..end of a shape’s outline: key end from 0 to 1 to draw a line on.

dashPath

Dashes. Dashes a stroked shape.

cornerPath

Round corners. Rounds a shape’s corners.

discretePath

Roughen edges. Breaks a shape’s outline into jittered segments.

Distort

fx.waveWarp

Wave warp. A sine wave along angle moves pixels across it; animate phase to make it travel.

fx.turbulentDisplace

Turbulent displace. Pixels taken from up to amount away along fractal noise.

fx.bulge

Bulge. Magnifies (positive height) or pinches the ellipse about center.

fx.twirl

Twirl. Turns pixels about center, easing to none at radius.

fx.mirror

Mirror. Reflects one side of the line through center onto the other.

fx.polarCoordinates

Polar coordinates. Wraps the image around its centre (toPolar 1) or unwraps it.

fx.chromaticAberration

Chromatic aberration. Splits red and blue outward from the centre.

Stylize

fx.sharpen

Sharpen. Unsharp mask.

fx.mosaic

Mosaic. Blocks of solid colour (pixelate).

fx.addGrain

Add grain. Film grain; it changes every frame.

fx.findEdges

Find edges. Dark lines where luminance changes.

Transition

fx.linearWipe

Linear wipe. Wipes the node away from one side; key completion from 0 to 1.

fx.radialWipe

Radial wipe. Wipes the node away clockwise about center.

fx.venetianBlinds

Venetian blinds. Stripes, each wiped away by completion.

fx.gradientWipe

Gradient wipe. Pixels wiped in order of another node’s luminance, darkest first.
Last modified on October 27, 2026