# Node reference: Output Config **[>> Link to the tutorials](../tutorials/Output%20Config/)** ## Overview The `Output Config: Load` (and its backend counterpart, `Output Config: Retrieve`) is very different from other nodes: it allows you to load config files and **dynamically create any number of custom outputs**, that you can later connect to other nodes before executing the workflow. It opens a whole range of use cases: whether you need to standardize tests (LoRA, ...), store a collection of usual use cases, or just share your configs with others, this node can certainly prove very useful.\ **You can define any number of outputs in it, to match your specific needs**. A config file is a simple text file in one of the following formats: **JSON, JSON5 or YAML**. > [!TIP] > The `YAML` and `JSON5` formats allow comments, which can be very handy, especially if you need to share your configs and document them.\ > While `JSON` doesn't allow them (by design), you can also use the unofficial `JSONC` (aka "JSON with comments") with the ComfyLab `Output Config` node. A config can be very simple: ```jsonc { "seed": 618896223111156, // value can be set directly "cfg": { "value": 7.5, // or inside a dictionary, with the 'value' key }, "steps": 40, // add all the outputs you need, name them as you wish } ``` But it can be extended, **to customize the label, color, shape, and even the type of the output**.\ Here a more advanced example (written in YAML): ```yaml seed: value: 618896223111156 shape: box color_off: '#FF0000' # when not connected color_on: '#00FF00' # when connected cfg: value: 7.5 shape: circle # default shape color_off: blue # we can set colors by name steps: value: 40 shape: arrow color_off: '#dcb21a' prompt: value: illuminated pirate ship sailing on a sea with a galaxy in the sky label: a basic prompt but a custom label shape: grid color_off: '#28cfcd' checkpoint: value: sd_xl_base_1.0.safetensors type: '*' # '*' means any type, use it as a last resort ``` ## Load vs Retrieve: which one should I choose? The `Output Config: Load` and `Output Config: Retrieve` are very similar.\ The only difference is that the latter allows you to get a file located in the backend machine, while the former is to load a file where the browser is running. **If your frontend (browser) is running on the same machine as the backend (as probably many of us), you certainly should choose the `Load` version**: it is more interactive and easier to use.\ The `Retrieve` version is probably only useful in some rare cases, but it's here if needed. ## Widgets ### Output Config: Load | widget label | type | description | comment | | :----------------: | :----: | :---------------------------------------------------: | :------------------------------------------------------------------------------------------------ | | Load output config | button | get and validate the file
then create the outputs | | | display errors | combo | how to display errors | available options:
- in browser console (F12)
- in a popup (default)
- do not display | | show config | toggle | show / hide the file preview | | ### Output Config: Retrieve (backend) | widget label | type | description | comment | | :-------------------------: | :----: | :---------------------------------------------------: | :------------------------------------------------------------------------------------------------ | | JSON or YAML file (backend) | text | full path to the config file
in backend machine | | | Retrieve output config | button | get and validate the file
then create the outputs | | | display errors | combo | how to display errors | available options:
- in browser console (F12)
- in a popup (default)
- do not display | | show config | toggle | show / hide the file preview | |