Masked spatio-temporal video editing on Wan 2.1 VACE (core WanVaceToVideo): regenerate ONLY the masked region of the masked frames under a new instruction while everything else is preserved - the execution backend for region-level video edits (mask 1 = regenerate, 0 = keep)
Tags: videovaceinpainteditmaskedsurgical-regen2026-sota
Inputs (8)#
The typed parameter surface callers bind when they request this workflow. Enum options and numeric bounds are the values the workflow document declares.
promptstringrequiredsource_framesimage_sequencerequiredmask_framesimage_sequencerequiredframe_countintegerdefault 81min 5max 161resolutionenumdefault square_640square_640portrait_480plandscape_480pmodel_tierenumdefault vace_1_3bvace_1_3bvace_14bfpsintegerdefault 16min 8max 30seedintegerdefault -1ComfyUI node graph (14)#
The executable ComfyUI prompt graph: 14 nodes across 12 distinct node classes, wired by 17 data dependencies. Nodes tinted green come from a custom node pack this workflow declares; the rest are ComfyUI core / baked-community classes.
Nodes (14)#
1UNETLoadercoreunet_name = {{model_files[model_tier]}} tmplweight_dtype = defaultMODEL2CLIPLoadercoreclip_name = umt5_xxl_fp8_e4m3fn_scaled.safetensorstype = wanCLIP3VAELoadercorevae_name = wan_2.1_vae.safetensorsVAE4ModelSamplingSD3coremodel = ◂ node causvid_lora · out[0]shift = 5.0MODELcausvid_loraLoraLoaderModelOnlycoremodel = ◂ node 1 · out[0]lora_name = Wan21_CausVid_14B_T2V_lora_rank32.safetensorsstrength_model = 0.3MODEL5CLIPTextEncodecoretext = {{prompt}} tmplclip = ◂ node 2 · out[0]CONDITIONING6CLIPTextEncodecoretext = overexposed, blurry details, subtitles, watermark, jpeg artifacts, deformed limbs, visible seam, flickerclip = ◂ node 2 · out[0]CONDITIONING7IsisLoadImageListcustom packfilenames = {{source_frames}} tmplframe_count = {{frame_count}} tmplIMAGE8IsisLoadImageListcustom packfilenames = {{mask_frames}} tmplframe_count = {{frame_count}} tmplIMAGE9ImageToMaskcoreimage = ◂ node 8 · out[0]channel = redMASK10WanVaceToVideocorepositive = ◂ node 5 · out[0]negative = ◂ node 6 · out[0]vae = ◂ node 3 · out[0]width = {{resolution_map[resolution].width}} tmplheight = {{resolution_map[resolution].height}} tmpllength = {{frame_count}} tmplbatch_size = 1strength = 1.0control_video = ◂ node 7 · out[0]control_masks = ◂ node 9 · out[0]CONDITIONINGCONDITIONINGLATENTINT11KSamplercoremodel = ◂ node 4 · out[0]positive = ◂ node 10 · out[0]negative = ◂ node 10 · out[1]latent_image = ◂ node 10 · out[2]seed = {{seed}} tmplsteps = 4cfg = 1.0sampler_name = uni_pcscheduler = simpledenoise = 1.0LATENT12VAEDecodecoresamples = ◂ node 11 · out[0]vae = ◂ node 3 · out[0]IMAGE13VHS_VideoCombinecustom packimages = ◂ node 12 · out[0]frame_rate = {{fps}} tmplloop_count = 0filename_prefix = vace_editformat = video/h264-mp4save_output = trueVHS_FILENAMESParameter banks (2)#
The prompt / configuration lookup tables this workflow keys into from its inputs — the vocabulary that turns a style / palette / preset selection into graph parameters.
resolution_map (3)#
square_640{"width": 640, "height": 640}portrait_480p{"width": 480, "height": 832}landscape_480p{"width": 832, "height": 480}model_files (2)#
vace_1_3bwan2.1_vace_1.3B_fp16.safetensorsvace_14bwan2.1_vace_14B_fp16.safetensorsModels & dependencies#
Custom node packs (2)#
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.
IsisLoadImageListVHS_VideoCombineModels required (5)#
Wan21_CausVid_14B_T2V_lora_rank32.safetensorsumt5_xxl_fp8_e4m3fn_scaled.safetensorswan2.1_vace_1.3B_fp16.safetensorswan2.1_vace_14B_fp16.safetensorswan_2.1_vae.safetensorsOutput contract#
What a successful run of this workflow returns.
typevideoformatmp4Taxonomy & 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.
assetFamilyregion-edited-videooutputPackageProfilevideo-master-profilecontrolModalitiescontrolnet-inpaintseed-lockmodel-locktemporal-lockconsistencyDimensionsmotionenvironmentlightingnotesCore WanVaceToVideo masked spatio-temporal edit (mask 1 = regenerate, 0 = keep); the execution backend for region-level surgical regen; CausVid 0.3 + 4-step cfg-1 per the official VACE template.