Widget To Float Ovum
Grab any widget value as a float
- any_input
- FLOAT
You've set cfg to 7.5 inside your KSampler and now you want that exact number over in a text node or a math operation - without typing it twice. Widget To Float Ovum reads any widget off any node in your workflow and outputs its value as FLOAT. It's the float-flavored member of the WidgetTo trio in sfinktah's comfy-ovum pack, all of them modeled on KJNodes' WidgetToString (the category is literally ovum/KJNodes), differing only in the type they emit.
The use case is the same "single source of truth" idea as its siblings: parameters live once, on the node that owns them, and you read them wherever they're needed. For floats specifically that's usually a numeric parameter - cfg, denoise, strength - that you want mirrored into a filename, a caption, or a downstream math node without the drift that comes from retyping.
How it works
It reads the workflow's serialized data through the pack's MetadataProcessor to locate the target node, extracts the widget value, and casts it to float. Strings that look like numbers are parsed ("7.5" → 7.5); ints and bools become floats. The one extra knob this variant has is allowed_float_decimals (default 2, range 0–10) - it rounds the displayed result to that many decimal places.
Node lookup is the same three-way deal as the other WidgetTo nodes, so this is worth internalizing once:
- By
id- exact, but only usable if you've enabled node-id display (via the Manager badge menu, per the author). - By
node_title- works only for titles you manually set; auto-generated titles don't count. - By the
any_inputlink - wire anything from the target intoany_inputand the node uses that link's origin. This is the recommended route: it doubles as an execution-order anchor, ensuring the target node has actually run before this one reads it.
Inputs and output
id- STRING (required).widget_name- STRING (required).return_all- BOOLEAN (required, defaultfalse); on, returns all the node's widget values cast to float.any_input-*(optional).node_title- STRING (optional).allowed_float_decimals- INT (optional, default 2, min 0, max 10).- Output:
FLOAT.
Install
Manager: search comfy-ovum, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/sfinktah/comfy-ovum
Restart. No model downloads; nothing special in the requirements for this node.
The one thing to remember
If both id and node_title are blank, the any_input link is your only lookup path - leave it unplugged and the node has nothing to read. And don't skip the any_input even when you do fill in an id; its real job is making sure the source node executes before this one samples its widget. Wire it, and this becomes the rare utility that just quietly works.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| id | STRING | — | |
| widget_name | STRING | — | |
| return_all | BOOLEAN | false | — |
| any_inputopt | * | — | |
| node_titleopt | STRING | — | |
| allowed_float_decimalsopt | INT | 20–10 | Number of decimal places to round for floats (display only) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| FLOAT | FLOAT | — |