imageflip
Ally's mirror node, now with an off switch
- image
- IMAGE
Boring name, and you'll still reach for it constantly. Flipping an image horizontally is one of those operations you assume is built into ComfyUI until you go looking and end up fumbling through a compositing node's widgets. imageflip - "Image Flip_ally" to the graph - does exactly one thing: mirrors an image left-to-right or top-to-bottom, and can be switched off without deleting it from the workflow.
The "ally" is Ally (theally), whose image utilities aegis72 integrated into AegisFlow Utility Nodes with one extension: an enable/disable switch on every one, so they can be toggled in template workflows without ripping out cables. The README calls that section "Ally's Nodes, with an extension," and the switch is the whole reason these live in this pack rather than the original.
The mechanism is dead simple and you can trust it. The image tensor becomes a NumPy array and gets flipped along an axis: horizontal flips the width axis, vertical flips the height axis, then the array is scaled back into a tensor. No model, no VRAM, no math to tune.
Inputs: image (required), flip_type (horizontal or vertical - required, pick one), and enabled (a boolean, default on). Flip it off and the node returns the input untouched - that's the whole point of the toggle. Keep the node in place and flip it on and off as you iterate, instead of muting and remuting a stretch of graph.
Output: one IMAGE.
Where you'll actually use it: mirroring reference images so a training set has both orientations, flipping a scan or a photo that came out backwards before it hits a sampler, or flipping a composite so a reflected element matches its mirror side. It's the kind of node that feels pointless until you need it three times in one week.
One honest limitation: this is a single-image node. The implementation squeezes the batch dimension away before flipping, so feed it a batch and the flip axis shifts - a "horizontal" flip on a batch actually flips along the height of each frame. Feed it one image at a time and it's flawless. Enough of these Ally/Vextra utilities are single-image under the hood that it's worth checking batch size before you wire a sequence through.
Install is the standard two-liner:
cd ComfyUI/custom_nodes
git clone https://github.com/aegis72/aegisflow_utility_nodes
Restart ComfyUI, or install via ComfyUI Manager by searching "AegisFlow Utility Nodes." No models to download and no extra Python dependencies - it only uses NumPy and PyTorch, both of which ComfyUI already ships.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| flip_type | COMBO | 2 options: horizontal, vertical | |
| enabled | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |