RC Opacity Adjust
The simplest fade in ComfyUI
- image
- IMAGE
Some nodes are complicated so they can be powerful. This one is simple so it can be everywhere. RC_OpacityAdjust multiplies the alpha channel by a single number, and that's it - you feed it an image, set opacity 0.5, and get an image that's half transparent. It's the "fade the logo in," "fade the watermark out," "soften this layer before compositing" node from the RC Image Compositor pack, under RC/Adjustments.
How it works
The whole thing is one multiply. If the image already has alpha, it scales it. If it doesn't - and this is the smart part - it adds one:
- opacity (0–1) - 0 is fully transparent, 1 is fully opaque. That's the entire algorithm.
- ensure_alpha (default on) - forces the output to RGBA even if the input was RGB. The tooltip spells out the trade: on, you always get 4 channels; off, an RGB image stays RGB (but still fades, because a solid alpha is added underneath and discarded). Default on is the compositing-friendly choice.
Output is a single IMAGE. Batch-safe, so a video sequence can be faded uniformly frame by frame.
Honestly, that's the whole feature set. The reason it's worth installing is consistency: this pack's blend modes, layer effects, and compositor all want alpha-aware inputs, and RC_OpacityAdjust is the cheap way to make sure every layer you hand them is in RGBA with the fade you intended. It also pairs naturally with the mask workflow - apply a mask for shape, use opacity for how strongly the shape shows.
Installing it
ComfyUI Manager → search "RC Image Compositor" → install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/kj863257/ComfyUI_RC_Image_Compositor
cd ComfyUI_RC_Image_Compositor
pip install -r requirements.txt
Dependencies: pillow, numpy, opencv-python. Nothing to download.
Where people get burned
- Opacity fades the whole layer, not a region. If you want a gradient fade (transparent at the bottom, solid at the top), this is the wrong tool - that's a mask job. Use this on top of the mask.
- Output channel count changes. With
ensure_alphaon, RGB in → RGBA out. Downstream nodes that assumed 3 channels will now see 4. In this pack that's usually a good thing, but if something downstream breaks after adding this node, check the channel count. - At 0.0 the image is fully transparent - and still exists. If you expected it to disappear from the output, it doesn't; it's invisible, which is exactly what you want for a fade, and exactly the wrong thing if you were trying to remove a layer.
There's a reason every editor has an opacity slider in the layers panel: it's the control you reach for constantly without thinking. This node is that slider, extracted and made reproducible. Small, obvious, and quietly essential to compositing workflows.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| opacity | FLOAT | 1.000–1 | Opacity value (0.0=fully transparent, 1.0=fully opaque) |
| ensure_alpha | BOOLEAN | true | Ensure alpha channel in output: - True: Force RGBA output format - False: Keep original format (RGB stays RGB) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |