Smart Get Parameters As String
Point at any node, get all its widget values as text
- source
- params_str
You know that moment when a render looks slightly off and you need to know exactly what the KSampler was set to - but you changed three things since then and can't remember? Smart Get Parameters As String answers it by reading another node's widget values off the workflow and dumping them as a multi-line string. It's a debugging and logging node that turns "what settings did I actually use" from a guess into a copy-paste.
How it works
Connect its source input to any output of the node you want to inspect - it doesn't even need the source node to produce a meaningful value, just to exist in the graph. On execution it looks up that source node in the workflow data and prints its inputs as name: value lines, with <linked> where an input is fed by another wire rather than a widget. The output is a STRING that shows up in the UI (it's an output node) and can also be piped onward - pair it with SmartSaveText for a settings log.
There's a mode toggle with two options:
full_params- the whole dump: node title plus every input and its value.node_status- just the title and whether it'sON,muted, orbypassed.
That second mode is more useful than it sounds: it turns the node into a "which branch is actually running right now" reporter, which is handy in big graphs where you've muted half the nodes.
The inputs that matter
mode-full_params(default) ornode_status.source- connect to any node output to read that node's parameters. Not connected, it reportsNo source node connected.params_str- optional; provide an existing string and the new dump is appended below a divider, so you can accumulate several nodes' worth of settings into one text block.
Output: params_str.
Where it shines
Settings reproducibility. Build a one-shot logging chain - source from your KSampler and your LoRA loader into two of these, both into one SmartSaveText - and every render writes its own settings block. When you compare renders later, the "what changed" question answers itself. For debugging, it beats eyeballing widgets: a node whose inputs are half <linked> tells you at a glance which values come from upstream wires rather than the panel.
Installing it
Part of SmartHelperNodes, installed with the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/slvslvslv/ComfyUI-SmartHelperNodes
Restart ComfyUI, or use ComfyUI Manager ("SmartHelperNodes"). No pip dependencies, no downloads.
Common issues
It reads the workflow's declared inputs, so wired values show as <linked> rather than their computed values - you get "this comes from somewhere else," not the number itself. That's by design and matches how the prompt data stores links. Also, like every node in this pack that inspects the graph, it needs the workflow JSON at execution time: running through the bare API without it means it may not find the source node. Keep the full workflow payload in API requests and it behaves.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| mode | COMBO | full_params | 2 options: full_params, node_status |
| sourceopt | * | Connect to any node output to read that node's parameters | |
| params_stropt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| params_str | STRING | — |