Files
2nd/10_Wiki/Topics/Comfyui/Comfyui workflow json 생성 방법.md
T
2026-05-19 18:08:09 +09:00

9.8 KiB

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

상위/유사 개념

[아키텍처/기반 기술]

  • 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]