Adjust Contrast
Quick in-graph contrast tweaks
- src_image
- image
Adjust Contrast is a one-knob contrast control for images inside your ComfyUI graph. Generation comes out a touch flat, you nudge the contrast up; it's too punchy, you dial it down. No round-trip to Photoshop, no separate color node pack - just a small in-line tweak where the image already lives.
It's one of Mira's Util/Image nodes, mirabarukaso's set of simple image adjustments (grayscale, sharpness, brightness, saturation, hue, gamma, tone curve, RGB channel - this contrast node is one of that family). These are the kind of basic post nodes that bigger toolkits like WAS Node Suite also provide; Mira's version is deliberately minimal, and the real convenience is that they're all designed to daisy-chain, so you can string contrast into brightness into saturation and adjust a look in one short line of nodes.
How it works
The node takes an image and applies a contrast adjustment scaled by a single level value. level runs from 0 to 10, and its default of 1 is the neutral point - leave it at 1 and the image passes through unchanged. Push above 1 for more contrast (darks darker, lights lighter); pull toward 0 to flatten it out toward gray. The step is fine (0.001), so you can make subtle changes rather than only coarse ones.
Inputs and outputs that matter
src_image- the image to adjust.level- contrast amount, 0 to 10, default 1 (no change). Above 1 increases contrast; below 1 reduces it.
The output is image, the adjusted result. Because output and input are both plain IMAGE, you chain these adjustment nodes end to end - that's the intended way to use them.
Installing it
ComfyUI Manager: search ComfyUI_Mira in the Custom Nodes Manager, Install, restart. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/mirabarukaso/ComfyUI_Mira.git, then restart ComfyUI. If it errors on load, run pip install -r requirements.txt in the pack folder and restart. No models needed for the image-adjustment nodes.
Common issues
The thing to remember is the neutral value: 1, not 0. Set level to 0 and you're not making "no change," you're crushing the contrast toward flat gray. That catches people who assume 0 means off. If your image suddenly went washed out, check that level isn't sitting at 0.
Otherwise this is a low-risk node. Contrast at high values will clip highlights and shadows - that's contrast doing its job, not a defect - so if you're preserving detail for a later upscale or edit, make small moves and preview. And since these adjustments are meant to daisy-chain, order matters a little: a heavy contrast push before a saturation bump reads differently than the reverse. Preview the chain, don't just trust the numbers.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| src_image | IMAGE | — | |
| level | FLOAT | 1.0000–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |