이 ComfyUI 워크플로는 드라이빙 비디오의 모든 프레임에 단일 참고 얼굴 이미지를 적용한 뒤, 프레임을 다시 결합해 최종 클립을 만드는 비디오 얼굴 교체를 수행합니다. 파이프라인은 VHS_LoadVideo로 소스 비디오를 프레임으로 디코딩하고 LoadImage로 참고 얼굴을 가져오는 것으로 시작합니다. 커스텀 얼굴 교체 노드(dc72113f-8276-4a5a-af12-85d6bec89ed5)가 @Alissonerdx가 학습한 LTX 2.3 LoRA를 사용해 실제 얼굴 전이를 수행합니다. PrimitiveFloat 및 PrimitiveInt 노드는 효과 강도, 영역 크기, 프레임 스텝 같은 핵심 컨트롤을 노출하며, ImageResizeKJv2는 참고 얼굴 스케일을 목표 영상에 맞춥니다.
결과를 안정화하고 배경을 유지하기 위해, 워크플로는 ReservedRegionFrameComposer로 생성된 얼굴을 각 원본 프레임에 다시 합성합니다. 이 노드는 얼굴에 대해 일관된 “reserved” 영역을 정의하고 페더링된 엣지로 블렌딩해 시간적 지터를 줄이고 머리카락, 조명, 장면 모션을 보존합니다. ComfyMathExpression은 동적 값(예: 비디오 해상도에서 영역 크기 계산)을 도출해 로드하는 입력에 맞춰 설정이 동기화되도록 합니다. 품질 점검을 위해 ImageConcanate로 원본 vs 교체 프레임을 나란히 미리보기로 구성할 수 있습니다. 마지막으로 처리된 프레임은 VHS_VideoCombine 또는 CreateVideo로 비디오로 인코딩되며, SaveVideo로 저장됩니다.
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














