π‘ Simple Any Input
One text box, four possible types
- any
Simple Any Input is a type-guessing box: type text into it, and it figures out on its own whether you meant a string, a float, an integer, or a boolean, and hands out the right type on its output wire. No dropdown to pick the type, no separate Int/Float/String primitive nodes cluttering your graph - one node, and it reads your mind from what you typed.
It's part of the SDVN Comfy Node pack, a big "smart node set" out of the Vietnamese ComfyUI community (stablediffusion.vn) that leans hard into automation - auto model detection, auto CFG/scheduler, and this kind of quality-of-life plumbing. Simple Any Input sits in the "Creative" section next to the pack's bigger sibling, Any Input Type, which does math expressions and multi-field concatenation (in1, in2, in3...). Simple Any Input is the stripped-down version: one string field, done.
How it works
You type a string. The node parses it: does it look like a whole number? Cast to INT. Does it look like a decimal? FLOAT. Is it literally true/false (or similar)? BOOLEAN. Anything else stays a plain STRING. That's the whole trick - it's a duck-typed primitive, and it exists so you don't have to pre-decide which primitive node your workflow needs before you've even typed the value.
The genuinely useful part is what happens with commas: type 512, 768, 1024 and instead of one value you get a list of three, each independently typed. That's why the output is declared as a list even for a single value - a plain 20 still comes out as a one-item list, it just happens to have one entry.
Inputs and outputs
input(STRING, required) - the only thing you set. Type a bare value (7,0.85,true,a prompt fragment) or a comma-separated run of them for a list.any(wildcard*, list output) - wire this into whatever downstream slot expects the type you actually typed. Because the socket is typed*, ComfyUI will let you plug it into an INT widget, a FLOAT widget, a STRING field, or a BOOLEAN toggle without complaint at graph-build time.
Where you'd actually use it
Anywhere you want one exposed control on a shared or templated workflow instead of four separate primitive nodes - a batch of sizes to iterate over, a quick on/off flag, a numeric parameter you're tuning by hand. The comma-list behavior also makes it a cheap way to fan a workflow out over several values without wiring up a proper Any List node.
Common issues
Don't use it for prompt text with commas in it. Tag-style prompts (1girl, solo, forest) will get chopped into a list of separate strings instead of staying one string, because the node has no way to tell "comma as list separator" from "comma as part of your sentence." If you need a comma inside the value, this is the wrong node - use a plain multiline text box instead.
The type guess is not configurable. If you wanted 20 to stay a string for some reason, you can't tell the node that - it will always cast a bare integer-looking string to INT. If a downstream node genuinely needs the string "20", wrap it in something that forces the type, or use a dedicated STRING primitive instead.
It's always a list, even when you don't want one. Because the output is_list is true, a single value still arrives as a one-item list. Most ComfyUI nodes handle that transparently, but if you're wiring into something that behaves differently on a list versus a scalar (it'll typically re-execute once per list item), that's the thing to check first if a downstream node runs more times than you expected.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| input | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| any | * | β |