Pin Types
The small sockets on a node’s edges are its pins: inputs on the left, outputs on the right. Each pin’s shape and color say what kind of data it carries, and a wire only connects pins that fit together. Drag a wire somewhere it cannot go and the graph refuses it, with a message saying why.
This recolor graph shows most of the kinds at once:
The eight pin types
Section titled “The eight pin types”| Pin Type | Shape | Color | Carries |
|---|---|---|---|
| Image | ■ | Orange | A color image with transparency (the most common type) |
| Mask | ● | Blue | A single-channel grayscale image |
| Pixels | Orange / Blue | A color image or a single-channel image; the output matches the input | |
| Palette | ▲ | Violet | A set of named color slots |
| Batch | ■ | Gold | Many frames at once (see Batch Processing) |
| Size Reference | ● | Teal | A width and height to match |
| Texture | ■ | Green | A whole texture set, every map of one material |
| Pixels or Texture | Orange / Blue, green with a set | A color image, a single-channel image, or a texture set; the output matches the input |
Output pins are always filled. An input is filled when it is connected or required; an optional input with nothing connected is hollow. The two split pins turn solid once the data through them is known: orange for color, blue for single-channel, green for a texture set. Hover any pin to see its type and name.
Masks flow through the same nodes
Section titled “Masks flow through the same nodes”Most filters and adjustments, such as Blur, Levels, Curves, Resize, and Transform, take their main input on a Pixels pin: color in gives color out, and a single-channel image in gives a single-channel image out. So a mask can be softened and adjusted with the same nodes you use on pictures, and it stays a mask the whole way:
A few color-only nodes, such as HSB, Color Balance, Color Overlay, and Palette Remap, need a color image and refuse a mask:
This node requires a color image. Insert a Gradient Map to colorize a mask first.
The fix is the one the message names: a Gradient Map turns the gray values into colors, and the color node takes it from there.
To make single-channel data from the start, the generators (Canvas, Shape, Gradient, Noise, Pattern, and Text) have a Color Mode of Grayscale, and Image In and Image Folder have an Output Format of Grayscale that keeps a grayscale file single-channel. At the end, Output Channels on Export Image and Export Batch writes a genuine grayscale file.
What converts automatically
Section titled “What converts automatically”Some connections between different types are allowed, and the data is converted on the way:
A color image into a mask pin is read by its brightness. Wire a photo into Blur’s Mask input and the blur is strongest where the photo is brightest. A Mask From setting appears on the node to read the alpha or one color channel instead:
For thresholding or feathering as well, put a Mask From Image in between.
A mask into an image pin becomes a gray color image, marked with a small indicator in the middle of the wire. That is how a Shape’s alpha can go straight into a Layer.
A plain image where a texture set is expected (Export Texture, 3D Render, a Texture Layer row, a Scatter stamp) is read as a set with only a Base Color, its transparency becoming the set’s Opacity.
A texture set is never taken apart for you. Wiring one into an ordinary image input is refused, with a message pointing at Split Texture (to edit one map) and Export Texture (to write the set). The nodes that take a set say exactly which map they work on, such as a Levels with its Map row set to Roughness. See Changing one map.
A batch into an image pin is processed one frame at a time, so any node works on a batch; see Batch Processing.
Premultiplied and straight alpha
Section titled “Premultiplied and straight alpha”An image’s transparency can be stored two ways, and mixing them up is the classic cause of dark or light fringes around a composited edge.
The Premult node applies this multiply; Unpremult reverses it.
Straight alpha keeps color at full strength; premultiplied can't bleed color past its edge.
Merge's Plus adds premultiplied light passes (glows, specular) directly.
- Straight alpha keeps each pixel’s full color, whatever its transparency: a translucent red pixel is still
(255, 0, 0). This is the ordinary, editable form. - Premultiplied alpha stores the color already scaled by the transparency, so red at 10% coverage is stored as a near-black
(25, 0, 0). Adding light passes together is only correct in this form.
So when you add a glow or a light pass on top of a render with Merge’s Plus, premultiply it first:
Without the Premult, the glow blows out to a bright halo at every translucent edge. Unpremult converts the other way. OpenEXR export writes premultiplied alpha, the form other compositing applications expect.
Connection rules
Section titled “Connection rules”Matching types always connect. These are the conversions and exceptions:
| From (output) | To (input) | Rule |
|---|---|---|
| Mask | Image | Auto-promoted to RGBA, with a small indicator mid-wire. The color-only nodes listed below refuse this instead. |
| Image | Mask | Auto-converted. The image is read by its brightness (luminance) by default; a Mask From control appears on the node to read Alpha, Red, Green, or Blue instead. Use Mask From Image when you also want thresholding or feathering. |
| Image or Mask | Pixels | Passes through as-is, and the node’s output matches. |
| Batch | Pixels | Allowed. The batch is processed frame by frame, as it is for an Image input. |
| Pixels | Image | Allowed. A grayscale result is promoted to RGBA. |
| Pixels | Mask | Allowed. A color result is read by its brightness, with the same Mask From control. |
| Pixels | Palette | Not allowed. Pixels carries pixel data only. |
| Texture | Texture | A batch of texture sets (a library) is processed one set at a time. |
| Texture | Pixels or Texture | The whole set is placed at once and the output is a set. |
| Image or Mask | Pixels or Texture | Exactly as for a Pixels pin. |
| Image | Texture | Allowed where a set is expected: Texture Layer rows, Scatter stamps, Export Texture, and 3D Render. The image is read as a set holding only a Base Color, with its alpha as the set’s Opacity. |
| Texture | Image, Mask or Pixels | Refused. Use Split Texture to pull out one map, or Export Texture to write the set. |
| Image, Mask, Pixels or Texture | Size Reference | Allowed; the pin just reads the connected node’s dimensions, and a set’s place on a trim sheet. A library sizes each frame in turn. |
Which nodes use which pin
Section titled “Which nodes use which pin”- Pixels input, matching output: most filter and structural nodes, including Blur, Sharpen, Levels, Curves, Brightness/Contrast, Vignette, Invert, Mirror, Crop, Resize, and Transform. Many of them also take a texture set, listed under Pixels or Texture below.
- Pixels input, always color out: Gradient Map and Normal Map, whose job is turning grayscale into color.
- Color only, refusing a mask: HSB, Color Balance, Black and White, Color Overlay, Chroma Key, Luma Key, Dither, Quantize, Palette From Image, Palette Remap, Color Remap, and Channel Shuffle.
- Texture: Texture, Texture Folder, Export Texture, Texture Layer, and Split Texture; an input on Curvature; an input and an output on Ambient Occlusion; the one material input on 3D Render.
- Pixels or Texture: the nodes that place or warp pixels: Path Warp, Transform, Rotate 90, Mirror, Crop, Pad, Offset, Resize, Tile, Hex Tile, Trim, Displace, Polar Remap, Lens Distortion, Corner Pin, Mesh Warp, Puppet Warp, Separate, and Scatter’s Background. So do the filters that run over every map (Blur, Sharpen, Denoise, Seamless Blend), the nodes that edit one map through a Map row (Levels, Curves, HSB, Color Balance, Gradient Map, Exposure, Brightness/Contrast, Invert, Clamp, Black and White, White Balance, Auto Adjust, Normal Map, Normal to Height), the mask readers Color Range, Luma Key, and Magic Wand, which output the set cut by their selection, and Inspect. Arrange, Merge, and Mask Apply take a set on their inputs and output a set, so Arrange can join a library back into one set.
- Keyer outputs: Chroma Key and Luma Key add a
matteMask output, and Roto outputs its mask.
Pin names
Section titled “Pin names”A pin’s name hints at how it is used:
image: the primary image input or output. On channel-polymorphic nodes this is a Pixels pin.alpha: a generic single-channel input.mask: a single-channel input that restricts where the node’s effect applies.matte: a Mask output produced by a keyer (Chroma Key, Luma Key).palette: connects a Palette node to a remapper or exporter.size_ref: a Size Reference pin that drives output dimensions.