Wan2.1 VACE Outpainting - After
Wan2.1 VACE Outpainting - Before

This ComfyUI workflow teaches you how to outpaint a video—expanding its canvas while keeping the original content intact—using Wan 2.1 VACE. It loads your source clip with LoadVideo and extracts dimensions and frame count via GetVideoComponents and PreviewImage. You then define where to expand using ImagePadForOutpaint and a mask built from ImageToMask/MaskToImage, replicated across time with RepeatImageBatch. Prompts are encoded with CLIPTextEncode, and generation runs through KSampler with ModelSamplingSD3 scheduling on a Wan 2.1 VACE UNet/Decoder stack (UNETLoader, VAELoader), with VAEDecode converting latents to frames. WanVaceToVideo handles video-specific conditioning, and TrimVideoLatent ensures temporal shapes align. The result is assembled with CreateVideo and saved via SaveVideo.

Technically, two alignment rules matter for stable inference: the spatial size you set for outpainting must be divisible by 16 (a constraint of WanVaceToVideo and the VAE), and the sequence length must satisfy the temporal constraint (Length - 1 divisible by 4), which TrimVideoLatent addresses. Because core Comfy nodes don’t yet expose video size/frame-count utilities, this template uses PreviewImage as a practical workaround; you can swap in custom utility nodes if available. The workflow includes model groups for Wan2.1-VACE-1.3B (lighter, recommended for 480p) and Wan2.1-VACE-14B (higher quality, suitable for higher resolutions like 720p if resources allow). Default generation settings are steps: 20 and cfg: 6.0, with optional CausVid LoRA tuning at steps: 2–4 and cfg: 1.0.

FAQ

Frequently Asked Questions

View all workflows
Character
Cinematic
Image to Video
Lip Sync
Multiple Angles
Portrait
Style Reference
Style Transfer
Text to Video
Video Generation
Video
Showing 30 of 579 templates