Lightform FX is a node-based visual effects compositor for macOS. You build a flowgraph — a network of processing nodes — that describes exactly how images are combined, colored, tracked, and keyed. Each node takes one or more image inputs and produces a single image output. The final result flows into an Output node which renders the composition to disk.
Unlike layer-based compositors, Lightform FX is fully non-destructive: every operation is a node in the graph and nothing is baked until you render. You can rewire, bypass, or remove any node at any time. The evaluation engine caches intermediate results so previews stay fast even on deep graphs.
All image processing runs on the GPU via Apple Metal. Full-resolution real-time preview is standard — most operations on HD footage run at interactive frame rates without any proxy resolution required.
┌─────────────────────────────────────────────────────────────────┐ │ Toolbar: Open · Add · Reorganize · Zoom · Proxy · View │ ├──────────┬──────────────────────────────┬───────────────────────┤ │ │ │ │ │ Node │ Node Graph Canvas │ Image Preview │ │ Palette │ (drag nodes, draw wires) │ (real-time Metal) │ │ │ │ │ ├──────────┴────────────────┬─────────────┴───────────────────────┤ │ Timeline / Scrubber │ Parameters Panel │ │ ◀ ▶ frame counter │ (controls for selected node) │ └───────────────────────────┴─────────────────────────────────────┘
The vertical icon rail on the left. Click a category icon to open a flyout panel listing every node in that category, sorted alphabetically. Click a row to drop that node into the graph center. Categories: I/O, Generator, Color, Filter, Channel, Keyer, Transform, Composite, Paint/Roto, Time, Math, 3D.
When you don't remember which category a node lives in, use the search button (magnifying glass) at the top of the rail. It opens a panel with a search field over a combined list of every built-in node and every installed plugin; typing filters live by display name or category, each result shows a muted category tag on the right, Return adds the top match, and Esc closes the panel.
Nodes appear as rectangular tiles. Drag from an output dot (right edge) to an input dot (left edge) to wire them together. The wire snaps when you're close enough. Most nodes expose:
Click a node to select it. Double-click to rename. Delete removes the selected node. Drag the canvas background to pan; pinch or scroll to zoom.
Shows the output of the pinned node (click the pin button in the toolbar) or the currently selected node in real time. Controls:
Preview any point in the graph: every node has a small play icon on its right edge (it's also the output socket you drag wires from). Double-click the play icon to pin that node as the viewer target and start playback — Lightform FX evaluates the full chain of connected nodes feeding into it and shows the result in the preview. Double-click it again to unpin. This is the fastest way to inspect an intermediate stage of a composition without rewiring anything.
When working with 4K or 8K plates on a laptop — or any machine where interactive playback is stuttering — drop the Proxy Resolution toolbar menu (rectangle-with-bars icon, right side of the toolbar) from Full to 1/2, 1/4, or 1/8. Source plates are re-uploaded to the GPU at the reduced size, and every node in the graph evaluates against that smaller pixel count. A ½ proxy is roughly 4× faster per frame; ¼ proxy is roughly 16× faster.
What you see vs. what you render: Proxy Resolution affects only the interactive viewer. When you hit Render Movie or export an image sequence, Lightform FX automatically switches back to full resolution for the duration of the render and then returns to your proxy setting — so your final output always comes from the native source pixels regardless of what you were editing at.
Parameter behavior: Pixel-unit parameters (Transform's Translate X/Y, Blur/Glow Radius, Motion Blur Length, Displace Amount, Camera Shake Amplitude, Light Wrap / Edge Extend Radius, Text Size) automatically scale with the proxy factor so the image looks visually identical across proxy levels. Normalized parameters (Crop edges, Chroma Key tolerance, Levels, blend mix) are resolution-invariant and need no adjustment.
Switching levels: Changing proxy mode clears the source-texture cache and re-uploads at the new scale. Expect a brief pause (usually under a second) the first time you jump to a new level with a given project.
When to stay at Full: Pixel-precise work — roto tracing, corner-pin placement, dustbust inspection, edge-detail keying — benefits from full resolution. Use Proxy while roughing in the chain, then flip back to Full for the detail pass.
Lightform FX is a scene-linear pipeline: every node operates on linear-light pixel values. Source plates that aren't already linear (almost everything except EXR) need to be decoded on the way in; the viewer needs to encode for the monitor on the way out. Two controls drive this:
.cin/.dpx film scans, or one of the camera log spaces (ARRI LogC, Sony S-Log3, RED Log3G10, Panasonic V-Log) for camera-original footage delivered as PNG/EXR sequences.Display View is viewer-only — it has no effect on rendered output. Pick it independently of how the project will be delivered. L cycles through the common modes (sRGB Display → Cineon Log → Linear). The status bar shows the current view in its compact form (sRGB, Cineon, Rec.709, etc.).
The viewer can split-screen two nodes so you can A/B-compare any two points in the graph in real time — before and after a grade, keyer vs. plate, stabilized vs. original, etc. Unlike a toggle, both sides are rendered live so playback, parameter tweaks, and scrubbing update both halves simultaneously.
The wipe is a viewer-only feature — it has no effect on rendered output. Typical uses: compare your grade against the raw plate by setting the Input node as Wipe A; check a chroma key against the source by setting the greenscreen Input as A and pinning the Blend node; verify a stabilization by setting the original plate as A and the Stabilize node as the preview.
Scrub with the slider or arrow keys to navigate frames. The play button (or Space) toggles real-time playback. The frame range is determined by the first connected Input node.
When a node is selected, its controls appear in the right panel. Each adjustable value shows:
You can also drag files or folders from Finder directly onto the graph. Drop a single file to create one Input node at the cursor; drop a folder and Lightform FX reads it as a numbered image sequence; drop several items at once to stack them as separate Input nodes at the drop point.
Repeat for each element in your composition (background plate, greenscreen subject, graphic, etc.).
Drag nodes from the palette and connect them. A typical keyed composite looks like this:
[Input: bg plate] ────────────────────────────────────┐
▼
[Input: greenscreen] ──▶ [Chroma Key] ──▶ [Blend: Over] ──▶ [Output]
Connect by dragging from an output dot to an input dot. Wires snap when you're close enough to a socket.
Click any node to select it. Adjust sliders in the Parameters Panel. Changes apply in real time — the preview updates as you drag.
Choose File → Render Movie… (⌘E), pick a format and destination path, and click Render. The status bar shows per-frame progress.
Most numeric parameters can be animated over time using keyframes. The keyframing system uses linear interpolation between keys with hold extrapolation beyond the first and last key.
Click ◆ again at a frame that already has a key to remove it.
Between two keys, values are linearly interpolated. Before the first key and after the last key, the value is held constant (no extrapolation). All keyframeable parameters are listed with a ✓ in the parameter tables throughout this guide.
−4, click ◆.0, click ◆.Lightform FX includes three tracker types that share a common workflow:
Tracks a single feature using NCC (Normalised Cross-Correlation) template matching. Captures translation only. The tracked offset is applied to the FG input at each frame. At Strength +1 the FG follows the track; at −1 the FG counteracts it (stabilisation).
Best for: Locking a graphic to a simple moving point, or smoothing handheld camera shake.
Tracks two feature points simultaneously and computes the similarity transform (translation + rotation + uniform scale) between them. More robust than a single point for objects that rotate or zoom.
Best for: Screen replacements where the device tilts and scales, or two-point motion-controlled camera rigs.
Tracks a four-corner planar region using the inverse-compositional Lucas-Kanade (IC-LK) algorithm (Baker & Matthews 2004). Solves the full 8-DOF projective homography — not just corner positions, but the complete perspective warp — in a single optimisation per frame. This makes it dramatically more accurate than independent per-corner tracking on surfaces with foreshortening, motion blur, or partial occlusion.
Best for: Sign and screen replacement, corner-pin match moves, any planar surface tracked through perspective changes.
A companion node that reads the transform data from any upstream tracker and applies the inverse of that transform to a connected plate. Unlike using negative Strength on a tracker, the Stabilize node keeps the graph readable by cleanly separating the "what is tracked" node from the "apply stabilisation" node. The Strength parameter blends between stabilised and original to preserve intentional camera movement.
| Situation | Use |
|---|---|
| Simple translation (no rotation, no scale) | Match Move |
| Object that rotates and scales but stays frontal | Two-Point Track |
| Flat surface with perspective change | Planar Track |
| Camera shake removal | Match Move + Stabilize |
Every built-in node is documented below, organized by category. The Keys column in each parameter table indicates whether the parameter can be keyframed over time.
Output: RGBA image / sequence
Loads an image, numbered image sequence, or movie file from disk. Supported formats: DPX, EXR, PNG, JPEG, TIFF, QuickTime, MP4, MOV. Frame range is auto-detected from sequence numbering.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Source Path | File path | — | (none) |
— |
| Frame Range | Int range | auto-detected | 1 – last |
— |
| Source Color Space | Enum | Scene Linear · sRGB · Cineon Log · Rec.709 · ARRI LogC · Sony S-Log3 · RED Log3G10 · Panasonic V-Log | Scene Linear |
— |
Choose File → Import Plate… or drag a file onto the canvas. Lightform FX detects numbered siblings
(e.g. shot_0001.dpx … shot_0240.dpx) and sets the frame range automatically.
Source Color Space is auto-detected on first source-set from format-specific signals: DPX/CIN
transfer-characteristic byte, MOV/MP4 colr atom, ICC profile names embedded in PNG/JPEG/TIFF/HEIC. EXR
defaults to scene-linear by spec. After the auto-detect lands you can override the dropdown manually — once you do,
Lightform stops auto-detecting on later source-set events for that node, so your choice is sticky.
Camera log encodings (ARRI LogC, S-Log3, RED Log3G10, V-Log) delivered as PNG or EXR sequences cannot be auto-detected — the source format strips the camera color metadata. Pick the right space manually for those.
Inputs: Image · Output: Render to disk
Marks the end of the compositing chain and defines the export format. Connect your final composite here, then choose File → Render Movie… to write the result.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Format | Enum | Match Input · MP4 · MOV · M4V · Image Sequence | Match Input |
— |
Set Format to MP4, press ⌘E, choose a destination, and click Render. A notification fires when encoding is complete.
Output: Checkerboard pattern
Generates a two-color checkerboard pattern. Used as a test card, UV calibration pattern, or transparency indicator background.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Cell Size (px) | Int px | 2 – 256 | 32 |
— |
| Color A (RGB) | Float×3 | 0 – 1 each | 0.8 grey |
— |
| Color B (RGB) | Float×3 | 0 – 1 each | 0.1 grey |
— |
Color A 0.75 grey, Color B 0.5 grey at Cell Size 16 behind a keyed element makes partial transparency immediately visible without color distraction.
Output: Solid RGBA frame
Generates a solid color fill at a specified resolution. Use as a background plate, a matte fill, or a color source for blend and grade operations.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Red | Float | 0 – 1 | 0.5 |
— |
| Green | Float | 0 – 1 | 0.5 |
— |
| Blue | Float | 0 – 1 | 0.5 |
— |
| Alpha | Float | 0 – 1 | 1 |
— |
| Width | Int px | 1 – 8192 | 1920 |
— |
| Height | Int px | 1 – 8192 | 1080 |
— |
Set R/G/B to 0 and Alpha to 1, then connect to the BG input of a Blend node. Use a keyed subject on FG for a clean black-backed composite.
Output: Fractal noise texture
Generates fractal Brownian motion (fBm) noise by summing octaves at increasing frequencies and decreasing amplitudes. Lacunarity controls frequency scaling per octave; Gain controls amplitude falloff. Turbulence mode takes the absolute value for a jagged, cloud-like appearance.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Scale | Float | 0.01 – 20 | 2 |
— |
| Octaves | Int | 1 – 8 | 5 |
— |
| Lacunarity | Float | 1.2 – 3 | 2 |
— |
| Gain | Float | 0.1 – 0.9 | 0.5 |
— |
| Turbulence | Bool | on / off | false |
— |
| Seed | Float | 0 – 100 | 1 |
— |
Keyframe Seed from 0 to 10 over the shot length. Set Turbulence on for more energetic, broken-up shapes. Feed through Threshold for a hard smoke boundary or directly into a Blend (Screen) for a softer smoke effect.
Output: RGBA gradient frame
Generates a linear or radial gradient between two RGBA colors. In linear mode the Angle parameter rotates the direction; in radial mode the gradient radiates from the center.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Mode | Enum | Linear · Radial | Linear |
— |
| Angle | Float ° | 0 – 360 | 0 |
— |
| Color A (RGBA) | Float×4 | 0 – 1 each | 0, 0, 0, 1 |
— |
| Color B (RGBA) | Float×4 | 0 – 1 each | 1, 1, 1, 1 |
— |
| Width / Height | Int px | 1 – 8192 | 1920 × 1080 |
— |
Set Mode to Radial, Color A to white (center) and Color B to black (edge). Feed the Gradient into the Matte input of a Color Balance node to confine a grade to the frame center.
Output: Procedural noise
Generates smooth value noise. Scale controls frequency, Octaves stacks layers of detail, Seed produces a different pattern. Monochrome outputs greyscale; off produces colored noise.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Scale | Float | 0.01 – 10 | 1 |
— |
| Octaves | Int | 1 – 6 | 4 |
— |
| Seed | Float | 0 – 100 | 1 |
— |
| Monochrome | Bool | on / off | true |
— |
Set Scale 2, Octaves 5. Feed through Threshold to create a cloud-shaped matte, then use it as a Matte input on a Color Balance to add patchy lighting variation to a sky plate.
Output: Gradient ramp
Generates a smooth gradient between two colors in Linear, Radial, or Angular (conical) modes. Curve skews the tonal distribution toward Start or End. More flexible than the built-in Gradient node.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Mode | Enum | Linear · Radial · Angular | Linear |
— |
| Angle (°) | Float | −180 – +180 | 0 |
— |
| Center X | Float | 0 – 1 | 0.5 |
— |
| Center Y | Float | 0 – 1 | 0.5 |
— |
| Start | Color | 0 – 1 each | Black |
— |
| End | Color | 0 – 1 each | White |
— |
| Curve | Float | 0.1 – 4 | 1 |
— |
Set Mode to Angular, Start black, End white, Angle toward the spotlight direction. Use the output as a Matte on an Exposure node to brighten a cone-shaped region, simulating a spotlight sweep.
Output: Text image
Renders a line of text with a specified system font, size, color, and alignment onto a transparent canvas. Output is an RGBA image for compositing over any background.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Text | String | any | Lightform |
— |
| Font | Enum | System fonts | Helvetica |
— |
| Size (px) | Float | 6 – 1024 | 96 |
— |
| Color | Color | 0 – 1 each | White |
— |
| Opacity | Float | 0 – 1 | 1 |
— |
| Center X | Float | −1 – 2 | 0.5 |
— |
| Center Y | Float | −1 – 2 | 0.5 |
— |
| Align | Enum | Left · Center · Right | Center |
— |
| Canvas Width | Int px | 16 – 16384 | 1920 |
— |
| Canvas Height | Int px | 16 – 16384 | 1080 |
— |
Type the talent name, set Font Helvetica, Size 72, Color white, Center Y 0.8. Connect to FG of a Blend (Normal) node over the plate. Add a Transform between them to animate a slide-in.
Inputs: Image, Matte (optional) · Output: Adjusted image
Adds a brightness offset and scales contrast around the midpoint (0.5). Brightness shifts the overall level up or down; Contrast stretches or compresses the tonal range.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Brightness | Float | −0.5 – +0.5 | 0 |
✓ |
| Contrast | Float | 0 – 3 | 1 |
✓ |
After a Log→Lin node, set Contrast to 1.3 and Brightness to +0.05 for a punchy result while keeping headroom for downstream grading.
Inputs: Image, Matte (optional) · Output: Clamped image
Restricts every pixel channel to the range [Low, High]. Values below Low are raised; values above High are lowered. Insert before export to prevent out-of-gamut values.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Low | Float | 0 – 1 | 0 |
— |
| High | Float | 0 – 1 | 1 |
— |
Place a Clamp node with High = 1.0 immediately before the Output node to strip any values that would cause banding or macro-block artifacts in the encoder.
Inputs: Image, Matte (optional) · Output: Color-balanced image
Multiplies the R, G, and B channels independently by per-channel gain values. Use to neutralise color casts, match two plates, or add a deliberate tint.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Red Gain | Float | 0 – 2 | 1 |
✓ |
| Green Gain | Float | 0 – 2 | 1 |
✓ |
| Blue Gain | Float | 0 – 2 | 1 |
✓ |
Raise Red Gain to 1.05 and lower Blue Gain to 0.92 to warm up footage shot under cool LED panels back to a neutral white balance.
Inputs: Image · Output: Curves-adjusted image
Applies a piecewise-linear luminance curve defined by five control points: Black (0), Shadow (0.25), Mid (0.5), Highlight (0.75), and White (1.0). Each output value is independently adjustable.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Black (at 0) | Float | 0 – 1 | 0 |
— |
| Shadow (at 0.25) | Float | 0 – 1 | 0.25 |
— |
| Mid (at 0.5) | Float | 0 – 1 | 0.5 |
— |
| Highlight (at 0.75) | Float | 0 – 1 | 0.75 |
— |
| White (at 1) | Float | 0 – 1 | 1 |
— |
Push Shadow down to 0.2 and Highlight up to 0.8, leave others at default. This S-curve increases midtone contrast while softening the extreme ends of the tonal range.
Inputs: Image, Matte (optional) · Output: Exposure-adjusted image
Adjusts image brightness in photographic stops (EV). Each +1 stop doubles luminance; each −1 stop halves it. Computed as output = input × 2stops.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Stops | Float | −8 – +8 | 0 |
✓ |
At frame 1, keyframe Stops at −4 (nearly black). At frame 24, keyframe Stops at 0. The shot fades from dark to full exposure over one second.
Inputs: Image, Matte (optional) · Output: Gamma-corrected image
Applies a power-curve correction: output = input(1/gamma). Values above 1 lift midtones; values below 1 compress them. Used to linearise monitor-gamma-encoded footage.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Gamma | Float | 0.1 – 4 | 1 |
✓ |
If a plate was exported with a 2.2 gamma bake, set Gamma to 2.2 to linearise it before any color math, keying, or compositing operation.
Inputs: Image, Matte (optional) · Output: Graded image
A comprehensive single-node color grade with Blackpoint, Whitepoint, Lift, Gain, Multiply, Offset, and Gamma controls — the workhorse node for shot matching and primary grading.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Blackpoint | Float | −0.5 – +0.5 | 0 |
— |
| Whitepoint | Float | 0.25 – 4 | 1 |
— |
| Lift | Float | −1 – +1 | 0 |
— |
| Gain | Float | 0 – 4 | 1 |
— |
| Multiply | Float | 0 – 4 | 1 |
— |
| Offset | Float | −1 – +1 | 0 |
— |
| Gamma | Float | 0.1 – 4 | 1 |
— |
Place a Grade node after each Input. Adjust Lift and Gain to match black and white levels, then Multiply and Offset to align midtone color cast. Gamma trims remaining tonal curve differences.
Inputs: Image, Matte (optional) · Output: HSV-adjusted image
Adjusts Hue rotation, Saturation multiplier, and Value (brightness) multiplier in the HSV color model. Hue Shift rotates all hues by a fixed offset in degrees, cycling around the color wheel.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Hue Shift | Float ° | −180 – +180 | 0 |
✓ |
| Saturation | Float | 0 – 4 | 1 |
✓ |
| Value | Float | 0 – 4 | 1 |
✓ |
Set Hue Shift to +40° to push green summer foliage towards amber and yellow for an autumn look without touching skin tones or sky hues.
Inputs: Image · Output: Hue-rotated image
Rotates all hues by a fixed number of degrees around the color wheel, leaving luminance and saturation unchanged. A focused single-control alternative to the full HSV node.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Hue Shift | Float ° | −180 – +180 | 0 |
— |
Set Hue Shift to +15° to rotate cyan-leaning skies toward a deeper blue. Chain a Saturation at 1.1 to recover any warmth lost in the shift.
Inputs: Image, Matte (optional) · Output: Inverted image
Computes 1 − channel for every RGB channel. Alpha is passed through unchanged. Useful for flipping a matte from white-subject to black-subject, or creating photographic negatives.
No adjustable parameters.
Connect a Luma Key output to an Invert node to convert a white-on-black subject matte into a holdout (background-selection) matte for use as a second keyer mask.
Inputs: Image, Matte (optional) · Output: Levels-adjusted image
Remaps the tonal range by specifying an input black point, white point, and a midtone gamma curve. Equivalent to the Levels tool in Photoshop. Input range is linearly stretched to 0–1 before the gamma curve is applied.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Black Point | Float | 0 – 0.5 | 0 |
✓ |
| White Point | Float | 0.5 – 1.5 | 1 |
✓ |
| Gamma | Float | 0.1 – 4 | 1 |
✓ |
Set Black Point to 0.05 and Gamma to 0.85 to deepen shadows while keeping midtones rich — a classic starting point for a filmic look.
Inputs: Image · Output: Graded image
Three-control primary color corrector in the broadcast model: Lift adjusts the black point (shadows), Gamma adjusts the midtone curve, Gain scales the white point (highlights). Industry-standard for fast primary grading.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Lift | Float | −0.5 – +0.5 | 0 |
— |
| Gamma | Float | 0.25 – 4 | 1 |
— |
| Gain | Float | 0 – 3 | 1 |
— |
Raise Lift to 0.02 (open shadow detail), Gamma to 0.9 (add contrast), Gain to 1.15 (brighten highlights). This three-move pass is often enough for a complete primary grade on a well-exposed plate.
Inputs: Image · Output: Log-encoded image
Converts linear-light pixel values to Cineon log encoding using the standard Cineon transfer curve. Apply at the end of a linear-space pipeline when the delivery requires a log-encoded DPX master.
No adjustable parameters.
After all compositing in linear space, insert Lin→Log immediately before the Output node when delivering a DPX log master to a colour grading suite.
Inputs: Image · Output: Linear-light image
Converts Cineon/DPX log-encoded pixel values to linear light using the standard Cineon transfer curve. Apply immediately after every Input node that reads Cineon/DPX footage so all downstream operations work in linear light.
No adjustable parameters.
Place Log→Lin after every Input node reading DPX/log footage. Do all compositing and grading in linear space, then add Lin→Log before export if the delivery format requires log.
Inputs: Image, Matte (optional) · Output: LUT-graded image
Applies a 1D LUT from a .cube file. A 1D LUT maps each channel independently — ideal for tone-mapping curves, output transforms, and transfer-function conversions.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| LUT File | File path (.cube) | — | (none) |
— |
| Amount | Float | 0 – 1 | 1 |
— |
Load a camera manufacturer's 1D output LUT (e.g. S-Log3 → Rec.709 tone map). Set Amount to 1 for full application, or reduce to blend with the original for a partial look.
Inputs: Image, Matte (optional) · Output: LUT-graded image
Applies a 3D LUT from a .cube file using trilinear interpolation on a 3D color cube. Supports full creative and technical transforms including cross-channel color remapping impossible with a 1D LUT.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| LUT File | File path (.cube) | — | (none) |
— |
| Amount | Float | 0 – 1 | 1 |
— |
Load a film emulation .cube (e.g. Kodak 2383 print emulation). Reduce Amount to 0.7 to retain natural color while adding the characteristic toe and shoulder of the film stock.
Inputs: Image · Output: Color negative image
Creates an orange-masked color negative, replicating the appearance of an unexposed color film base. Inverts the image after applying an orange mask offset.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Amount | Float | 0 – 1 | 1 |
— |
| Orange Mask | Float | 0 – 1 | 0.35 |
— |
| Exposure | Float | −2 – +2 | 0 |
— |
Connect a scanned positive print to Negative at Amount 1.0, Orange Mask 0.35. Feed through a 3D LUT to color-correct back to a print-positive look.
Inputs: Image · Output: Posterized image
Reduces the number of tonal levels in each channel, creating a flat-colour posterized appearance. Per-Channel mode applies the reduction independently to R, G, and B for more colorful solarized results.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Levels | Int | 2 – 32 | 4 |
— |
| Per-Channel | Bool | on / off | true |
— |
Set Levels to 4, Per-Channel on. Feed into a Blend (Normal) at Mix 0.8 over the original for a posterized-over-photographic look.
Inputs: Image, Matte (optional) · Output: Saturation-adjusted image
Scales color saturation along the luminance axis. Values below 1 desaturate toward grey; values above 1 boost vivid colors. At 0 the output is a perceptual greyscale image.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Saturation | Float | 0 – 3 | 1 |
✓ |
Place a Saturation node at 0 on the background plate so the fully-saturated foreground subject stands out against a monochrome environment.
Inputs: Image, Matte (optional) · Output: Binary matte
Converts luminance to a soft binary mask. Pixels brighter than Value+Softness are white; pixels below Value−Softness are black; pixels in between are smoothly ramped. Useful for isolating highlights or creating matte sources.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Value | Float | 0 – 1 | 0.5 |
✓ |
| Softness | Float | 0 – 0.5 | 0.05 |
✓ |
Connect a Threshold (Value 0.85, Softness 0.05) to the Matte input of a Blur node at radius 12. Feed both through a Blend (Add) for a simple optical glow effect.
Inputs: Image · Output: Tinted image
Applies a two-color tint mapped across the luminance range: a shadow color and a highlight color. Balance controls the luminance pivot. Amount blends between the tinted result and the original.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Shadow Color | Color | 0 – 1 each | (0.1, 0.15, 0.3, 1) |
— |
| Highlight Color | Color | 0 – 1 each | (1.0, 0.95, 0.85, 1) |
— |
| Balance | Float | 0 – 1 | 0.5 |
— |
| Amount | Float | 0 – 1 | 1 |
— |
Set Shadow Color to deep blue (0.05, 0.1, 0.25), Highlight Color to warm cream (1.0, 0.95, 0.82), Balance 0.45, Amount 0.6 for a bicolor grade that retains natural midtones.
Inputs: Image · Output: Vibrance-adjusted image
Smartly boosts or reduces saturation with protection for already-vivid colors and skin tones. Has a stronger effect on muted colors and a gentler effect on saturated ones — unlike plain Saturation which treats all colors equally.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Amount | Float | −1 – +1 | 0.3 |
— |
After grading a flat plate, set Amount to 0.3–0.5. Already-saturated skies and foliage are protected while duller areas of the image gain color richness.
Inputs: Image · Output: White-balanced image
Corrects color temperature (warm/cool axis) and green-magenta tint to match a target white balance. Temperature shifts along the blue–orange axis; Tint shifts along the green–magenta axis.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Temperature | Float | −1 – +1 | 0 |
— |
| Tint | Float | −1 – +1 | 0 |
— |
For footage shot under tungsten with a daylight balance, set Temperature to +0.3 (warmer) and Tint to −0.05 to remove the slight green cast of the tungsten source.
Inputs: Image · Output: Image with elongated oval bokeh
Asymmetric blur — separate X and Y radii — for the elongated oval bokeh characteristic of anamorphic cinema lenses. Highlight Boost (gamma applied before averaging) makes bright pixels bloom into vertical streaks instead of soft circles.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Radius X | Int px | 0 – 32 | 4 |
✓ |
| Radius Y | Int px | 0 – 32 | 12 |
✓ |
| Highlight Boost | Float | 1 – 8 | 2.0 |
✓ |
Set Radius X 3, Radius Y 14, Highlight Boost 4. Highlights stretch into the tall vertical streaks classic anamorphic lenses produce — the look that signals "shot on cinema glass." Pair with Z Defocus or Iris Blur for depth-driven anamorphic DOF.
Inputs: Image, Matte (optional) · Output: Blurred image
Applies a separable two-pass Gaussian blur (horizontal then vertical). Performance is O(radius), making large radii practical on full-resolution plates.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Radius | Float px | 0 – 24 | 4 |
✓ |
Isolate the background using a Roto or Luma Key matte, route it through Blur at radius 8–16, then composite the sharp foreground over it with a Blend (Normal) node.
Inputs: Image · Output: Aberration-added image
Simulates lens chromatic aberration by radially offsetting the red and blue channels from the green, creating the colored fringing visible on low-quality lenses or at extreme focal lengths.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Amount | Float | 0 – 0.05 | 0.008 |
— |
Apply at Amount 0.005–0.012 to a CG element to match the lens characteristics of the live-action plate it composites over. Makes optically-perfect CG renders feel physically real.
Inputs: Image · Output: Convolved image
Applies a 3×3 convolution kernel. Presets cover Box Blur, Gaussian, Sharpen, Edge, and Emboss. The Custom preset exposes all nine kernel weights and a bias for arbitrary linear filtering.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Preset | Enum | Identity · Box Blur · Gaussian · Sharpen · Edge · Emboss · Custom | Identity |
— |
| Kernel [0,0]–[2,2] | Float ×9 | −8 – +8 | Identity matrix |
— |
| Bias | Float | −1 – +1 | 0 |
— |
Set Preset to Custom. Enter: corners −1, cross-edges −1, center 8. Set Bias to 0.5 to centre the result around grey for bidirectional edge visualization.
Inputs: Image · Output: Defocused image
Simulates lens defocus (bokeh) using a disc-shaped blur kernel. Highlight Boost brightens bright pixels before blurring, creating the bright specular bokeh discs characteristic of fast prime lenses.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Radius | Int px | 1 – 16 | 6 |
— |
| Highlight Boost | Float | 1 – 8 | 2 |
— |
Set Radius 8, Highlight Boost 2.5. Bright specular highlights in the background become disc-shaped bokeh — unlike the soft rings a Gaussian Blur produces.
Inputs: Image · Output: Degrained image
Removes film grain using a bilateral spatial filter whose radius and range sigma are calibrated to a specific Kodak or Fuji motion-picture stock. The filter's kernel size and smoothing aggressiveness are derived from each stock's granularity and grain size, so selecting the correct stock avoids over-blurring fine-grained stocks (e.g. Fuji F-64D) or under-smoothing coarse ones (e.g. Tri-X Reversal).
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Film Stock | Enum | 13 Kodak · 11 Fuji | Vision3 500T (5219) |
— |
| Strength | Float | 0 – 2 | 1 |
✓ |
| Preserve Edges | Float | 0.01 – 0.2 | 0.05 |
— |
Select the stock that matches your scanned film — e.g. Fuji Eterna 250D (8563) for an Eterna-originated plate. Set Strength to 1.0 and Preserve Edges to 0.05. Composite clean CG elements over the degrained plate, then apply a Film Grain node set to the same stock on the final composite output. All layers share identical grain structure, eliminating the grain-mismatch artifact visible when only the background is grained.
Inputs: Image · Output: Scratch-healed image
Detects and heals vertical scratch lines common in film scans — the kind left by a grain of dirt caught in the projector gate. Detects bright vertical lines and replaces them with interpolated values from neighboring columns.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Threshold | Float | 0.01 – 0.6 | 0.12 |
— |
Run Descratch (Threshold 0.15) across a scratched sequence. For a scratch that varies in width, consider chaining two Descratch nodes at different thresholds or animating the Threshold parameter with keyframes.
Inputs: Image · Output: Cleaned image
Automatically removes small dust spots and dirt particles from film scans. Compares each pixel against its 3×3 neighbourhood; extreme outliers beyond the Threshold are replaced with the local median.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Threshold | Float | 0 – 0.6 | 0.12 |
— |
Place Dustbust immediately after the Input node. Start at Threshold 0.12; increase toward 0.25 on heavily dusted frames. Lower values remove more spots but can slightly soften fine grain detail.
Inputs: Image · Output: Edge-blurred image
Applies blur selectively at detected edge locations while leaving flat areas unaffected. Useful for smoothing jagged or aliased matte edges without blurring the overall image.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Radius | Int px | 1 – 12 | 3 |
— |
| Edge Threshold | Float | 0 – 0.5 | 0.05 |
— |
After a Chroma Key, add Edge Blur at Radius 2, Edge Threshold 0.04. The node localises blur to the matte boundary, producing a natural soft edge without blurring internal subject detail.
Inputs: Image, Matte (optional) · Output: Edge map
Computes the Sobel gradient magnitude across all channels and returns a greyscale edge map. High values indicate strong edges; uniform regions return near-zero. Use as a matte source or for stylistic effects.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Strength | Float | 0 – 4 | 1 |
✓ |
Run Edge Detect at Strength 2, connect its output to a Blend (Add) node over the original plate for a graphic outlined look reminiscent of hand-drawn rotoscope animation.
Inputs: Image, Matte (optional) · Output: Embossed image
Applies a directional emboss filter that highlights surface relief as if lit from a specified angle. Used for stylised looks, bump-map generation, or displacement-texture sources.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Strength | Float | 0 – 4 | 1 |
✓ |
| Angle | Float ° | −180 – +180 | 45 |
✓ |
Route a white-text-on-black graphic through Emboss (Strength 2, Angle 135°), then blend it over a metal-texture plate using Blend (Overlay) for a raised-letter effect.
Inputs: Image · Output: Grain-added image
Adds photochemically accurate film grain matched to 24 specific Kodak and Fuji motion-picture stocks. Each stock encodes its own spatial frequency, RMS granularity, and per-channel grain size. Fuji stocks exhibit finer, more uniform grain with a proportionally stronger green channel and cooler character compared to Kodak stocks at equivalent ISOs.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Film Stock | Enum | 13 Kodak · 11 Fuji | Vision3 500T (5219) |
— |
| Amount | Float | 0 – 2 | 1 |
✓ |
| Monochrome Grain | Bool | on / off | off |
— |
To match a Fuji Eterna 500T scan, select Fuji Eterna 500T (8573) at Amount 1.0. For a round-trip grain-exchange — degrain the plate, composite clean CG, then re-grain the result — use the same stock in both the Degrain and Film Grain nodes so grain structure is identical across all layers. Enable Monochrome Grain when graining over a B&W print output.
Inputs: Image, Matte (optional) · Output: Glow-added image
Isolates pixels above a luminance threshold, blurs them, and additively composites the result back over the source. Simulates lens blooming on bright light sources or hot reflections.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Threshold | Float | 0 – 1 | 0.8 |
✓ |
| Radius | Float px | 0 – 32 | 8 |
✓ |
| Intensity | Float | 0 – 4 | 1 |
✓ |
For shots with visible practical lights or LEDs, set Threshold 0.9, Radius 14, Intensity 1.5 for a subtle blooming halo that sells the brightness of the light source.
Inputs: Image, Matte (optional) · Output: Grain-added image
Adds synthetic film grain using a per-frame seeded random-noise field. The seed changes every frame, simulating natural grain flutter rather than a static texture overlay.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Amount | Float | 0 – 0.4 | 0.05 |
✓ |
Apply Grain at Amount 0.03–0.08 to a CG element before compositing it over a film plate. This prevents the CG element from looking artificially clean against the natural grain texture of the live-action footage.
Inputs: Image · Output: Highpass image
Subtracts a blurred version from the original, retaining only high-frequency detail. With Add to 50% Grey on, the output is centred at 0.5 grey — directly usable as an Overlay blend layer for frequency-separation retouching.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Radius | Int px | 1 – 24 | 6 |
— |
| Gain | Float | 0 – 8 | 1 |
— |
| Add to 50% Grey | Bool | on / off | true |
— |
Feed the same source into Blur (low-frequency) and Highpass (high-frequency) at matching Radius. Blend the Highpass output over the Blur using Blend (Overlay) to reassemble with sharpened detail on smooth colour.
Inputs: Image · Output: Image with circular focus region
Radial focus region without a depth pass. A circular sharp area at Center X/Y stays in focus inside Focus Radius; the blur ramps up to Max Radius at Falloff Radius and beyond. Aspect-corrected so the focus region stays circular regardless of frame shape. Used heavily in motion graphics, product shots, and stylized portraits.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Center X | Float | 0 – 1 | 0.5 |
✓ |
| Center Y | Float | 0 – 1 | 0.5 |
✓ |
| Focus Radius | Float | 0 – 1 | 0.15 |
✓ |
| Falloff Radius | Float | 0 – 2 | 0.5 |
✓ |
| Max Radius | Int px | 1 – 24 | 10 |
— |
Place Center X/Y over the subject, Focus Radius 0.12, Falloff Radius 0.45, Max Radius 16. The face stays sharp; the background blurs progressively to a strong defocus. Animate Center X/Y to follow a moving subject.
Inputs: Image · Output: Flare-composited image
Synthesises a multi-element lens flare: central hotspot, diffusion halo, anamorphic streaks, secondary ghost reflections, and chromatic fringing — all additively composited over the input image.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Position X | Float | 0 – 1 | 0.7 |
— |
| Position Y | Float | 0 – 1 | 0.3 |
— |
| Intensity | Float | 0 – 4 | 1 |
— |
| Hotspot Size | Float | 0 – 0.5 | 0.05 |
— |
| Halo Size | Float | 0 – 1 | 0.25 |
— |
| Streak Length | Float | 0 – 2 | 0.7 |
— |
| Streak Width | Float | 0.001 – 0.2 | 0.02 |
— |
| Ghosts | Float | 0 – 2 | 0.6 |
— |
| Chromatic Shift | Float | 0 – 0.05 | 0.012 |
— |
Place Position X/Y at the window location. Keyframe Intensity to peak as the camera reveals the sun — simulating natural flare flutter as the camera angle changes.
Inputs: Image, Matte (optional) · Output: Median-filtered image
Applies a median filter over a 3×3 or 5×5 neighbourhood. Excellent at removing salt-and-pepper noise and isolated pixel defects while preserving hard edges better than a Gaussian blur.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Radius | Int | 1 (3×3) – 2 (5×5) | 1 |
— |
Place a Median node (Radius 1) early in the graph — after the Input — to suppress isolated hot pixels common in long-exposure or high-ISO footage before any keying or grading operation.
Inputs: Image, Matte (optional) · Output: Motion-blurred image
Applies a linear directional blur along a specified angle and length. Use to add synthetic motion blur to a CG element, to simulate camera pan blur, or to sell the speed of a tracked insert.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Angle | Float ° | 0 – 360 | 0 |
✓ |
| Length | Float px | 0 – 64 | 12 |
✓ |
From the tracker data, compute each frame's dx/dy delta and convert to polar angle and magnitude. Keyframe both Motion Blur Angle and Length to match — the element blurs naturally as it moves fast and sharpens when it slows.
Inputs: Image, Matte (optional) · Output: Sharpened image
Applies an unsharp mask: a blurred version is subtracted from the original and the difference (high-frequency detail) is added back at the specified Amount. Enhances perceived crispness without changing overall luminance.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Amount | Float | 0 – 4 | 0.5 |
✓ |
After Log→Lin on a film scan, add Sharpen at Amount 0.3–0.6 to recover grain-level sharpness lost during scanning. Avoid values above 1.5 which introduce ringing on hard edges.
Inputs: Image · Output: Image with gradient-driven blur
Linear-gradient depth-of-field. A sharp band of width Band Height runs across the frame at Focus Y, perpendicular to the Angle direction; pixels outside the band blur progressively to Max Radius. No depth pass needed — the focus axis is screen-space. Mimics a tilt-shift lens; the famous "miniature world" look comes from a horizontal sharp band on a top-down composition.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Focus Y | Float | 0 – 1 | 0.5 |
✓ |
| Band Height | Float | 0 – 1 | 0.15 |
✓ |
| Max Radius | Int px | 1 – 24 | 10 |
— |
| Angle | Float° | -180 – 180 | 0 |
✓ |
Set Angle to 0 (horizontal band), Focus Y to 0.55 (slightly below center, where the subject sits), Band Height 0.12, Max Radius 14. The band stays sharp; the sky and foreground blur progressively. The shallow depth-of-field reads as if the scene were a tabletop model.
Inputs: Image · Output: Vignette-added image
Adds a radial brightness falloff from the frame center. Negative Amount darkens edges (classic vignette); positive Amount brightens them (anti-vignette). Radius and Softness control the ellipse shape and feather.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Amount | Float | −1 – +1 | 0.5 |
— |
| Radius | Float | 0.1 – 2 | 0.9 |
— |
| Softness | Float | 0.01 – 1 | 0.5 |
— |
Set Amount −0.35, Radius 0.85, Softness 0.6 for a gentle vignette that draws the eye center without being obvious. Apply as the last node before Output.
Inputs: Image, Depth map · Output: Depth-blurred image
Applies depth-of-field blur driven by a greyscale depth map. Pixels near the Focus Depth remain sharp; pixels further away are blurred proportionally up to Max Radius. Produces per-pixel defocus without 3D renders.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Focus Depth | Float | 0 – 1 | 0.5 |
— |
| Focus Range | Float | 0.01 – 1 | 0.25 |
— |
| Max Radius | Int px | 1 – 24 | 8 |
— |
| Invert Depth | Bool | on / off | false |
— |
Connect the beauty render to BG and the normalised Z-pass to Depth. Set Focus Depth to the normalised depth of your subject, Focus Range 0.15, Max Radius 10. Enable Invert Depth if your Z-pass encodes near=1/far=0.
Inputs: Image, Depth map · Output: Defocused image with shaped bokeh
Cinematic depth-of-field — combines Z Blur's per-pixel depth-driven radius with a shaped iris (disc, hexagon, or square) and Highlight Boost so bright pixels bloom into iris-shaped bokeh. Use for finishing-quality DOF; use Z Blur when you just need a fast soft falloff.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Focus Depth | Float | 0 – 1 | 0.5 |
— |
| Focus Range | Float | 0.01 – 1 | 0.25 |
— |
| Max Radius | Int px | 1 – 24 | 10 |
— |
| Iris Shape | Enum | Disc · Hexagon · Square | Disc |
— |
| Highlight Boost | Float | 1 – 8 | 2.0 |
— |
| Invert Depth | Bool | on / off | false |
— |
Connect the plate to BG and the depth pass to Depth. Set Iris Shape to Hexagon, Focus Depth at the subject's depth value, Focus Range 0.12, Max Radius 14, Highlight Boost 4. Bright background highlights bloom into hexagonal bokeh shapes characteristic of fast cine primes; the subject stays sharp inside the focal range.
Inputs: Destination (BG), Source (FG) · Output: Channel-modified image
Copies a specified channel from the FG image into a specified channel of the BG image. All other BG channels pass through unchanged. Essential for injecting a custom alpha or replacing a single color channel.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Destination (BG channel) | Enum | Red · Green · Blue · Alpha | Alpha |
— |
| Source (FG channel) | Enum | Red · Green · Blue · Alpha · Luma | Luma |
— |
Connect a beauty render to BG and a separately rendered alpha/matte to FG. Set Source to Luma, Destination to Alpha. The RGB remains untouched and now carries the correct alpha for compositing.
Inputs: R input, G input, B input, A input · Output: Merged RGBA image
Builds a new RGBA image by selecting one channel from each of up to four independent input images. Each output channel independently selects its source from R, G, B, A, Luma, or constant One.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| R From | Enum | Red · Green · Blue · Alpha · Luma | Red |
— |
| G From | Enum | Red · Green · Blue · Alpha · Luma | Green |
— |
| B From | Enum | Red · Green · Blue · Alpha · Luma | Blue |
— |
| A From | Enum | Red · Green · Blue · Alpha · Luma · One | One |
— |
Connect a beauty render to R input, a specular pass to G input, a diffuse pass to B input. Set R/G/B From to Red/Green/Blue, A From to One. Each render pass becomes a separate color channel you can grade independently downstream.
Inputs: Image · Output: Channel-zeroed image
Zeroes out any combination of R, G, B, and A channels while leaving others unchanged. Use to isolate a single channel, clear an unwanted alpha, or zero a color channel for diagnostic work.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Red | Bool | on / off | false |
— |
| Green | Bool | on / off | false |
— |
| Blue | Bool | on / off | false |
— |
| Alpha | Bool | on / off | false |
— |
Enable the Alpha toggle to zero the alpha channel of an image with an unwanted embedded matte. The RGB passes through unchanged; the image is now treated as fully opaque downstream.
Inputs: Image · Output: Premultiplied image
Multiplies each RGB channel by the alpha channel (R×A, G×A, B×A). Converts a straight-alpha image to premultiplied format required by most compositing blend operations.
No adjustable parameters.
CG renderers often output straight alpha. Insert Premult before connecting a CG element to a Blend node to avoid "white fringe" artifacts at transparent edges.
Inputs: Image · Output: Channel-shuffled image
Reroutes RGBA channels to different output slots. Extract a single channel as a greyscale image, swap Red and Blue for a format conversion, or isolate the alpha channel for matte operations.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Mode | Enum | RGBA · BGRA · R→RGB · G→RGB · B→RGB · A→RGB · BGR | RGBA |
— |
Set Mode to A→RGB to copy the alpha channel into all three RGB channels (alpha set to 1). Feed the result into a Luma Key to create a luminance matte from an existing alpha pass.
Inputs: Image · Output: Straight-alpha image
Divides each RGB channel by the alpha channel (R÷A, G÷A, B÷A). Converts premultiplied to straight alpha. Always apply before color-correcting a premultiplied element to avoid edge darkening.
No adjustable parameters.
Chain: Input → Unpremult → Color Balance → Premult. The sandwich ensures color corrections are applied to true pixel values, not values already modulated by alpha.
Inputs: Image, Matte (optional) · Output: Keyed RGBA image
Removes a specific screen color (green, blue, etc.) using either a fast Euclidean RGB Distance or the broadcast-standard Color Difference algorithm. Includes despill to remove residual screen color reflected onto the subject.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Method | Enum | RGB Distance · Color Difference | Color Difference |
— |
| Key Color R/G/B | Float×3 | 0 – 1 each | 0, 1, 0 (green) |
— |
| Tolerance | Float | 0 – 1 | 0.3 |
✓ |
| Falloff | Float | 0 – 0.5 | 0.15 |
✓ |
| Despill | Float | 0 – 1 | 1 |
— |
| Shrink | Float | 0 – 0.5 | 0.05 |
✓ |
Connect the greenscreen plate to input[0]. Sample the background green with the color picker. Set Method to Color Difference, Tolerance 0.35, Falloff 0.1, Despill 1.0. Increase Shrink slightly to tighten a fringe edge on fine hair.
Inputs: Plate (BG), Clean plate (Clean) · Output: Difference matte
Generates a matte by computing the absolute per-pixel difference between a plate and a clean reference. Pixels that have changed beyond the Tolerance threshold become white. Simple and effective for locked-off camera shots.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Tolerance | Float | 0 – 1 | 0.05 |
— |
| Softness | Float | 0.01 – 1 | 0.1 |
— |
Shoot a clean plate without the rig. The matte reveals only the rig pixels. Feed into a Keymix to replace the rig area with the clean background plate.
Inputs: Image · Output: Hue-keyed matte
Keys based on hue angle rather than absolute color, making it more robust to lighting variation. A hue range and softness define the acceptance zone on the color wheel. Minimum Saturation prevents greys and near-whites from being pulled.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Hue (°) | Float | 0 – 360 | 120 |
— |
| Range (°) | Float | 0 – 180 | 30 |
— |
| Softness (°) | Float | 0 – 90 | 10 |
— |
| Min Saturation | Float | 0 – 1 | 0.15 |
— |
For a pink or orange screen, set Hue to the screen's hue angle, Range 25°, Softness 8°. Min Saturation 0.2 prevents low-saturation flesh tones from being pulled into the key.
Inputs: Plate (BG), Clean plate (Clean), Matte (optional) · Output: Keyed RGBA image
Compares the plate against a clean-plate reference to generate a highly accurate matte even under uneven screen lighting. Requires a clean plate from the same shot setup. Includes despill.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Screen | Enum | Green · Blue · Red | Green |
— |
| Tolerance | Float | 0 – 1 | 0.1 |
— |
| Softness | Float | 0.001 – 1 | 0.1 |
— |
| Despill | Float | 0 – 1 | 0.6 |
— |
| Output | Enum | Premultiplied · Matte Only | Premultiplied |
— |
Shoot an empty frame of the greenscreen before the take. Connect the subject plate to BG and the clean plate to Clean. IBK's per-pixel subtraction handles lighting gradients that defeat a standard chroma keyer.
Inputs: Image, Matte (optional) · Output: Keyed RGBA image
Keys (removes) pixels based on luminance. Pixels between the Low and High thresholds become transparent; pixels outside remain opaque. Soft falloffs at each boundary prevent hard matte edges.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Low | Float | 0 – 1 | 0.1 |
✓ |
| High | Float | 0 – 1 | 0.9 |
✓ |
| Invert | Bool | on / off | off |
— |
For footage shot on a white backing, set Low to 0.75, High to 1.0, and enable Invert. This keys out the bright white backing while retaining the darker subject.
Inputs: Matte · Output: Blurred matte
Blurs the edges of a matte using a Gaussian blur, producing a natural soft falloff at matte boundaries. Use after morphological operations to smooth any staircasing or harshness introduced by erode/dilate.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Radius | Int px | 1 – 16 | 4 |
— |
Chain as the last step in a matte operation sequence (Erode → Dilate → Matte Blur). Radius 2–4 adds a natural soft falloff, particularly important on fine hair that would otherwise show a hard composite boundary.
Inputs: Matte · Output: Dilated matte
Expands the white area of a matte outward using a morphological maximum (dilation). Recovers fine detail that an over-aggressive key or erosion may have removed.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Radius | Int px | 1 – 8 | 2 |
— |
After Matte Erode, apply Matte Dilate at Radius 1. The Erode→Dilate pair (morphological open) removes fringe without permanently losing fine edge structure like hair or flyaways.
Inputs: Matte · Output: Eroded matte
Shrinks the white area of a matte inward using a morphological minimum (erosion). Removes thin fringe pixels from over-expanded key mattes while preserving the overall shape.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Radius | Int px | 1 – 8 | 2 |
— |
After Chroma Key, if the matte has a thin bright fringe, apply Matte Erode at Radius 1–2. This trims the overgrown boundary without affecting the solid interior of the matte.
Inputs: Matte A, Matte B · Output: Combined matte
Performs a mathematical operation between two mattes. Use to combine results from multiple keyers, subtract a garbage matte from a key, or intersect a roto shape with a chroma key result.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Operation | Enum | Union (max) · Intersect (min) · Subtract (A−B) · Difference (|A−B|) · Add | Union (max) |
— |
Feed the Chroma Key matte to A and a Roto garbage matte to B. Set Operation to Intersect (min) to restrict the key result to the performer's area, eliminating spill from set walls outside the roto boundary.
Output: Animated bezier matte
Generates an animated bezier spline matte. Knots are placed interactively on the canvas; tangent handles control curvature. Each keyframe stores the full spline shape and Lightform FX interpolates smoothly between keyframes.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Feather | Float | 0 – 0.1 | 0 |
— |
| Opacity | Float | 0 – 1 | 1 |
— |
| Invert | Bool | on / off | off |
— |
Select the Roto node and click the canvas to place knots around the subject's outline. Drag tangent handles to curve edges. Advance 10–15 frames, reposition knots to the new pose, and press ◆ Set Key. Repeat at key poses throughout the shot. Connect the Roto output to a Blend node's Matte input.
Inputs: Image · Output: Despilled image
Targeted suppression of screen-color spill (reflected green or blue) from a keyed subject. Use after keying when the Chroma Key node's built-in despill is insufficient for heavily spill-lit subjects.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Spill Channel | Enum | Green · Blue · Red | Green |
— |
| Amount | Float | 0 – 1 | 1 |
— |
Chain after Chroma Key. Set Spill Channel to Green, Amount 0.7. The targeted suppression removes residual green without desaturating the subject's natural hair color the way full despill can.
Inputs: Image · Output: Wire-removed image
Removes wire rigs, fishing lines, or visible support cables by detecting pixels that match the screen color and replacing them with spatially interpolated values from surrounding pixels. Works best on relatively uniform backgrounds.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Screen Color R/G/B | Float×3 | 0 – 1 each | 0, 1, 0 |
— |
| Tolerance | Float | 0 – 1 | 0.25 |
— |
| Softness | Float | 0 – 0.5 | 0.08 |
— |
| Search Radius | Int px | 1 – 128 | 32 |
— |
Set Screen Color to match the sky or background behind the wire, Tolerance 0.2, Search Radius 24. The node searches horizontally within the radius for a clean background pixel to copy over the wire's location.
Inputs: Image · Output: Shake-added image
Adds procedural synthetic camera shake using Perlin-noise-driven translation. Frequency controls the speed of movement; Amplitude the pixel range of travel; Seed changes the motion path.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Amplitude (px) | Float | 0 – 100 | 12 |
— |
| Frequency | Float | 0.1 – 20 | 6 |
— |
| Seed | Float | 0 – 100 | 1 |
— |
Set Amplitude 8, Frequency 5. Increase to Amplitude 20–40 and Frequency 12 for action-cam or earthquake simulation. Change Seed to get a different motion path.
Inputs: Image · Output: Cropped image
Crops the image by normalised insets on each side. Values run 0 (no crop) to 1 (fully cropped). Output resolution is unchanged — cropped regions become transparent black.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Left | Float | 0 – 1 | 0 |
— |
| Right | Float | 0 – 1 | 0 |
— |
| Top | Float | 0 – 1 | 0 |
— |
| Bottom | Float | 0 – 1 | 0 |
— |
To letterbox a 1.78 frame to 2.39, set Top and Bottom each to 0.132. This removes ~13.2% from each edge, producing the 2.39:1 widescreen aspect ratio.
Inputs: Image (BG), Displacement map (FG) · Output: Displaced image
Offsets BG pixels using a displacement map. By default luminance drives uniform X+Y displacement. Enable Use R/G Channels to drive horizontal and vertical displacement independently from the Red and Green channels.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Amount (px) | Float | 0 – 200 | 20 |
— |
| Use R/G Channels | Bool | on / off | false |
— |
Drive Displace with a slowly animated Fractal Noise node at Amount 8–15 px. The subtle per-pixel displacement creates convincing heat-shimmer distortion over a background plate.
Inputs: Image · Output: Flipped image
Mirrors the image horizontally (X axis), vertically (Y axis), or both. Useful for matching mirror-image plates, correcting reversed film scans, or achieving stylistic symmetry.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Mode | Enum | None · X · Y · Both | X |
— |
If a scanned film negative was digitised emulsion-side up, set Flip Mode to X to mirror the left-right reversal and restore the correct orientation.
Inputs: Image · Output: Lens-distorted image
Applies radial lens distortion via the Brown–Conrady model (K1 and K2 coefficients). Positive values produce barrel distortion; negative values produce pincushion. Use to match or remove the distortion of a real lens.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| K1 (radial) | Float | −1 – +1 | 0 |
— |
| K2 (higher order) | Float | −1 – +1 | 0 |
— |
Negate the K1/K2 values from a lens calibration solve to undistort the plate before a 3D tracking pass, then apply the original K1/K2 to re-distort CG renders in post.
Inputs: Image · Output: Mirrored image
Creates a mirror reflection by copying one half of the image over the other across a pivot line. Mode selects which half is the source; Pivot shifts the axis position.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Mode | Enum | Left→Right · Right→Left · Top→Bottom · Bottom→Top | Left→Right |
— |
| Pivot | Float | 0 – 1 | 0.5 |
— |
Set Mode to Left→Right, Pivot 0.5 to create a perfectly symmetrical frame from the left half — a common technique for extending a practical background set on one axis.
Inputs: Image, Matte (optional) · Output: Perspective-warped image
Applies a 3D perspective distortion by rotating the image plane around its X, Y, and Z axes with a configurable virtual camera distance. Simulates camera angle changes or creates 3D title animations.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Rotation X | Float ° | unbounded | 0 |
— |
| Rotation Y | Float ° | unbounded | 0 |
— |
| Rotation Z | Float ° | unbounded | 0 |
— |
| Distance | Float | > 0 | 2 |
— |
Place a graphic over a Constant background, feed through Perspective, and keyframe Rotation Y from 0° to 360° over 60 frames for a full card flip. Increase Distance to reduce foreshortening at extreme angles.
Inputs: Image · Output: Polar-transformed image
Converts between rectangular (Cartesian) and polar coordinate spaces. Rect→Polar wraps the image into a circular form; Polar→Rect unwraps it.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Mode | Enum | Rect → Polar · Polar → Rect | Rect → Polar |
— |
Feed a horizontal gradient or strip of text through Polar (Rect → Polar). The horizontal content wraps into a ring, creating a planet-ring or tunnel warp effect common in motion graphics.
Inputs: Image · Output: Reformatted image
Resizes the output to a specified width and height. Stretch fills the frame; Letterbox preserves aspect ratio with transparent bars; Crop fills the frame by cropping edges.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Output Width | Int px | 16 – 8192 | 1920 |
— |
| Output Height | Int px | 16 – 8192 | 1080 |
— |
| Fit | Enum | Stretch · Letterbox · Crop | Letterbox |
— |
Set Width 1280, Height 720, Fit Letterbox. Place Reformat before Output for web delivery while keeping the master graph at full 1080p.
Inputs: Image (BG), UV map (FG) · Output: UV-warped image
Warps BG using a UV (ST) map where the Red channel encodes X position and Green encodes Y position (both 0–1 normalised). Enables arbitrary per-pixel distortion from pre-computed warp maps generated in 3D software.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Flip V | Bool | on / off | false |
— |
Export a UV warp map from your 3D application. Connect the beauty render to BG and the UV map to FG. Enable Flip V if your UV origin is top-left (OpenGL/Metal convention).
Inputs: Image · Output: Tiled image
Tiles the input in an M×N grid. Mirror Every Other reflects alternating tiles so adjacent tiles share edges without a visible seam, enabling seamlessly tiling textures.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Tiles X | Int | 1 – 32 | 3 |
— |
| Tiles Y | Int | 1 – 32 | 3 |
— |
| Mirror Every Other | Bool | on / off | false |
— |
Connect a 480×270 texture to Tile with Tiles X and Y both 4 and Mirror Every Other on. The result fills 1920×1080 with a seamlessly mirrored repeat and no visible boundary.
Inputs: Image, Matte (optional) · Output: Transformed image
Applies a 2D affine transform: translation, uniform scale, and rotation around the image center. Transform order: scale → rotate → translate.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Translate X | Float px | −500 – +500 | 0 |
✓ |
| Translate Y | Float px | −500 – +500 | 0 |
✓ |
| Scale | Float | 0.05 – 4 | 1 |
✓ |
| Rotation | Float ° | −180 – +180 | 0 |
✓ |
At frame 1, keyframe Translate X at −200. At frame 20, keyframe at 0. The title slides in from the left over 20 frames. Add a Scale animation from 0.8 to 1.0 for a push-in effect.
Inputs: Reference plate (BG), Foreground element (FG) · Output: Position-matched image
Tracks a single feature point across the timeline using NCC template matching and applies the resulting translation to the FG input. Positive Strength follows the track; negative Strength applies the inverse (stabilisation). Both inputs can be the same plate for a pure stabilise effect.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Reference Frame | Int | 1 – last frame | 1 |
— |
| Track X / Y | Float norm. | 0 – 1 | 0.5, 0.5 |
— |
| Patch Size | Int px | 8 – 128 | 32 |
— |
| Search Radius | Int px | 4 – 128 | 24 |
— |
| Strength | Float | −2 – +2 | 1 |
— |
Connect the reference plate to BG and your graphic to FG. Pick a stationary feature on the surface. Click Compute Track. At Strength 1 the graphic sticks to the surface; at −1 it counteracts the motion for stabilisation.
Inputs: Reference plate (BG), Foreground element (FG) · Output: Corner-pin warped image
Tracks a planar surface defined by four corner points using an inverse-compositional Lucas-Kanade (IC-LK) homography optimizer (Baker & Matthews 2004). Solves the full 8-DOF projective transform across the entire patch — the gold standard for flat-surface replacement (screens, signs, billboards).
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Reference Frame | Int | 1 – last frame | 1 |
— |
| Corner 0–3 X / Y | Float norm. | 0 – 1 | (centred quad) |
— |
| Patch Size | Int px | 8 – 128 | 32 |
— |
| Search Radius | Int px | 4 – 128 | 24 |
— |
Set the reference frame to a frame where the billboard is fully visible. Drag each corner handle to the four corners of the billboard face. Click Compute Track — the tracker sweeps forward and backward from the reference using IC-LK. Connect your replacement artwork to FG; it will be homography-warped to the billboard's perspective throughout the shot.
Inputs: Plate · Output: Plate (pass-through)
Multi-point 2D tracker that doubles as a camera-tracker foundation. Place up to 16 feature points on a reference frame; the host NCC-matches each across the timeline (subpixel-refined), then can solve a relative camera pose between any two frames, chain consecutive solves into a per-frame world-space trajectory, triangulate the 2D points into a 3D point cloud, and globally refine everything via dense bundle adjustment. The output texture passes through unchanged — the value is in the solved data, which Camera 3D and Card 3D nodes read by linking to this tracker.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Ref Frame | Int | 1 – last | 1 |
— |
| Patch Size | Int px | 8 – 128 | 32 |
— |
| Search Radius | Int px | 4 – 128 | 24 |
— |
| Per-point X / Y | Float norm. | 0 – 1 | (varies) |
— |
| Frame A / Frame B (pose solve) | Int | 1 – last | 1, 2 |
— |
Connect the plate to the Plate input. Click Add Point 8 to 12 times and drag each point onto a stable feature in the scene (corners of objects, high-contrast textures — avoid foliage and people). Set Patch Size 32, Search Radius 24, then Compute Track to walk the timeline.
Once tracking lands: Solve Trajectory chains pairwise pose solves into a per-frame world-space camera trajectory and triangulates the cloud of 3D points. Refine (Bundle Adjust) minimizes total reprojection error globally — caption shows how many ×-improvement BA produced.
To use the result: drop a Camera 3D node and set its Track Source to this Point Tracker; drop a Card 3D, set its Snap Source to this tracker and pick a Snap Point #; wire your image into the Card's Tex socket and a Render 3D node consumes both. The card now sits locked to the tracked feature in 3D space as the camera animates.
Tip on lens accuracy: wire the Camera 3D's Track Source link before running Solve Trajectory, and set the Camera's Focal (mm) and Sensor (mm) to match the lens that shot the plate. The tracker reads those values when building the projection matrix; the placeholder 50 mm / 24 mm fallback only applies when no Camera is linked.
Inputs: Image to stabilize · Output: Stabilized image
Reads tracking data from an upstream Match Move, Two-Point Track, or Planar Track node and applies the inverse transform to lock the tracked feature to its reference-frame position. Removes camera shake and handheld motion.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Source Tracker | Node reference | Any tracker node | (none) |
— |
| Strength | Float | 0 – 1 | 1 |
— |
Track a fixed background detail (door frame, wall corner) with a Match Move node. Create a Stabilize node, link Source Tracker to that Match Move, then feed the plate through Stabilize. Strength 1 fully locks the background; 0.7–0.9 leaves a subtle natural-movement feel.
Inputs: Reference plate (BG), Foreground element (FG) · Output: Similarity-transformed image
Tracks two independent feature points and derives a similarity transform (translation + rotation + uniform scale) from their relative motion. Ideal for rigid objects that simultaneously move, rotate, and scale in frame.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Reference Frame | Int | 1 – last frame | 1 |
— |
| Point 0 X / Y | Float norm. | 0 – 1 | 0.35, 0.5 |
— |
| Point 1 X / Y | Float norm. | 0 – 1 | 0.65, 0.5 |
— |
| Patch Size | Int px | 8 – 128 | 32 |
— |
| Search Radius | Int px | 4 – 128 | 24 |
— |
| Strength | Float | −2 – +2 | 1 |
— |
Place the two tracker points on diagonally opposite corners of the laptop screen bezel. Run Compute Track. The FG element (your replacement graphic) will be translated, rotated, and scaled to perfectly match the laptop movement throughout the shot.
Inputs: Background (BG), Foreground (FG), Matte (optional) · Output: Composited image
Composites the FG layer over the BG layer using one of eight blend modes. The optional Matte input restricts blending to the matte's white areas. Mix controls overall FG opacity and is keyframeable for dissolves.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Mode | Enum | Normal · Add · Multiply · Screen · Overlay · Difference · Min · Max | Normal |
— |
| Mix | Float | 0 – 1 | 1 |
✓ |
Connect the background plate to BG, the keyed foreground to FG, and the key matte to Matte. Set Mode to Normal, Mix 1.0. The FG alpha combined with the matte determines how much of each FG pixel shows over the background.
Inputs: A, B · Output: Cross-faded image
Linearly cross-fades between inputs A and B. At Mix 0 the output is entirely A; at Mix 1 it is entirely B. Keyframe Mix for a traditional cross-dissolve transition.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Mix | Float | 0 – 1 | 0.5 |
— |
Connect outgoing shot to A, incoming to B. Keyframe Mix from 0 to 1 over 24 frames for a one-second dissolve between scenes.
Inputs: Image · Output: Edge-extended image
Extends the outermost opaque edge pixels outward into the transparent region. Eliminates the dark fringe that appears when a premultiplied element is transformed or scaled, because there are no longer transparent-black pixels at the boundary.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Radius (px) | Int px | 1 – 32 | 6 |
— |
Apply Edge Extend (Radius 4–8) before any Transform node on a keyed element. The extended edge pixels fill the transparent border, preventing the fringe artifact when the transformed image is composited over a colored background.
Inputs: Background (BG), Foreground (FG), Matte · Output: Keymixed image
Composites FG over BG using a specified channel of the Matte input. More flexible than a standard Blend because you can select which channel (Alpha, R, G, B, or Luma) drives the mix.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Matte Channel | Enum | Alpha · Red · Green · Blue · Luma | Alpha |
— |
| Invert Matte | Bool | on / off | false |
— |
If a keyer outputs its holdout in the green channel rather than alpha, set Matte Channel to Green in Keymix — no Shuffle node required.
Inputs: Background (BG), Foreground (FG), Matte (optional) · Output: Light-wrapped composite
Blurs the background colors and wraps them around the edges of the foreground element, creating the appearance that background light spills onto the foreground. Essential for integrating keyed elements into colorful or bright backgrounds.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Radius (px) | Int px | 1 – 32 | 8 |
— |
| Intensity | Float | 0 – 4 | 1 |
— |
| Use FG Alpha as Matte | Bool | on / off | true |
— |
Set Radius 12, Intensity 0.8. The warm orange sunset colors bleed onto the actor's hair and shoulders, selling the integration far better than a clean composite alone.
Inputs: A, B · Output: Selected image
Passes either input A or input B to the output. Use to toggle between two versions of a composition, switch proxy vs. full-quality, or build A/B comparison setups without rewiring.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Output | Enum | A · B | A |
— |
Connect two different grade chains to A and B. Toggle Output between A and B in the Parameters panel to instantly compare the two approaches.
Inputs: Image · Output: Deflickered image
Reduces inter-frame brightness flicker common in time-lapse footage, scanned film, or variable-shutter recordings. Normalises each frame's average luminance (or per-channel values) toward the running average over a temporal window.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Window Radius | Int | 1 – 10 | 3 |
— |
| Correction | Enum | Luminance · Per-Channel | Luminance |
— |
| Strength | Float | 0 – 1 | 1 |
— |
Set Window Radius 5, Correction Luminance, Strength 0.9. Leave Strength below 1 to avoid over-smoothing intentional exposure transitions. Use Per-Channel for mixed-lighting colour flicker.
Inputs: Image · Output: Blended image
Blends adjacent frames into each output frame. Radius controls how many frames on each side contribute. Box gives equal weight; Gaussian gives more weight to the central frame. Used for motion blur simulation or frame-rate conversion smoothing.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Radius (frames) | Int | 0 – 8 | 1 |
— |
| Weight Shape | Enum | Box · Gaussian | Box |
— |
Set Radius 1, Weight Shape Box to blend 3 consecutive frames (−1, 0, +1) equally — equivalent to a 180° shutter on 24fps footage. Radius 2 with Gaussian gives a more natural shutter-blur falloff.
Inputs: Image · Output: Retimed image
Changes the playback speed of a clip. Speed 2.0 doubles the rate; Speed 0.5 halves it. Anchor Frame sets which source frame aligns with output frame 0. Blend interpolation averages adjacent frames for smoother slow motion.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Speed | Float | −4 – +4 | 1 |
— |
| Anchor Frame | Int | unbounded | 0 |
— |
| Interpolation | Enum | Nearest · Blend | Blend |
— |
Set Speed 0.5, Interpolation Blend. Adjacent source frames are blended at each half-frame position, producing smoother motion than Nearest which would stutter on every other frame.
Inputs: Image · Output: Masked image
Generates a simple rectangular or oval holdout matte at a specified position and size with edge feathering. Quickly masks out unwanted areas (booms, set edges, rigging) before a keyer or color correction without requiring a full Roto shape.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Shape | Enum | Rectangle · Oval | Rectangle |
— |
| Center X | Float | 0 – 1 | 0.5 |
— |
| Center Y | Float | 0 – 1 | 0.5 |
— |
| Width | Float | 0.01 – 1 | 0.5 |
— |
| Height | Float | 0.01 – 1 | 0.5 |
— |
| Feather | Float | 0 – 0.3 | 0.02 |
— |
| Invert | Bool | on / off | false |
— |
Place Garbage Matte before a Chroma Key. Enable Invert and position/size the rectangle to cover the boom in the corner. The keyer now ignores the boom area entirely.
Inputs: Image · Output: Image with absolute value per channel
Takes the absolute value of each RGB channel. Useful for signed displacement maps and difference passes that may contain negatives.
No adjustable parameters.
Subtract two plates with the Math Subtract node, then run Absolute to display the magnitude of the difference instead of the signed value (which would clip negatives to black on a video display).
Inputs: Image · Output: Image with constant added per channel
Adds a per-channel constant to every pixel. Range spans negative values so it doubles as a "shift down" by entering negatives.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Red | Float | -2 – 2 | 0 |
— |
| Green | Float | -2 – 2 | 0 |
— |
| Blue | Float | -2 – 2 | 0 |
— |
Set Red/Green/Blue to 0.05 to add a small constant to every pixel — useful for raising the floor of a too-dark plate before a grade.
Inputs: Image · Output: Image divided by per-channel constant
Divides each pixel by a per-channel constant. Range starts at 0.001 (the schema and kernel both guard against divide-by-zero).
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Red | Float | 0.001 – 4 | 1 |
— |
| Green | Float | 0.001 – 4 | 1 |
— |
| Blue | Float | 0.001 – 4 | 1 |
— |
When a colour pass has been baked-in premultiplied by a constant alpha, divide each channel by that alpha value to recover the unpremultiplied colour.
Inputs: Image · Output: Image clipped below the per-channel floor
Lifts each channel up to a per-channel floor. Pixels above the floor pass through unchanged.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Red Floor | Float | 0 – 4 | 0 |
— |
| Green Floor | Float | 0 – 4 | 0 |
— |
| Blue Floor | Float | 0 – 4 | 0 |
— |
Set R/G/B floors to 0 to clamp any negative values (introduced by signed displacement maps or noisy floats) up to zero, leaving positives unchanged.
Inputs: Image · Output: Image clipped above the per-channel ceiling
Clamps each channel down to a per-channel ceiling. Pixels below the ceiling pass through unchanged.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Red Ceiling | Float | 0 – 4 | 1 |
— |
| Green Ceiling | Float | 0 – 4 | 1 |
— |
| Blue Ceiling | Float | 0 – 4 | 1 |
— |
Set R/G/B ceilings to 1.0 to clip super-whites in scene-linear data down to display-white before a Rec.709 export. Pixels at or below 1.0 pass through; brighter pixels become 1.0.
Inputs: Image · Output: Image with per-channel constant multiplier applied
Multiplies each pixel by a per-channel constant. Range spans -4 to 4 — wider than Color Balance — so it doubles as a sign-flip or large-scale gain stage.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Red | Float | -4 – 4 | 1 |
— |
| Green | Float | -4 – 4 | 1 |
— |
| Blue | Float | -4 – 4 | 1 |
— |
Set Blue to -1 on an OpenGL → DirectX normal map flip. R and G stay at 1; only the Z (Blue) channel inverts.
Inputs: Image · Output: Image with each channel raised to a power
Raises every RGB channel to the same exponent. Negative inputs are clamped to 0 first to avoid NaN.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Exponent | Float | 0.1 – 4 | 1 |
— |
Set Exponent to 0.5 (square root) to compress bright highlights and lift dark midtones — useful for previewing HDR detail without a tone-map node.
Inputs: Image · Output: Image with constant subtracted per channel
Subtracts a per-channel constant from every pixel.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Red | Float | -2 – 2 | 0 |
— |
| Green | Float | -2 – 2 | 0 |
— |
| Blue | Float | -2 – 2 | 0 |
— |
If a plate's blacks read above 0, subtract the offending value from R/G/B equally to bring the black point back to zero before grading.
Output: (data) — wire into Render 3D ▸ Cam
Virtual camera defining the view, projection, and output dimensions for a 3D scene. Position is in world units; rotation is XYZ Euler degrees applied in ZYX intrinsic order (the convention every major DCC package uses). Focal length and sensor size define the lens — focal/sensor produce a vertical field of view via the standard lens equation, so users think in physical-camera terms instead of arbitrary FOV angles.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Pos X | Float | -50 – 50 | 0 |
✓ |
| Pos Y | Float | -50 – 50 | 0 |
✓ |
| Pos Z | Float | -50 – 50 | 5 |
✓ |
| Rot X | Float° | -180 – 180 | 0 |
✓ |
| Rot Y | Float° | -180 – 180 | 0 |
✓ |
| Rot Z | Float° | -180 – 180 | 0 |
✓ |
| Focal (mm) | Float | 8 – 300 | 50 |
✓ |
| Sensor (mm) | Float | 6 – 70 | 24 |
— |
| Output W | Int px | 16 – 8192 | 1920 |
— |
| Output H | Int px | 16 – 8192 | 1080 |
— |
| Track Source | Node ref | (none) · any Point Tracker | (none) |
— |
| Track Scale | Float | 0.01 – 20 | 1 |
— |
Default Pos Z is 5 with the Card at the origin — the Card is visible on screen. Keyframe Pos Z from 5 at frame 1 to 1 at frame 60 to dolly the camera in over two seconds at 30fps. The Card stays sharp; perspective increases as the camera approaches.
Driving the Camera from a solved track: set Track Source to a Point Tracker that has a solved trajectory; the camera reads its R/t from the trajectory at each frame and your keyframed Pos/Rot are ignored. Use Track Scale to dial in the magnitude of chained translations (Phase 3α doesn't propagate scale between consecutive pair solves — pure-pan shots leave it at 1; dolly shots usually need adjustment to match the real camera distance).
Inputs: Image · Output: (data) — wire into Render 3D ▸ C1–C8
Textured plane in 3D space. The card is a unit square (1×1 world units) at the origin, facing +Z (so a default Camera at +Z looking back at the origin sees the texture right-side up). Position, rotation, and per-axis scale place it anywhere in the scene. The Tex socket carries the image to map onto the surface.
| Parameter | Type | Range | Default | Keys |
|---|---|---|---|---|
| Pos X | Float | -20 – 20 | 0 |
✓ |
| Pos Y | Float | -20 – 20 | 0 |
✓ |
| Pos Z | Float | -20 – 20 | 0 |
✓ |
| Rot X | Float° | -180 – 180 | 0 |
✓ |
| Rot Y | Float° | -180 – 180 | 0 |
✓ |
| Rot Z | Float° | -180 – 180 | 0 |
✓ |
| Scale X | Float | 0.05 – 10 | 1 |
✓ |
| Scale Y | Float | 0.05 – 10 | 1 |
✓ |
| Snap Source | Node ref | (none) · any Point Tracker with a cloud | (none) |
— |
| Snap Point # | Int | 0 – cloud size − 1 | 0 |
— |
Drop three Card nodes, each fed by a different background layer (sky, mid-distance hills, foreground trees). Set their Pos Z values to -10, -5, -2 respectively so they're staggered in depth. Connect them all to a Render 3D node alongside a Camera. As the Camera animates sideways, parallax separates the layers automatically — the foreground moves more than the background, just like a real camera move.
Snap-to-track: set Snap Source to a Point Tracker that has a triangulated cloud (any tracker after Solve Trajectory). Pick a Snap Point # and the card's world position locks to that 3D feature for the entire shot — your keyframed Pos sliders are ignored. Rotation and Scale stay user-controlled, so you can rotate a poster to face the camera or scale it up to cover a larger surface. Combine with a tracked Camera 3D in the same scene for full matchmove.
Inputs: Camera, Card 1, Card 2, Card 3, Card 4, Card 5, Card 6, Card 7, Card 8 · Output: 2D rendered image at Camera output dimensions
Renders the connected 3D scene to a 2D texture. The Cam socket takes one Camera; the C1–C8 sockets take Card nodes in any order. Cards are depth-tested so overlaps in 3D space sort correctly without manual ordering. Output dimensions and aspect come from the Camera node, not from the input cards. Cards with alpha composite premultiplied-over earlier draws.
No adjustable parameters.
Wire one Camera into Cam, two Cards into C1 and C2. Place C1 at (0, 0, 0) and C2 at (2, 0, -3) (back and to the right). Animate the Camera's Rot Y from -15 to 15 over the timeline. Render 3D produces a 2D image of both cards in 3D space, with the perspective shift baked in. Pin Render 3D to preview in the viewer; the result feeds downstream like any other 2D image.
More than 8 cards? Chain multiple Render 3D nodes through a Blend (Over) node — render the back set first, then composite the front set over it. Each Render 3D needs its own Camera (with the same params) so the perspective stays consistent across the chain.
Apply Log→Lin immediately after every Input node that reads Cineon/DPX log footage, and Lin→Log before export when the delivery requires log encoding. Do all keying, compositing, and color work in linear light — this is the single most important practice for correct results.
Almost every effect node (Blur, Exposure, Color Balance, etc.) has an optional Matte input. Connect a greyscale matte to confine the effect to only the white regions of the matte. Use a Roto shape or a Chroma Key matte as the restricting mask.
When color-correcting a premultiplied element: chain Unpremult → Color Balance (or Exposure) → Premult. The sandwich ensures the correction is applied to true pixel values without the alpha multiplication skewing edge colors.
Setting the reference frame in the middle of a shot (not frame 1) splits the tracking into two shorter sweeps. Accumulated drift is cut in half compared to tracking from the first frame all the way to the last.
| Mode | Formula | Use for |
|---|---|---|
| Normal | FG over BG via alpha | Standard composite |
| Add | BG + FG | Light flares, fire, sparks |
| Multiply | BG × FG | Shadow passes, burnt-in effects |
| Screen | 1−(1−BG)×(1−FG) | Glows, soft light |
| Overlay | Contrast boost using both | Texture overlays, grunge |
| Difference | |BG − FG| | Alignment checking, stylistic |
| Min | min(BG, FG) | Intersection mattes |
| Max | max(BG, FG) | Union mattes |
[Input DPX] → [Dustbust] → [Descratch] → [Log→Lin]
→ [Grain (small amount)] → [Lin→Log] → [Output DPX]
Run Dustbust and Descratch in log space (before Log→Lin) so the thresholds match the log-encoded pixel values. Add a small amount of Grain after conversion to re-introduce natural-looking texture after the repair operations smooth things out.
For delivery of a keyed element with alpha (for use in another application), set the Output node format to Image Sequence. Connect the Chroma Key or Roto node output directly — the alpha channel is preserved in EXR and PNG image sequences. Do not add a Premult before export unless the receiving application specifically requires premultiplied alpha.