Wan 2.1 Image to Video

This ComfyUI workflow turns a single image into a short video using Wan 2.1’s image-to-video pipeline. The core is the WanImageToVideo node, which prepares temporal conditioning (frame count, fps, and motion cues) and routes it into diffusion. Text guidance is encoded through CLIPTextEncode (backed by CLIPLoader loading the UMT5 XXL text encoder), while the starting image is embedded with CLIPVisionEncode using weights from CLIPVisionLoader. The model backbone is loaded via UNETLoader (Wan2.1) and VAELoader (Wan VAE). ModelSamplingSD3 sets the correct sampling profile, and KSampler performs denoising across the sequence of latent frames. Finally, VAEDecode converts latents to RGB frames, CreateVideo assembles them at your chosen fps/size, and SaveVideo writes the result to disk.

The workflow is organized for clarity: Step1 - Load models, Step2 - Upload start_image, Step3 - Video size, Step4 - Prompt. You’ll set width/height and frame rate in the Video size group, provide a clean source image via LoadImage, and craft a text prompt (plus optional negative prompt) to steer style and content. This makes it ideal for animating character turnarounds, subtle portrait motions, or product hero shots—all from a single still—while keeping results predictable through the start image and reproducible via seed and KSampler settings.

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/18da3456241d.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 Image to Video" (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("image_to_video_wan_api.json")

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

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

job = client.run(wf)
for output in job.get_outputs("56"):  # 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