이 ComfyUI 워크플로는 Wan-Animate-2(Wan-Video/Alibaba)를 사용한 엔드투엔드 모션 전송을 보여줍니다. 단일 레퍼런스 이미지(캐릭터)를 드라이빙 비디오의 움직임을 따라가도록 애니메이션화하며, 어떤 포즈 키포인트나 스켈레톤 추출도 필요하지 않습니다. 그래프의 핵심은 커스텀 Wan-Animate-2 노드(UUID: 11706f8a-428d-4ef9-b24f-863f651c1b0b, 79280513-53b2-4417-93f8-f3e116bb6736, b798a87e-23ec-483d-ab9b-6af5b298d0ad)로 구동되는 "Motion Transfer (Wan Animate 2)" 서브그래프입니다. 이 노드들은 레퍼런스 이미지, 드라이빙 비디오에서 프레임별로 얻은 모션 신호, 그리고 배경 룩과 카메라 느낌을 유도하는 텍스트 프롬프트를 입력으로 받습니다. 모션이 프레임에서 직접 학습되므로 설정이 빠르고 견고하며 OpenPose나 전처리 패스가 필요 없습니다.
LoadImage는 캐릭터 정체성을 제공하고, LoadVideo 및 GetVideoComponents는 드라이빙 프레임과 fps를 추출합니다. BatchImagesNode는 레퍼런스 이미지를 복제해 각 비디오 프레임이 동일한 정체성 입력과 페어링되도록 합니다. GetImageSize와 ComfyMathExpression은 입력과 출력 사이에서 해상도와 비율을 일관되게 유지하는 데 사용됩니다. PreviewAny로 중간 프레임을 확인할 수 있고, CreateVideo + SaveVideo가 원래 fps로 생성 프레임을 다시 비디오로 조립합니다. 더 긴 클립의 경우(네이티브 루프 지원은 업스트림에서 대기 중) Motion Transfer 서브그래프를 수동으로 복제해 순차적으로 연결하면 전체 드라이빙 비디오를 처리할 수 있습니다.
API
코드에서 이 워크플로우 사용하기
모든 Comfy 워크플로우는 JSON 그래프입니다. 아래 페이로드는 이 워크플로우 그 자체로, ComfyUI에서 실행되는 것과 동일합니다 — URL에서 가져오거나, 버전 관리에 보관하거나, ComfyUI에서 불러와 노드별로 실행할 수 있습니다.
Comfy SDK로 TypeScript 또는 Python에서 실행하세요. 동일한 코드는 Comfy Cloud 또는 직접 호스팅하는 ComfyUI 모두에 적용됩니다 — 기본 URL만 다릅니다.
// Install (beta)
npm i @comfyorg/sdk
// Run this workflow (TypeScript)
import { Comfy } from "@comfyorg/sdk";
const client = new Comfy({ apiKey: "comfyui-..." });
const wf = await client.workflows.fromFile("workflow_api.json");
const job = await client.run(wf);
await job.getOutputs("<output-node-id>")[0].toFile("output.png");SDK는 API 형식의 워크플로우를 사용합니다: 이 워크플로우를 ComfyUI에서 열고 파일 → 워크플로우 내보내기(API)를 사용하세요.
FAQ














