INT To Any π½
Cast an int to ANY when ComfyUI's type checker won't let it through
- any
An INT is the most ordinary type in ComfyUI - seeds, steps, batch sizes. Yet ComfyUI's socket typing is strict enough that an INT won't always plug into a generic * (any) input, and you're left staring at two nodes that obviously belong together, refusing to connect. This node ends that standoff: INT in, the exact same value out, declared as any.
It's one of the auto-generated converters in the ComfyUI Telegram Suite pack, with siblings for FLOAT, STRING, DICT, MODEL, CLIP, VAE, IMAGE, AUDIO, and LATENT (plus the reverse AnyToX set).
Why it exists
Straight from the pack's README: the suite uses trigger inputs and outputs to enforce execution order, and those accept any type. In early versions you had to convert your signal to ANY before feeding a trigger - that's why the converter category is so crowded. Then 1.0.4 made it unnecessary: typed signals feed into triggers directly now, and the changelog keeps these nodes for backward compatibility.
So the practical use today: bridging to a third-party node with a real wildcard input that won't take your typed INT. ComfyUI doesn't auto-coerce types across sockets; this is the one-node cast that does.
How it works
A pure pass-through - no clamping, no conversion, no reinterpretation:
def convert(self, INT):
return (INT,)
The INT input is a forceInput socket (wire a value in), and the output any is type *. What goes in is what comes out.
Inputs and outputs
INT(required) - the integer to pass through.any(output, type*) - the same integer, typed as any.
Installation
Pack-wide:
cd ComfyUI/custom_nodes
git clone https://github.com/SwissCore92/comfyui-telegram-suite.git
cd comfyui-telegram-suite
pip install -r requirements.txt
or via ComfyUI Manager, search "ComfyUI Telegram Suite", install, restart.
Notes
Don't build these into a fresh trigger chain - since 1.0.4 the suite takes typed triggers directly, so the cast is redundant there. If you're debugging a pre-update workflow that still contains them, know that they're harmless leftovers, not something you broke. Reach for INTToAny only when a wildcard socket genuinely refuses a typed int.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| INT | INT | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| any | * | β |