---
id: comfyui-workflow-json-생성-방법
title: "Comfyui workflow json 생성 방법"
category: "10_Wiki/Topics"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["ComfyUI Workflow Serialization", "ComfyUI API JSON Generation"]
duplicate_of: ""
source_trust_level: "B"
confidence_score: 0.90
created_at: 2026-05-19
updated_at: 2026-05-19
review_reason: ""
merge_history: []
tags: ["research", "ComfyUI", "Workflow", "JSON", "API"]
raw_sources: ["NotebookLM Synthesis"]
applied_in: ["bc85382", "82df278", "DanielPFlorian/ComfyUI-WorkflowGenerator", "SethRobinson/comfyui-workflow-to-api-converter-endpoint", "pydn/ComfyUI-to-Python-Extension"]
github_commit: "bc85382"
---

# [[Comfyui workflow json 생성 방법]]

## 🎯 한 줄 통찰 (One-line insight)
ComfyUI 워크플로우 JSON은 시각적 그래프(Frontend)와 실행 가능한 로직(API) 사이를 연결하는 **직렬화된 소스 코드**이며, 수동 내보내기부터 LLM 기반 합성까지 다층적인 생성 경로를 제공한다 [1-3].

## 🧠 핵심 개념 (Core concepts)
- **형식의 이분화 (Bifurcation):** 시각적 메타데이터를 포함한 **Frontend JSON**(사용자 편집용)과 이를 제거하고 실행 로직만 남긴 **API JSON**(서버/프로그램 호출용)으로 구분된다 [4-7].
- **메타데이터 임베딩 (Metadata Embedding):** 생성된 PNG/WebP 이미지의 tEXt 또는 zTXt 청크 내에 워크플로우 데이터를 숨겨 저장함으로써 이미지 자체가 워크플로우 백업 역할을 수행한다 [8, 9].
- **실행 모델 역전 (Execution Model Inversion):** 최종 출력 노드에서 시작하여 필요한 의존성만 역방향으로 탐색해 실행 리스트를 구성하는 구조적 특성을 가진다 [10, 11].
- **LLM 기반 합성 (LLM-driven Synthesis):** 자연어 설명을 세 단계(생성 → 검증 → 빌드)의 파이프라인을 거쳐 실행 가능한 노드 그래프로 자동 변환하는 최신 접근법이다 [12-14].

## 🧩 추출된 패턴 (Extracted patterns)
- **개발자 모드 활성화 패턴:** API 전용 JSON을 추출하기 위해서는 설정 메뉴에서 **'Enable Dev mode Options'**를 활성화해야만 'Save (API format)' 버튼이 노출된다 [2, 15-17].
- **노드 ID 고정화 전략:** API 환경에서 워크플로우를 제어할 때, 가변적인 노드 ID 대신 **노드 제목(Title)**이나 **사용자 정의 키**를 기반으로 파라미터를 수정하는 래퍼(Wrapper) 사용 패턴이 발견된다 [18-20].
- **의존성 자동 해결 패턴:** 외부 JSON 로드 시 발생하는 'Missing Custom Node' 오류(빨간색 박스)를 해결하기 위해 **ComfyUI Manager**가 JSON을 파싱하여 누락된 패키지를 설치하도록 유도한다 [21-23].

## 📖 세부 내용 (Details)

### 1. GUI를 통한 수동 생성 방법
가장 기본적이고 흔한 방법으로, ComfyUI 웹 인터페이스의 컨트롤 패널을 사용한다.
- **Frontend 포맷 (workflow.json):** 캔버스 레이아웃, 노드 좌표, 그룹, 색상 등 시각적 정보를 모두 포함한다 [4, 24]. **Ctrl + S** (또는 Cmd + S) 단축키로 현재 상태를 바로 다운로드할 수 있다 [24].
- **API 포맷 (workflow_api.json):** 서버 실행에 불필요한 UI 데이터를 제거한 정제된 그래프이다 [4, 7]. 설정에서 개발자 모드를 켠 후 생성되는 **'Save (API format)'** 버튼을 통해 추출하며, `/prompt` 엔드포인트 호출에 필수적이다 [2, 25, 26].

### 2. 이미지 메타데이터로부터의 추출
이미 생성된 결과물 파일에서 워크플로우 로직을 복구하는 방법이다.
- **드래그 앤 드롭:** 워크플로우 정보가 포함된 PNG 파일을 캔버스에 떨어뜨리면 즉시 노드 구성이 복원된다 [8, 27-29].
- **추출 도구 활용:** `ExifTool`을 사용하여 바이너리 태그를 추출하거나(`exiftool -b -workflow input.png > workflow.json`), 전문 웹 사이트(Weird Wonderful AI Art) 및 CLI 도구를 통해 벌크 추출이 가능하다 [30-33].

### 3. 프로그래밍 및 자동화 생성
개발 환경에서 워크플로우를 동적으로 생성하거나 변환한다.
- **Python 딕셔너리 조작:** JSON은 기본적으로 중첩된 딕셔너리 구조이므로, `json` 라이브러리를 통해 시드, 프롬프트, 모델 경로 등의 특정 노드 입력을 직접 수정하여 다시 저장하거나 API로 보낼 수 있다 [34, 35].
- **형식 변환 엔드포인트:** `comfyui-workflow-to-api-converter-endpoint`와 같은 커스텀 노드를 사용하면, 일반 Frontend JSON을 서버 사이드에서 즉시 API 포맷으로 변환해주는 `/workflow/convert` API를 활용할 수 있다 [26, 36].
- **Python 스크립트 변환:** `ComfyUI-to-Python-Extension`은 JSON 워크플로우를 순수 파이썬 코드(.py)로 변환하여 독립적인 실행 스크립트로 만들어준다 [18, 37, 38].

### 4. LLM 기반 자연어 생성 (AI 합성)
- **파이프라인 구조:** `ComfyUI-WorkflowGenerator`는 사용자의 자연어 명령(예: "SDXL을 사용한 텍스트-투-이미지 워크플로우 생성")을 입력받아 **Generator**(논리 구조 생성) → **Validator**(노드 이름 검증) → **Builder**(실행 가능 JSON 빌드) 과정을 거친다 [13, 14].
- **기반 모델:** Qwen2.5-14B와 같이 미세 조정된 대규모 언어 모델을 활용하여 노드 간의 유효한 연결 관계를 추론한다 [39].

## ⚖️ 모순 및 업데이트 (Contradictions & updates)
- **JSON 호환성 이슈:** ComfyUI의 빈번한 업데이트로 인해 이전 버전의 JSON 파일이 최신 버전에서 정상적으로 작동하지 않을 수 있다는 경고가 존재한다 [23, 28].
- **메타데이터 손실 위험:** 온라인 공유나 압축 과정에서 이미지의 메타데이터(JSON 정보 포함)가 제거될 수 있으며, 이 경우 드래그 앤 드롭을 통한 복구가 불가능하다 [9, 28, 40].
- **Reroute 노드 처리:** 최근 업데이트(V2.2.0)에서는 변환기들이 새로운 'reroute' 노드를 무시하거나 적절히 처리하도록 로직이 수정되었다 [41].

## 🛠️ 적용 사례 (Applied in summary)
- **Git 커밋 bc85382:** `comfyui-workflow-to-api-converter-endpoint` 프로젝트에서 대소문자 구분 오류(True vs true)를 수정하고 콤보 위젯 값을 정규화하는 로직이 적용됨 [41, 42].
- **Git 커밋 82df278:** `ComfyUI-WorkflowGenerator`에서 드롭다운 메뉴의 중복 모델 표시 문제를 해결함 [43].
- **/workflow/convert 엔드포인트:** Seth A. Robinson에 의해 개발된 커스텀 노드로, 비 API 포맷을 API 포맷으로 서버 측에서 변환하는 기능을 구현함 [26, 44].
- **Save As Script 메뉴:** `pydn/ComfyUI-to-Python-Extension` 설치 시 ComfyUI의 'File' 메뉴에 추가되어 워크플로우를 파이썬 코드로 내보낼 수 있게 함 [45, 46].

## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual (공식 문서 및 다수의 오픈소스 구현 사례 확인됨)
- **출처 신뢰도:** B (공식 개발 문서, 메이저 커스텀 노드 개발자의 기술 노트 및 튜토리얼 기반)
- **중복 검사 결과:** 신규 생성 (New discovery)


## 🔗 관련 문서 링크 (Related document links)

### 상위/유사 개념

#### [아키텍처/기반 기술]
- [[Litegraph Standard]]
  - 연결 이유: Frontend JSON 형식이 기반하고 있는 시각적 그래프 표준 [4, 6].
- [[Execution Model Inversion]]
  - 연결 이유: JSON 데이터가 실제로 처리되는 백엔드 엔진의 핵심 알고리즘 [10].

#### [구현/활용 도구]
- [[ComfyUI Manager]]
  - 연결 이유: 생성된 JSON의 노드 의존성을 관리하고 누락된 요소를 복구하는 필수 도구 [21, 22].
- [[ComfyUI API]]
  - 연결 이유: 생성된 API JSON이 최종적으로 소비되는 인터페이스 엔드포인트 [47, 48].

### 심층 후속 질문 (Deeper Research Questions)
- 왜 ComfyUI는 Frontend와 API 포맷을 분리하여 설계했으며, 이로 인해 얻는 성능적 이득은 구체적으로 무엇인가? [4, 5]
- PNG 메타데이터 청크(tEXt/zTXt)를 넘어서는 대용량 워크플로우를 이미지에 안전하게 포함시키는 대안 기술은 무엇이 있는가? [9]
- LLM 기반 생성 시, 학습 데이터에 없는 최신 커스트 노드와의 연결을 위해 RAG(검색 증강 생성)를 어떻게 결합할 수 있는가? [49]
- `Execution Model Inversion` 구조에서 사용되지 않는 노드가 JSON에 포함되었을 때 실제 실행 효율에 미치는 영향은 어떠한가? [10]
- 모델 해싱(SHA-256)을 이용해 서로 다른 환경의 JSON 내 모델 파일 경로 불일치 문제를 해결하는 표준 프로세스는 무엇인가? [50]

### 실무 적용 맥락 (Practical Application Contexts)
- **Implementation:** `/workflow/convert` 엔드포인트를 활용하여 클라이언트 앱에서 워크플로우 수정 후 즉시 실행 가능한 API 호출 생성 [26].
- **System Design:** 워크플로우를 Git으로 관리하고, 배포 시에는 API 포맷만 추출하여 서버리스 환경(Replicate, Mystic 등)에 업로드 [16, 17, 51].
- **Operation / Maintenance:** `object_info.json`을 사용하여 실행 전 노드 입출력 유효성을 검사함으로써 런타임 오류 방지 [52, 53].
- **Learning Path:** 기본 워크플로우 템플릿부터 시작하여 수동 내보내기를 익힌 후, `ComfyUI-to-Python`을 통해 자동화 단계로 진입 [38, 54].

### 인접 주변 주제 (Adjacent Topics)
- [[Model Hashing (SHA-256)]]
  - 확장 방향: 워크플로우 이식성 강화를 위한 모델 식별 기술 [50].
- [[Custom Node Registry]]
  - 확장 방향: JSON 내 `class_type`이 참조하는 실제 노드 구현 저장소 관리 [55].

## 📝 변경 이력 (Change history)
- 2026-05-19: Initial draft generated via Datacollector_MAC P-Reinforce engine. (Source synthesis from 18 documents) [1-188]