Axis To MODEL
Swap whole checkpoints per grid cell — the reason this pack exists
- axis
- MODEL
Axis To MODEL is the flagship converter of kenjiqq's pack: it takes an AXIS_VALUE from XY Grid Helper and re-declares it as a MODEL, letting a grid axis hand a different checkpoint to the sampler on every cell. A prompt × checkpoint grid - the whole reason people install this pack instead of a fixed-menu XY plot - runs through this node on the way to the KSampler.
What it does
- axis (required) - the
AXIS_VALUEfrom XY Grid Helper (or Any List Iterator). - MODEL (output) - the same value, typed as a model.
It's a pass-through converter: it declares the type so ComfyUI lets the wire connect. No loading, no parsing - which is precisely where the mental model differs from Efficiency-style XY plots.
The two rules for a working model grid
- Load models upstream. Your axis list must contain actual MODEL objects, so you wire a checkpoint loader per model into Any List (or pack them via Axis Pack). The grid carries objects, not filenames. Trying to sweep
"sd_xl_base.safetensors"strings through this converter hands the sampler a string and it fails weirdly. - Every model pays rent in memory. All the checkpoints in your axis are loaded simultaneously for the sweep. A five-model SDXL grid is a real VRAM commitment; drop models if you OOM.
Why it beats the fixed-menu XY plots
This is the community's stated reason for preferring this pack: Efficiency nodes and Easy Use have hardcoded axis types, they break on frontend updates, and their LoRA lists go stale until restart. Here, a model axis is just a LIST of MODEL objects you assembled yourself - nothing hardcoded, nothing to refresh, and it keeps working when the frontend changes. That "verbose but plots anything" trade the r/comfyui crowd keeps describing is exactly this node: you do more setup, and in exchange nothing about your sweep is on a fixed menu.
The family note
"Axis To MODEL" and "Axis To Model" are the same generated node (registry listings caught both casings). The pack generates converters from axis-config.json - STRING, MODEL, INT, NUMBER, FLOAT, BOOLEAN, VAE, CLIP - and you can add custom types in custom-axis-config.json to spawn more. MODEL also pairs with Axis Pack: the README's packing example sweeps a unet+clip+vae bundle, and the model part comes back through this converter after Axis Unpack.
Installing it
Part of qq-nodes-comfyui:
cd ComfyUI/custom_nodes
git clone https://github.com/kenjiqq/qq-nodes-comfyui
Restart, or install qq-nodes-comfyui via ComfyUI Manager. Found under QQNodes/XYGrid Axis.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| axis | AXIS_VALUE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |