Tags: compositioncontrolnetstructuredepthposecontrol2026-sota
Inputs (14)#
The typed parameter surface callers bind when they request this workflow. Enum options and numeric bounds are the values the workflow document declares.
promptstringrequiredstructure_imageimagerequiredcontrol_modeenumdefault depthdepthposeedgelineartpreprocessbooleandefault truecontrol_strengthfloatdefault 0.8min 0.0max 2.0control_endfloatdefault 0.8min 0.1max 1.0seedintegerdefault -1widthintegerdefault 1024min 768max 1536heightintegerdefault 1024min 768max 1536stepsintegerdefault 32min 15max 60cfg_scalefloatdefault 7.0min 1.0max 15.0hires_fixbooleandefault truefreeubooleandefault truecheckpointenumdefault sdxl_baserealvis_xl_v5sdxl_baseComfyUI node graph (15)#
The executable ComfyUI prompt graph: 15 nodes across 13 distinct node classes, wired by 21 data dependencies. Nodes tinted green come from a custom node pack this workflow declares; the rest are ComfyUI core / baked-community classes.
Nodes (15)#
1CheckpointLoaderSimplecoreckpt_name = {{checkpoint_files[checkpoint]}} tmplMODELCLIPVAE2CLIPTextEncodecoretext = {{prompt}} tmplclip = ◂ node 1 · out[1]CONDITIONING3CLIPTextEncodecoretext = ugly, deformed, blurry, low quality, watermark, text, signature, distorted anatomy, disfiguredclip = ◂ node 1 · out[1]CONDITIONING4LoadImagecoreimage = {{structure_image}} tmplIMAGEMASK5{{control_mode_configs[control_mode].preprocessor}}coreimage = ◂ node 4 · out[0]resolution = 1024IMAGE6ControlNetLoadercorecontrol_net_name = controlnet_union_sdxl_promax.safetensorsCONTROL_NET7SetUnionControlNetTypecorecontrol_net = ◂ node 6 · out[0]type = {{control_mode_configs[control_mode].union_type}} tmplCONTROL_NET8ControlNetApplyAdvancedcorepositive = ◂ node 2 · out[0]negative = ◂ node 3 · out[0]control_net = ◂ node 7 · out[0]image = ◂ node 5 · out[0]strength = {{control_strength}} tmplstart_percent = 0.0end_percent = {{control_end}} tmplCONDITIONINGCONDITIONING9EmptyLatentImagecorewidth = {{width}} tmplheight = {{height}} tmplbatch_size = 1LATENT10KSamplercoremodel = ◂ node freeu · out[0]positive = ◂ node 8 · out[0]negative = ◂ node 8 · out[1]latent_image = ◂ node 9 · out[0]seed = {{seed}} tmplsteps = {{steps}} tmplcfg = {{cfg_scale}} tmplsampler_name = dpmpp_2m_sdescheduler = karrasdenoise = 1.0LATENT11VAEDecodecoresamples = ◂ node hires_sampler · out[0]vae = ◂ node 1 · out[2]IMAGE12SaveImagecoreimages = ◂ node 11 · out[0]filename_prefix = controlled_compositionfreeuFreeU_V2coremodel = ◂ node 1 · out[0]b1 = 1.1b2 = 1.2s1 = 0.6s2 = 0.4MODELhires_upscaleLatentUpscaleBycoresamples = ◂ node 10 · out[0]upscale_method = bislerpscale_by = 1.5LATENThires_samplerKSamplercoremodel = ◂ node freeu · out[0]positive = ◂ node 8 · out[0]negative = ◂ node 8 · out[1]latent_image = ◂ node hires_upscale · out[0]seed = {{seed}} tmplsteps = 14cfg = {{cfg_scale}} tmplsampler_name = dpmpp_2mscheduler = karrasdenoise = 0.45LATENTParameter banks (1)#
The prompt / configuration lookup tables this workflow keys into from its inputs — the vocabulary that turns a style / palette / preset selection into graph parameters.
control_mode_configs (4)#
depth{"preprocessor": "DepthAnythingV2Preprocessor", "union_type": "depth", "description": "Depth-map structural guidance (Depth Anything V2)"}pose{"preprocessor": "DWPreprocessor", "union_type": "openpose", "description": "Whole-body pose guidance (DWPose: body + hands + face)"}edge{"preprocessor": "CannyEdgePreprocessor", "union_type": "canny/lineart/anime_lineart/mlsd", "description": "Hard edge guidance (Canny)"}lineart{"preprocessor": "LineArtPreprocessor", "union_type": "canny/lineart/anime_lineart/mlsd", "description": "Line art guidance"}Models & dependencies#
Custom node packs (4)#
The non-core ComfyUI node classes this graph requires; the RunPod worker image the workflow runs on must bake or install a pack that provides every one of them.
CannyEdgePreprocessorDWPreprocessorDepthAnythingV2PreprocessorLineArtPreprocessorCheckpoint aliases (2)#
realvis_xl_v5RealVisXL_V5.0_fp16.safetensorssdxl_basesd_xl_base_1.0.safetensorsModels required (6)#
RealVisXL_V5.0_fp16.safetensorscontrolnet_union_sdxl_promax.safetensorsdepth_anything_v2_vits.pthdw-ll_ucoco_384_bs5.torchscript.ptsd_xl_base_1.0.safetensorsyolox_l.onnxOutput contract#
What a successful run of this workflow returns.
typeimageformatpngchannels4Taxonomy & routing#
How the control plane classifies this workflow — from the committed workflow-taxonomy-registry.json. It drives the consistency / control surface the agentic director can exercise over the workflow.
assetFamilystructure-controlled-stilloutputPackageProfileimage-single-profilecontrolModalitiescontrolnet-depthcontrolnet-posecontrolnet-cannycontrolnet-lineartmodel-locksampler-scheduler-lockseed-lockprompt-template-lockconsistencyDimensionsenvironmentidentitynotesSDXL structural control through the xinsir union controlnet (promax); one workflow covers depth/pose/edge/lineart via SetUnionControlNetType.