Wan2.1 VACE Text to Video

This workflow turns a short text prompt into a coherent video using Wan 2.1 VACE. It encodes your prompt with CLIPLoader + CLIPTextEncode, then drives the Wan VACE UNet (UNETLoader) through a diffusion loop (KSampler) configured for the model’s sampling behavior via ModelSamplingSD3. The WanVaceToVideo node handles time-aware latent generation, and TrimVideoLatent lets you shorten or crop the sequence to an exact frame count. After sampling, VAELoader + VAEDecode convert latents into RGB frames. Finally, CreateVideo compiles frames and SaveVideo writes MP4 output; SaveAnimatedWEBP is provided for lightweight previews.

Two model sizes are supported: VACE-14B (higher quality, slower; 480p and 720p) and VACE-1.3B (faster; 480p only). The graph is organized into clear groups: Load models here, Prompt, Sampling & Decoding, Save Video (Mp4), and Save Video (WebP), plus separate 14B and 1.3B sections for quick switching. A CausVid LoRA is included via LoraLoader to speed up generation; use it at moderate strength (0.3–0.7) and reduced steps (2–4, cfg ~1.0) for drafts. For best final quality, disable or lower the LoRA and use the default 14B settings (around 20 steps, cfg ~6.0).

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.

video_wan_vace_14B_t2v.json
Fetching workflow JSON…

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

// Install (beta)
npm i @comfyorg/sdk

// Run "Wan2.1 VACE Text to Video" (TypeScript)
import { Comfy } from "@comfyorg/sdk";

const client = new Comfy({ apiKey: "comfyui-..." });

// This workflow, exported in API format (see note below)
const wf = await client.workflows.fromFile("video_wan_vace_14B_t2v_api.json");

wf.setInput("6", "text", "your prompt here"); // CLIPTextEncode

const job = await client.run(wf);
await job.getOutputs("70")[0].toFile("output.png"); // SaveAnimatedWEBP

The SDK takes a workflow in API format: open this workflow in ComfyUI and use File → Export Workflow (API).

Comfy Cloud API access requires a plan with an API key.

FAQ

Frequently Asked Questions

View all workflows
Showing 30 of 30 templates