Compare Ovum
A boring, reliable 'is this bigger than that?' node for your branches
- a
- b
- boolean
Compare takes two values, runs one of six comparisons on them, and hands back a BOOLEAN. That's the entire node, and it's one of those quiet pieces of plumbing that makes conditional workflows possible. "If the batch is bigger than 4, tile it. If the seed is not zero, reuse it. If steps hit 30, do a second pass." Every one of those is a comparison feeding a boolean into an if/else or a gated branch.
It lives in the ovum/loop category, right alongside the pack's Foreach and Map loop nodes, because it's the classic loop/branch building block: a condition that decides whether to accumulate, whether to keep iterating, or which path to take. The design is deliberately plain - no lazy evaluation, no side effects, just a boolean out.
The inputs
- a (*) - first value.
- b (*) - second value.
- comparison (enum) - pick from:
a == b,a != b,a < b,a > b,a <= b,a >= b.
Output is a single boolean (BOOLEAN). Wire it into an IfElse-style node (the pack has one - IfElseOvum - that returns on_true or on_false based on a boolean) or straight into anything that takes a boolean input.
Practical notes
- The comparison is Python's, so
a < bon numbers works as you expect, and==/!=work on strings and other objects too. - Both values default to 0, so an unconnected side compares against zero rather than erroring - handy for "is this nonzero?" checks.
When you'd reach for it
- Guarding a branch on a count, dimension, or strength threshold.
- Building loop conditions for the Foreach/Map nodes - "keep going while index < N."
- Normalizing the output of a comparison so a conditional node can read it (some nodes output booleans in odd forms; this one gives you a clean one).
Installing it
Part of comfy-ovum:
cd ComfyUI/custom_nodes
git clone https://github.com/sfinktah/comfy-ovum
Restart, or ComfyUI Manager → search "comfy-ovum". No models, no extra deps.
Gotchas
It's as simple as it looks, so the gotchas are about expectations rather than mechanics. Comparing a string to a number will raise a Python error rather than guessing, so keep types consistent. And it logs each comparison to the console - harmless, but if your console fills up in a loop, that's this node being chatty. Don't mistake the log line for a failure; a normal Compare: line just means it ran.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| a | * | 0 | — |
| b | * | 0 | — |
| comparison | COMBO | a == b | 6 options: a == b, a != b, a < b, a > b, a <= b, a >= b |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| boolean | BOOLEAN | — |