MinusZone - KohyaSSUseConfig(old version)
One template JSON, then tweak
- workspace_config
- save_advanced_config
- train_config
MZ_KohyaSSUseConfig is the pack's old version config assembler, and the "(old version)" in its display name is doing a lot of work. In the modern pack flow you'd reach for MZ_KohyaSSLoraTrain, which folds this step in. But this node still exists for a reason: it's the bridge between the dataset step and the train step in the v1 workflow, and it's what a lot of circulating MinusZone workflows still expect.
Its job: take a training template (one of the JSON configs that ship in the pack's configs/kohya_ss_lora/ folder), point it at your checkpoint and workspace, and produce a single train_config object that MZ_KohyaSSTrain consumes. Think of it as "pick a kohya preset, then override the basics."
How it works
The pack ships five templates - lora_sd1_5, lora_sdxl, lora_hunyuan1_1, lora_hunyuan1_2, and controlnet_sd1_5 - each a JSON with the full sd-scripts flag set pre-filled (network_dim 16, network_alpha 8, AdamW, fp16, cache_latents on, and so on). This node loads the chosen template and stamps in the four things that have to be per-run: the checkpoint path (from ckpt_name), the output dir (workspace output/), an output name stamped with date-time, and the dataset config path from the dataset step. The result is the train_config output (type MZ_TT_SS_TrainConfig).
Note the wiring: it needs workspace_config and workspace_images_dir - the string path from the dataset node, not the workspace config. Forgetting that string connection is the classic way this node silently builds a config pointing at nothing.
Inputs that matter
train_config_template- your model family. lora_sd1_5 vs lora_sdxl differ meaningfully; picking the wrong one and training an SDXL LoRA is a wasted evening.ckpt_name- the base checkpoint, picked from your ComfyUImodels/checkpoints/.max_train_steps/max_train_epochs- kohya stops on whichever hits first. Start with one, usually epochs.save_every_n_epochs- how often a .safetensors lands in the workspaceoutput/. Keep this low; the last epoch is rarely the best.learning_rate- as a string, e.g."1e-5"(that's the sd-scripts convention, string not float).save_advanced_config(optional) - wire the output of MZ_KohyaSSAdvConfig here to override template defaults with your tuning.
Install & gotchas
cd ComfyUI/custom_nodes
git clone https://github.com/MinusZoneAI/ComfyUI-TrainTools-MZ
# restart ComfyUI
Or Manager → search ComfyUI-TrainTools-MZ.
The honest take: if you're starting fresh, skip this node. It's a legacy path - MZ_KohyaSSLoraTrain merges it with the trainer and accepts the same advanced_config. Reach for UseConfig only when you're reading an old workflow that has the InitWorkspace → Dataset → UseConfig → Train chain, or when you want to inspect the assembled train_config with MZ_TrainToolsDebug before committing to a run. The one thing to remember if you do use it: it builds a config, it doesn't run anything, and the config is only as good as the workspace_images_dir string you wired in.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| workspace_config | MZ_TT_SS_WorkspaceConfig | — | |
| workspace_images_dir | STRING | — | |
| train_config_template | COMBO | 5 options: lora_hunyuan1_1, lora_hunyuan1_2, lora_sdxl, controlnet_sd1_5, lora_sd1_5 | |
| ckpt_name | COMBO | 0 options: | |
| max_train_steps | INT | 00–2147483647 | — |
| max_train_epochs | INT | 1000–2147483647 | — |
| save_every_n_epochs | INT | 10 | — |
| learning_rate | STRING | 1e-5 | — |
| save_advanced_configopt | MZ_TT_SS_AdvConfig | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| train_config | MZ_TT_SS_TrainConfig | — |