Axis To STRING
The lingua franca converter for sampler and model grids
- axis
- STRING
The string is the lingua franca of a ComfyUI graph. Half the things you want to grid are strings wearing a costume - sampler names, checkpoint filenames, LoRA names, prompt text, filename prefixes. That's why Axis To STRING (the canonical all-caps registration of this converter) tends to be the second node people wire up after the number one: axis (AXIS_VALUE) in, STRING out, nothing else to set.
The pattern that makes it powerful is the README's own advice: treat STRING as an intermediate and convert after. The pack deliberately doesn't try to cover every type - it ships converters for STRING, NUMBER, INT, FLOAT, BOOLEAN, MODEL, VAE and CLIP, and for everything else the README says to go axis → STRING → WAS nodes. A WAS Text To Number, or any text-to-anything utility, turns the string into whatever type your target node insists on.
The sampler-name case is the best example. In the README's "Sampler Grid" workflow, the axis values are combo-widget strings - sampler names like euler or dpmpp_2m - fed through the grid and into the KSampler's sampler slot. Because a sampler name is just a string, you get a whole grid sweeping samplers or schedulers with zero conversion beyond this node. Same trick applies to checkpoint names if you want to A/B two models column by column: sweep the filename strings, not the loaded objects.
Casing note so you don't think you've found a ghost: "Axis To STRING" and the title-case "Axis To String" are the same node, same axis input, same STRING output. The pack builds the entire converter family at startup from axis-config.json, and since that file uses all-caps type names, "Axis To STRING" is the spelling that lands in node search. Both comfy.icu pages point at identical behavior.
Install = the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/kenjiqq/qq-nodes-comfyui
then restart (Manager search "qq-nodes-comfyui" also works). No models, no extra dependencies beyond what ComfyUI already ships. The final grid assembly wants LEv145/images-grid-comfy-plugin installed if you want the tiled output image.
Usual gotchas: a STRING axis must actually hold text - feeding it a number works (it's stringified), but feeding it a MODEL object won't. And the grid-wide habits still apply: Reset the XY Grid Helper before each run and queue one prompt per cell - the button counts "X of Y". If the node suddenly errors after a ComfyUI update, check the pack version; older releases had a frontend crash around the reset button (a structuredClone/Proxy failure) that's fixed in the shipped JS.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| axis | AXIS_VALUE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |