Repaint the white region of a mask image with a Z-Image checkpoint (the 6B base with CFG and a negative prompt, or a Civitai Turbo finetune on its 8-step schedule), with an optional Z-Image LoRA; untouched pixels are composited back from the source. No upstream Z-Image inpaint template exists at Comfy-Org/workflow_templates@aaac56dd, so the graph is this catalog's chroma-inpaint shape (mask image to mask, GrowMask, VAEEncodeForInpaint, KSampler, ImageCompositeMasked) with the Z-Image model stack and sampler values of templates/image_z_image.json (res_multistep + simple, 25 steps, CFG 4, shift 3) and templates/image_z_image_turbo.json (8 steps, CFG 1, negative zeroed); source and mask are bounded to a longest side of 1024 with the ImageScaleToMaxDimension node templates/image_z_image_turbo_fun_union_controlnet.json uses. Choosing a Turbo checkpoint selects the Turbo schedule through checkpoint_profile.
Tags: zimagerunpod-serverlessvolume-backedinpaint
Inputs (12)#
The typed parameter surface callers bind when they request this workflow. Enum options and numeric bounds are the values the workflow document declares.
promptstringrequireddefault a denim jacket with brass buttons, natural light, sharp focusnegative_promptstringdefault checkpointenumdefault zimage-base-bf16zimage-base-bf16cyberrealistic-zimage-turbo-v8-bf16zimage-turbo-bf16-aiostepsintegerdefault 25min 8max 60cfgfloatdefault 4.0min 1.0max 10.0seedintegerdefault -1source_imageimagerequiredmask_imageimagerequiredgrow_mask_byintegerdefault 8min 0max 64denoisefloatdefault 1.0min 0.2max 1.0loraenumdefault nonenonephotoreal-betternudes-v3realistic-snapshot-v5breast-sliderdetail-sliderdetaildaemonz-v1.1lora_strengthfloatdefault 1.0min -2.0max 2.0ComfyUI node graph (20)#
The executable ComfyUI prompt graph: 20 nodes across 17 distinct node classes, wired by 15 data dependencies. Nodes tinted green come from a custom node pack this workflow declares; the rest are ComfyUI core / baked-community classes.
Nodes (20)#
1UNETLoadercoreunet_name = {{checkpoint_map[checkpoint]}} tmplweight_dtype = defaultMODEL2CLIPLoadercoreclip_name = qwen_3_4b.safetensorstype = lumina2device = defaultCLIP3VAELoadercorevae_name = ae.safetensorsVAE4CheckpointLoaderSimplecoreckpt_name = {{checkpoint_map[checkpoint]}} tmplMODELCLIPVAE5LoraLoaderModelOnlycoremodel = {{loader_refs[checkpoint_profile[checkpoint].loader].model}} tmpllora_name = {{lora_map[lora]}} tmplstrength_model = {{lora_strength}} tmplMODEL6ModelSamplingAuraFlowcoremodel = {{lora_ref if lora != 'none' else loader_refs[checkpoint_profile[checkpoint].loader].model}} tmplshift = 3MODEL7CLIPTextEncodecoretext = {{constructed_prompt}} tmplclip = {{loader_refs[checkpoint_profile[checkpoint].loader].clip}} tmplCONDITIONING8CLIPTextEncodecoretext = {{negative_prompt}} tmplclip = {{loader_refs[checkpoint_profile[checkpoint].loader].clip}} tmplCONDITIONING9ConditioningZeroOutcoreconditioning = ◂ node 7 · out[0]CONDITIONING10LoadImagecoreimage = {{source_image}} tmplIMAGEMASK11LoadImagecoreimage = {{mask_image}} tmplIMAGEMASK12ImageScaleToMaxDimensioncoreimage = ◂ node 10 · out[0]upscale_method = lanczoslargest_size = 1024IMAGE13ImageScaleToMaxDimensioncoreimage = ◂ node 11 · out[0]upscale_method = nearest-exactlargest_size = 1024IMAGE14ImageToMaskcoreimage = ◂ node 13 · out[0]channel = redMASK15GrowMaskcoremask = ◂ node 14 · out[0]expand = {{grow_mask_by}} tmpltapered_corners = trueMASK16VAEEncodeForInpaintcorepixels = ◂ node 12 · out[0]vae = {{loader_refs[checkpoint_profile[checkpoint].loader].vae}} tmplmask = ◂ node 15 · out[0]grow_mask_by = 6LATENT17KSamplercoremodel = ◂ node 6 · out[0]positive = ◂ node 7 · out[0]negative = {{checkpoint_profile[checkpoint].negative}} tmpllatent_image = ◂ node 16 · out[0]seed = {{seed}} tmplsteps = {{distilled_schedule.steps if checkpoint_profile[checkpoint].distilled else steps}} tmplcfg = {{distilled_schedule.cfg if checkpoint_profile[checkpoint].distilled else cfg}} tmplsampler_name = res_multistepscheduler = simpledenoise = {{denoise}} tmplLATENT18VAEDecodecoresamples = ◂ node 17 · out[0]vae = {{loader_refs[checkpoint_profile[checkpoint].loader].vae}} tmplIMAGE19ImageCompositeMaskedcoredestination = ◂ node 12 · out[0]source = ◂ node 18 · out[0]x = 0y = 0resize_source = falsemask = ◂ node 15 · out[0]IMAGE20SaveImagecoreimages = ◂ node 19 · out[0]filename_prefix = isis/zimage-inpaintPrompt construction#
template{base_prompt}Variables (1)#
base_prompt{{prompt}} tmplParameter banks (8)#
The prompt / configuration lookup tables this workflow keys into from its inputs — the vocabulary that turns a style / palette / preset selection into graph parameters.
option_policy (2)#
checkpoint{"zimage-base-bf16": {"distribution": "service", "content": "neutral"}, "cyberrealistic-zimage-turbo-v8-bf16": {"distribution": "service", "content": "racy"}, "zimage-turbo-bf16-aio": {"distribution": "service", "content": "neutral"}}lora{"photoreal-betternudes-v3": {"distribution": "service", "content": "explicit"}, "realistic-snapshot-v5": {"distribution": "service", "content": "neutral"}, "breast-slider": {"distribution": "service", "content": "racy"}, "detail-slider": {"distribution": "service", "content": "neutral"}, "detaildaemonz-v1.1": {"distribution": "service", "content": "neutral"}}checkpoint_map (3)#
zimage-base-bf16z_image_bf16.safetensorscyberrealistic-zimage-turbo-v8-bf16cyberrealistic_zimage_turbo_v8_bf16.safetensorszimage-turbo-bf16-aiozimage_turbo_bf16_aio.safetensorscheckpoint_profile (3)#
zimage-base-bf16{"loader": "unet", "distilled": false, "negative": ["8", 0]}cyberrealistic-zimage-turbo-v8-bf16{"loader": "unet", "distilled": true, "negative": ["9", 0]}zimage-turbo-bf16-aio{"loader": "aio", "distilled": true, "negative": ["9", 0]}distilled_schedule (2)#
steps8cfg1.0loader_refs (2)#
unet{"model": ["1", 0], "clip": ["2", 0], "vae": ["3", 0]}aio{"model": ["4", 0], "clip": ["4", 1], "vae": ["4", 2]}lora_ref (2)#
50lora_map (6)#
nonephotoreal-betternudes-v3zimage-photoreal-betternudes-v3.safetensorsrealistic-snapshot-v5zimage-realistic-snapshot-v5.safetensorsbreast-sliderzimage-breast-slider.safetensorsdetail-sliderzimage-detail-slider.safetensorsdetaildaemonz-v1.1zimage-detaildaemonz-v1.1.safetensorsrequires_families (3)#
zimagezimage-cyberrealisticzimage-aioModels & dependencies#
Models required (10)#
z_image_bf16.safetensorscyberrealistic_zimage_turbo_v8_bf16.safetensorszimage_turbo_bf16_aio.safetensorsqwen_3_4b.safetensorsae.safetensorszimage-photoreal-betternudes-v3.safetensorszimage-realistic-snapshot-v5.safetensorszimage-breast-slider.safetensorszimage-detail-slider.safetensorszimage-detaildaemonz-v1.1.safetensorsOutput contract#
What a successful run of this workflow returns.
typeimageformatpngTaxonomy & 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.
assetFamilyportrait-hero-image-bundleoutputPackageProfileimage-single-profilecontrolModalitiesmodel-locksampler-scheduler-lockseed-lockcontrolnet-inpaintlatent-reuseconsistencyDimensionsidentitylightingenvironmentnotesZ-Image inpaint with a user mask, untouched pixels composited back; a Turbo checkpoint selects the 8-step schedule.