# WorkflowConfig
Screenshot
## Overview `WorkflowConfig` centralises high-level settings (upscale amounts, cropping policy, stitch opacity, seed control, notes) and exposes them both as individual sockets and as a JSON bundle. It supports loading/saving presets, honours server-side random seed generation, and attempts to keep workflow metadata in sync when special seed values are used. ## Inputs Required parameters: - `template_name` (`STRING`): Built-in preset to load (currently `"Default"`). Templates provide fallback values for all outputs. - `saved_preset` (`STRING`): Filename stem of a saved preset in the workspace (`` to disable). - `load_saved_preset` (`BOOLEAN`, default `False`): When `True`, merges the chosen `saved_preset` over the template defaults. - `initial_upscale` (`FLOAT`, default `1.0`): Upscale factor applied before the main pass. - `final_upscale` (`FLOAT`, default `4.0`): Target upscale factor for the final output. - `tight_crop` (`BOOLEAN`, default `False`): Indicates whether downstream nodes should prefer tight subject crops. - `stitch_bypass_mask` (`BOOLEAN`, default `False`): Signals that stitched blends should ignore masks. - `stitch_opacity` (`FLOAT`, default `1.0`): Preferred opacity for stitch operations (0–1). - `crop_fuzz_percent` (`FLOAT`, default `5.0`): Suggested fuzziness allowance for auto-cropping nodes. - `crop_pad_px` (`INT`, default `0`): Additional padding to apply around detected crops. - `seed` (`INT`, default `0`): Primary seed value. Special values `-1`, `-2`, `-3` trigger server-side random generation (increment/decrement where possible). - `job_notes` (`STRING`, default empty): Arbitrary notes stored alongside the configuration. Optional parameters: - `save_preset_as` (`STRING`): Filename stem to use when persisting the current configuration. - `write_preset` (`BOOLEAN`, default `False`): When `True`, writes `save_preset_as` to disk in the preset folder. Hidden inputs (managed by ComfyUI): - `prompt` (`PROMPT`): Used to persist generated seeds back into the executing graph. - `extra_pnginfo` (`EXTRA_PNGINFO`): Allows embedding the resolved seed into workflow metadata. - `unique_id` (`UNIQUE_ID`): Required to update workflow widgets when special seeds are consumed. ## Outputs - `initial_upscale` (`FLOAT`) - `final_upscale` (`FLOAT`) - `tight_crop` (`BOOLEAN`) - `stitch_bypass_mask` (`BOOLEAN`) - `stitch_opacity` (`FLOAT`) - `crop_fuzz_percent` (`FLOAT`) - `crop_pad_px` (`INT`) - `seed` (`INT`): The resolved seed after handling special values. - `job_notes` (`STRING`) - `config_bundle` (`STRING`): JSON string containing all of the above values. ## Processing Notes - Templates and saved presets are merged in order: template defaults → saved preset (if loaded) → current widget values. - When `seed` is `-1`, `-2`, or `-3`, the node generates a random seed server-side. Because the client-side UI cannot receive the update automatically, `WorkflowConfig` attempts to write the new seed back into both the workflow metadata and the executing prompt using the hidden inputs. - Presets are stored under `ComfyUI/user/default/workflows/workflow_config_presets/` relative to the install. Files are JSON-formatted and written only when `write_preset` is explicitly toggled. ## Tips - Drive other nodes (e.g., `AutoCropBorders`, `StitchByMask`, custom scripts) using the JSON bundle to keep all config values in sync. - Use `job_notes` as a quick logging field—its contents travel alongside the bundle and can be embedded into output metadata downstream. - Save presets for different portrait styles (tight headshots vs. wide environmental shots) and swap them via the dropdown without rearranging your workflow.*** End Patch