Numeric input validation failed: use the node's actual types and bounds
A failed conversion and a value outside the current node’s bounds need different checks. Inspect the submitted value before changing node code or clipping numbers.
Symptoms and scope
A failed conversion and a value outside the current node’s bounds need different checks. Inspect the submitted value before changing node code or clipping numbers.
Error fragments for search; IDs, values and filenames may vary:
invalid_input_type
value_smaller_than_min
value_bigger_than_max
Source-supported context
Core validation converts literal INT, FLOAT, STRING and BOOLEAN inputs before applicable min/max checks. A custom node validator may take over a field and apply other rules. For BOOLEAN, the core uses Python bool(value), so a nonempty string such as "false" becomes true: send an actual JSON boolean. A form control that looks numeric does not prove the submitted value is valid. Source 1
Cases to distinguish
1. The API sends an empty string, unit-bearing text or locale-formatted number instead of the expected value.
2. A copied workflow relies on bounds from another node version.
3. Frontend assumptions differ from the backend definition or its custom validator.
Diagnostic sequence
The sequence below is an editorial procedure based on the cited context, not a diagnosis already confirmed for your environment.
Step 1. Read node_errors and record the error type, input_name, received_value where present, and the original submitted JSON value and type. Keep a private copy of the workflow before changing it.
Step 2. Compare the current node’s input definition with the submitted value. For invalid_input_type, inspect conversion to INT or FLOAT; for value_smaller_than_min or value_bigger_than_max, inspect that field’s current bound. A custom-validator error needs that node’s own rule.
Step 3. In the copied request, send an unambiguous native JSON number or boolean matching the intended value and current node contract. Do not assume a numeric-looking string or "false" carries the intended meaning after coercion.
Step 4. Apply bulk corrections only after confirming field meaning. Passing validation by truncating values indiscriminately may change the task.
Completion check
The exact validation error disappears, the submitted value retains its intended meaning, and the original task behaves as expected after the change.
Limitations and cautions
Defaults are starting points, not universally optimal settings. Store version-specific limits rather than publishing a permanent numeric table.
Original sources
- ComfyUI execution.py validation — source rechecked 2026-09-27.
Source review and separate English editorial pass: 2026-09-27. No local API submission, workflow execution or GPU run occurred.
Related troubleshooting and guides
Was this page helpful?
Anonymous. Only a yes/no counter is stored; no account, IP address or device details.
Sources & references
2026-09-27 reviewed current ComfyUI execution.py conversion, bounds and custom-validator paths; independent English editorial pass. No API submission, workflow or GPU run.
01ComfyUI execution.py validationSource checked: 2026-09-27