Wan 2.1 Inpainting

This workflow turns a pair of images into a short, coherent video by leveraging Wan 2.1’s inpainting-based video diffusion. You provide a start frame and an end frame; the WanFunInpaintToVideo node then guides the model to synthesize the in‑between motion while preserving subject and scene details anchored in your images. Text prompts (via CLIPTextEncode) steer style and content, while negative prompts help suppress artifacts.

Under the hood, Step1 loads the core components: UNETLoader (Wan2.1 / Wan), VAELoader/VAEDecode for latent <-> pixel space conversion, and CLIPLoader for text conditioning. Your start/end frames are brought in with LoadImage and encoded using CLIPVisionLoader + CLIPVisionEncode to produce image conditioning for the UNet. KSampler drives the diffusion process using ModelSamplingSD3 for the correct sigma schedule, with CFGZeroStar and SkipLayerGuidanceDiT stabilizing guidance. The Attention Booster group applies UNetTemporalAttentionMultiply to strengthen temporal consistency across frames. Finally, CreateVideo assembles frames and SaveVideo writes the finished clip.

API

Use this workflow from code

Every Comfy workflow is a JSON graph. The payload below is this workflow, exactly as ComfyUI runs it — fetch it from the URL, keep it in version control, or load it in ComfyUI and run it node by node.

GET https://comfy.org/workflows/download/4d10908bd0bc.json
Fetching workflow JSON…

Run it from Python or TypeScript with the Comfy SDK. The same code targets Comfy Cloud or a ComfyUI you host yourself — only the base URL changes.

# Install (beta)
pip install comfy-sdk        # Python
npm i @comfyorg/sdk          # TypeScript

# Run "Wan 2.1 Inpainting" (Python)
from comfy_sdk import Comfy

client = Comfy(api_key="comfyui-...")

# This workflow, exported in API format (see note below)
wf = client.workflows.from_file("wan2.1_fun_inp_api.json")

asset = client.assets.from_file("input.png")
wf.set_input("72", "image", asset)  # LoadImage

wf.set_input("6", "text", "your prompt here")  # CLIPTextEncode

job = client.run(wf)
for output in job.get_outputs("80"):  # SaveVideo
    output.to_file(output.name)

The SDK takes a workflow in API format: open this workflow in ComfyUI and use File → Export Workflow (API). API access requires a Comfy Cloud plan with an API key. SDK docs · Get an API key

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 30 templates