Output Config: Retrieve (backend) (lab)
Turn a config file on the server into a rack of live outputs
- data
Most nodes have a fixed set of outputs and you're done. Output Config: Retrieve (backend) (lab) is different in a way that surprises people the first time: you point it at a config file on the backend machine, hit a button, and it grows a new output for every key in that file. It's the backend-flavored twin of the pack's Output Config: Load (lab) - same idea, different way of choosing the file.
How it works
The config file can be JSON, JSON5, or YAML (JSON5 and YAML let you leave comments, which is nice for shared files). The simplest possible config is just key: value pairs:
seed: 618896223111156
cfg: 7.5
steps: 40
Each key becomes an output on the node, and you connect them wherever you like - seed into KSampler, cfg into KSampler, and so on - before you run the workflow. Under the hood the backend reads the file, parses it (JSON5 first, then YAML), and validates it against the pack's JSON Schema. If validation fails you get a visual error report, either as a popup or in the browser console, depending on a dropdown on the node.
You can extend a value beyond a bare number or string - a dict with value, label, shape, color_off, color_on, and type keys - which is pure polish for coloring and shaping your outputs on the canvas, but the bare form is all you need to get going.
Inputs and outputs
The info schema shows a single data input of type HIDDEN - that's the frontend's internal handoff, you don't set it by hand. The outputs don't appear in the schema at all because they're created on the fly from your file. If the node looks empty when you drop it in, that's normal.
The widgets you actually interact with: a text field for the full backend path to the config file, a Retrieve output config button that loads and validates it, an error-display choice, and a toggle to show/hide the file preview.
Load vs Retrieve - pick once, be done
The pack's own docs are refreshingly blunt here: if your browser runs on the same machine as the backend - which is almost everyone running locally - use Output Config: Load (lab), because the file picker is more interactive. Retrieve exists for the rare case where the file lives on a remote backend and your browser is elsewhere. That's not FOMO-inducing; it's just the honest answer.
When it's worth it
Config files shine for standardization: a collection of LoRA test configs, a set of "usual case" presets, or workflows you share with others where the parameters live in a clean, documented file instead of buried in node widgets. The validation report also means a broken config fails loudly at load time rather than mid-queue.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/bugltd/ComfyLab-Pack.git
cd ComfyLab-Pack
pip install -r requirements.txt
Or via ComfyUI Manager, search ComfyLab Pack. Restart after. No model downloads - the pack's deps (jsonschema, json5, pyyaml, pyaml, webcolors, opencv-python) are all pip-level, with opencv-python the only chunky one.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| data | HIDDEN | — |
Outputs (0)
No outputs