이 워크플로는 Flux.2 Klein 4b Distilled 이미지 편집 모델을 사용해 입력 비디오 전체에 프레임 단위로 일관된 스타일 트랜스퍼를 적용합니다. LoadVideo로 비디오를 디코딩하고 GetVideoComponents로 해상도/FPS를 읽은 다음, VHS_SelectEveryNthImage로 프레임 처리 밀도(모든 프레임 또는 속도를 위한 N번째 프레임)를 선택합니다. 프레임은 ImpactImageBatchToImageList로 정리되어 각 이미지가 프레임별 프롬프트와 페어링될 수 있습니다.
스타일 프롬프트는 작은 프롬프트 파이프라인으로 생성 및 정렬됩니다. GeminiNode가 Author Notes를 따라 스타일 트랜스퍼 문장을 초안으로 만들 수 있고, RegexReplace가 텍스트를 정리/정규화합니다(예: 번호 제거 및 "the source frame" 문구 강제). FL_PromptMulti는 반복 사이클로 프레임당 프롬프트 1개를 분배합니다. 각 프레임과 해당 프롬프트는 Flux.2 Klein 4b 편집 노드(Flux.2 Klein 4b Distilled 이미지 편집 모델)로 들어가 소스 프레임 구조를 유지하면서 스타일링된 이미지를 출력합니다. 처리된 이미지는 ImageListToImageBatch로 다시 패킹되고, CreateVideo로 비디오로 변환됩니다(GetVideoComponents의 원본 FPS와 일치). 필요하면 PreviewAny로 미리보기한 뒤 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














