
Wan2.1 VACE 참조에서 비디오로는 단일 이미지를 짧은 비디오로 변환하면서 참조의 스타일과 피사체를 유지하고, 텍스트 프롬프트로 가이드된 모션을 추가합니다. 워크플로의 핵심은 WanVaceToVideo 노드로, 로드된 참조 이미지(LoadImage)와 CLIPTextEncode로 인코딩된 프롬프트 텍스트를 결합합니다. 확산 백본은 Wan 2.1 VACE 모델이 제공하며, “Load models here” 그룹에서 UNETLoader와 VAELoader를 사용해 Wan2.1-VACE-1.3B 또는 Wan2.1-VACE-14B 중 하나를 선택합니다. ModelSamplingSD3 노드는 샘플러를 구성하고, KSampler이 선택한 steps 및 cfg scale로 디노이징을 처리합니다. 스타일 어댑터가 필요하면 LoraLoader로 동일한 확산 모델 패밀리에 맞는 LoRA를 적용할 수 있습니다.
샘플링 이후 VAEDecode가 잠재 데이터에서 프레임을 복원합니다. TrimVideoLatent로 정확한 재생 시간을 설정할 수 있으며, “First Frame control” 그룹(ImageToMask, SolidMask, MaskToImage, RepeatImageBatch)은 첫 프레임의 일부를 고정하거나 보호해 아이덴티티 또는 구도 유지력을 높일 수 있습니다. PreviewImage 노드로 반복 작업 중 빠르게 QC할 수 있습니다. 마지막으로 CreateVideo가 프레임을 집계하고, SaveVideo(MP4) 또는 SaveAnimatedWEBP로 가벼운 미리보기를 내보낼 수 있습니다. 작성자 가이드: 기본 steps=20, cfg=6.0이 잘 맞습니다. CausVid LoRA를 사용한다면 steps는 더 적게(2–4), cfg는 낮게(~1.0) 권장합니다. 해상도는 VACE-1.3B가 480p 초안에 적합하고, VACE-14B는 렌더 시간이 늘어나는 대신 더 높은 품질로 480p 및 720p를 지원합니다.
API
코드에서 이 워크플로우 사용하기
모든 Comfy 워크플로우는 JSON 그래프입니다. 아래 페이로드는 이 워크플로우 그 자체로, ComfyUI에서 실행되는 것과 동일합니다 — URL에서 가져오거나, 버전 관리에 보관하거나, ComfyUI에서 불러와 노드별로 실행할 수 있습니다.
Comfy SDK로 TypeScript 또는 Python에서 실행하세요. 동일한 코드는 Comfy Cloud 또는 직접 호스팅하는 ComfyUI 모두에 적용됩니다 — 기본 URL만 다릅니다.
// Install (beta)
npm i @comfyorg/sdk
// Run "Wan2.1 VACE 레퍼런스 기반 비디오 생성" (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_ref2v_api.json");
const asset = client.assets.fromFile("input.png");
wf.setInput("73", "image", asset); // LoadImage
wf.setInput("105", "text", "your prompt here"); // CLIPTextEncode
const job = await client.run(wf);
await job.getOutputs("70")[0].toFile("output.png"); // SaveAnimatedWEBPSDK는 API 형식의 워크플로우를 사용합니다: 이 워크플로우를 ComfyUI에서 열고 파일 → 워크플로우 내보내기(API)를 사용하세요.
FAQ













