--- id: workflow.json-(frontend-format) title: "Workflow.json (Frontend Format)" category: "10_Wiki/Topics" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["Frontend JSON", "Full Workflow Export"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.85 created_at: 2026-05-19 updated_at: 2026-05-19 review_reason: "" merge_history: [] tags: ["research", "Comfyui workflow json 생성 방법"] raw_sources: ["NotebookLM Synthesis"] applied_in: ["comfyui-workflow-to-api-converter-endpoint", "ComfyUI-to-Python-Extension", "ComfyUI-WorkflowGenerator"] github_commit: "" --- # [[Workflow.json (Frontend Format)]] ## 🎯 ν•œ 쀄 톡찰 (One-line insight) ComfyUI의 μ‹œκ°μ  νŽΈμ§‘ μƒνƒœμ™€ λ…Έλ“œ κ°„μ˜ 논리적 연결을 **Litegraph ν‘œμ€€**에 따라 μ™„λ²½ν•˜κ²Œ λ³΄μ‘΄ν•˜μ—¬, μΈκ°„μ˜ μž¬νŽΈμ§‘κ³Ό 기계적 μ‹€ν–‰ μ‚¬μ΄μ˜ 가ꡐ 역할을 μˆ˜ν–‰ν•˜λŠ” μ „μ œ μƒνƒœ(Full State) μŠ€λƒ…μƒ· [1, 2]. ## 🧠 핡심 κ°œλ… (Core concepts) 1. **Litegraph ν‘œμ€€ μ€€μˆ˜:** ComfyUI μ›Ή μΈν„°νŽ˜μ΄μŠ€μ˜ μΊ”λ²„μŠ€ λ ˆμ΄μ•„μ›ƒμ„ μ •μ˜ν•˜λŠ” 라이브러리인 Litegraph ν˜•μ‹μ„ λ”°λ₯΄λ©°, μ‹œκ°μ  λ Œλ”λ§μ— ν•„μš”ν•œ λͺ¨λ“  데이터λ₯Ό ν¬ν•¨ν•œλ‹€ [1, 2]. 2. **μ‹œκ°μ  메타데이터(Visual Metadata):** λ…Έλ“œμ˜ μ’Œν‘œ(pos), 크기(size), κ·Έλ£Ή ꡬ성, 색상, λ…Έλ“œμ˜ μΆ•μ†Œ(collapsed) λ˜λŠ” κ³ μ •(pinned) μƒνƒœ λ“±μ˜ 정보λ₯Ό μƒμ„Ένžˆ κΈ°λ‘ν•œλ‹€ [1, 3, 4]. 3. **λͺ…μ‹œμ  링크 ꡬ쑰(Explicit Links):** λ…Έλ“œ κ°„μ˜ 연결을 λ³„λ„μ˜ `links` λ°°μ—΄ λ‚΄μ—μ„œ 고유 IDλ₯Ό κ°€μ§„ λͺ…μ‹œμ  객체둜 κ΄€λ¦¬ν•˜μ—¬ κ·Έλž˜ν”„μ˜ μ‹œκ°μ  연결성을 μœ μ§€ν•œλ‹€ [2, 3, 5]. 4. **λ…Έλ“œ μ‹λ³„μž(Node Identification):** 각 λ…Έλ“œλŠ” 주둜 숫자 ν˜•νƒœμ˜ 고유 λ¬Έμžμ—΄ ID(예: "1", "2")둜 μ‹λ³„λ˜λ©°, μ΄λŠ” κ·Έλž˜ν”„ 탐색 및 UI λ Œλ”λ§μ˜ 기쀀이 λœλ‹€ [1, 2, 6]. ## 🧩 μΆ”μΆœλœ νŒ¨ν„΄ (Extracted patterns) - **Full UI Export νŒ¨ν„΄:** λ‹¨μˆœνžˆ μ‹€ν–‰ 둜직만 μ €μž₯ν•˜λŠ” 것이 μ•„λ‹ˆλΌ, μ‚¬μš©μžκ°€ μž‘μ—…ν•˜λ˜ ν™˜κ²½μ„ κ·ΈλŒ€λ‘œ 볡ꡬ할 수 μžˆλ„λ‘ μΊ”λ²„μŠ€μ˜ λͺ¨λ“  μƒνƒœλ₯Ό μΊ‘μ²˜ν•˜λŠ” 방식이닀 [7, 8]. - **Metadata Embedding νŒ¨ν„΄:** μƒμ„±λœ PNG μ΄λ―Έμ§€μ˜ `tEXt` λ˜λŠ” `zTXt` 청크에 Frontend JSON 데이터λ₯Ό μ£Όμž…ν•˜μ—¬ 이미지 μžμ²΄κ°€ μ›Œν¬ν”Œλ‘œμš° λ°±μ—… 파일 역할을 ν•˜λ„λ‘ μ„€κ³„λ˜μ—ˆλ‹€ [9-11]. - **μ—­λ°©ν–₯ μ‹€ν–‰ λͺ¨λΈ(Execution Model Inversion):** JSON 내에 μˆ˜λ§Žμ€ λ…Έλ“œκ°€ μ‘΄μž¬ν•˜λ”λΌλ„ μ‹€ν–‰ 엔진은 좜λ ₯ λ…Έλ“œ(Save Image λ“±)λΆ€ν„° μ—­μΆ”μ ν•˜μ—¬ ν•„μš”ν•œ λ…Έλ“œλ§Œ μ‹€ν–‰ν•˜λ©°, μ‚¬μš©λ˜μ§€ μ•ŠλŠ” λ…Έλ“œλŠ” μ„±λŠ₯에 영ν–₯을 μ£Όμ§€ μ•Šκ³  λ³΄μ‘΄λœλ‹€ [12]. ## πŸ“– μ„ΈλΆ€ λ‚΄μš© (Details) Frontend Format인 `workflow.json`은 ComfyUI의 κΈ°λ³Έ μ €μž₯ ν˜•μ‹μœΌλ‘œ, μ‚¬μš©μžκ°€ μ›Ή μΈν„°νŽ˜μ΄μŠ€μ—μ„œ μ›Œν¬ν”Œλ‘œμš°λ₯Ό μ €μž₯ν•˜κ±°λ‚˜ κ³΅μœ ν•  λ•Œ 주둜 μ‚¬μš©λœλ‹€ [1, 2, 13]. ### 1. μ£Όμš” 데이터 ꡬ쑰 - **nodes:** μ›Œν¬ν”Œλ‘œμš°λ₯Ό κ΅¬μ„±ν•˜λŠ” κ°œλ³„ λ…Έλ“œλ“€μ˜ 배열이닀. 각 λ…Έλ“œ κ°μ²΄λŠ” 클래슀 νƒ€μž…(`type`), μ’Œν‘œ(`pos`), 크기(`size`), μ‹€ν–‰ μˆœμ„œ(`order`), λͺ¨λ“œ(`mode`, ν™œμ„±/우회 λ“±), 그리고 μœ„μ ― μ„€μ •κ°’(`widgets_values`)을 ν¬ν•¨ν•œλ‹€ [4, 14]. - **links:** λ…Έλ“œ μ‚¬μ΄μ˜ 와이어(Wire) 연결을 μ •μ˜ν•˜λŠ” μ΅œμƒμœ„ 배열이닀. 각 λ§ν¬λŠ” 보톡 6개의 μš”μ†Œλ₯Ό κ°€μ§„ λ°°μ—΄μ΄λ‚˜ 객체 ν˜•νƒœλ‘œ, μ†ŒμŠ€ λ…Έλ“œ ID, μ†ŒμŠ€ 슬둯, νƒ€κ²Ÿ λ…Έλ“œ ID, νƒ€κ²Ÿ 슬둯 정보λ₯Ό λ‹΄κ³  μžˆλ‹€ [5]. - **groups:** μΊ”λ²„μŠ€ μƒμ—μ„œ λ…Έλ“œλ“€μ„ λ…Όλ¦¬μ μœΌλ‘œ λ¬Άμ–΄μ£ΌλŠ” μ‹œκ°μ  κ·Έλ£Ή 정보λ₯Ό μ €μž₯ν•œλ‹€ [4]. ### 2. API Format(Backend)과의 차이점 Frontend Format은 μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ 정보λ₯Ό λͺ¨λ‘ ν¬ν•¨ν•˜κΈ° λ•Œλ¬Έμ— 파일 크기가 μƒλŒ€μ μœΌλ‘œ 크며, λ°±μ—”λ“œ μ‹€ν–‰ 엔진이 직접 ν•΄μ„ν•˜κΈ°μ—λŠ” λΆ€μ μ ˆν•œ ꡬ쑰λ₯Ό κ°€μ§€κ³  μžˆλ‹€ [1, 3, 15]. 반면 API Format은 UI 메타데이터λ₯Ό μ œκ±°ν•˜κ³  λ…Έλ“œ μž…λ ₯ 내에 링크 정보λ₯Ό 직접 μž„λ² λ”©ν•˜μ—¬ μ‹€ν–‰ μ΅œμ ν™”μ— μ§‘μ€‘ν•œλ‹€ [1, 16, 17]. ### 3. μƒν˜Έ μš΄μš©μ„± 및 ν•œκ³„ - **이미지 기반 λ‘œλ”©:** PNG 이미지에 ν¬ν•¨λœ 메타데이터λ₯Ό 톡해 μ›Œν¬ν”Œλ‘œμš°λ₯Ό μ¦‰μ‹œ 볡ꡬ할 수 μžˆμœΌλ‚˜, 이미지 νŽΈμ§‘κΈ°λ‚˜ μ†Œμ…œ λ―Έλ””μ–΄ ν”Œλž«νΌμ„ κ±°μΉ˜λ©΄μ„œ 메타데이터가 손싀될 μœ„ν—˜μ΄ μžˆλ‹€ [9, 11, 18]. - **버전 ν˜Έν™˜μ„±:** ComfyUIλŠ” μ§€μ†μ μœΌλ‘œ μ—…λ°μ΄νŠΈλ˜λ―€λ‘œ, κ΅¬λ²„μ „μ˜ JSON 파일이 μ΅œμ‹  λ²„μ „μ—μ„œ μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜μ§€ μ•Šμ„ 수 μžˆλ‹€ [18]. - **쒅속성 문제:** JSON 파일 μžμ²΄μ—λŠ” λͺ¨λΈ κ°€μ€‘μΉ˜λ‚˜ μ»€μŠ€ν…€ λ…Έλ“œμ˜ μ½”λ“œκ°€ ν¬ν•¨λ˜μ§€ μ•ŠμœΌλ―€λ‘œ, 둜컬 ν™˜κ²½μ— ν•΄λ‹Ή λ…Έλ“œλ‚˜ λͺ¨λΈμ΄ 없을 경우 'Red Box' 였λ₯˜κ°€ λ°œμƒν•œλ‹€ [19, 20]. ## βš–οΈ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & updates) - **파일 ν™•μž₯자 혼용:** μ†ŒμŠ€μ— 따라 API μ „μš© 포맷을 `workflow_api.json`으둜, ν”„λ‘ νŠΈμ—”λ“œ 포맷을 `workflow.json`으둜 λͺ…ν™•νžˆ κ΅¬λΆ„ν•˜κΈ°λ„ ν•˜μ§€λ§Œ, 일반적인 λŒ€ν™”μ—μ„œλŠ” λͺ¨λ‘ 'μ›Œν¬ν”Œλ‘œμš° JSON'으둜 ν†΅μΉ­λ˜κΈ°λ„ ν•œλ‹€ [1, 21]. - **메타데이터 μ·¨μ•½μ„±:** PNG에 μž„λ² λ”©λœ JSON은 μ••μΆ• μ†Œν”„νŠΈμ›¨μ–΄λ‚˜ λ„€νŠΈμ›Œν¬ 전솑 μ‹œ μ†Œμ‹€λ  수 μžˆλ‹€λŠ” 점이 μ§€μ†μ μœΌλ‘œ μ§€μ λœλ‹€ [11, 18]. ## πŸ› οΈ 적용 사둀 (Applied in summary) - **comfyui-workflow-to-api-converter-endpoint:** ν΄λΌμ΄μ–ΈνŠΈ 츑의 μžλ°”μŠ€ν¬λ¦½νŠΈ λ‘œμ§μ„ 파이썬으둜 λ³€ν™˜ν•˜μ—¬, ν”„λ‘ νŠΈμ—”λ“œ ν˜•μ‹μ˜ JSON을 API ν˜•μ‹μœΌλ‘œ μ„œλ²„ μ‚¬μ΄λ“œμ—μ„œ λ³€ν™˜ν•˜λŠ” κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€ (컀밋 bc85382 μ°Έμ‘°) [15, 22, 23]. - **ComfyUI-to-Python-Extension:** ν”„λ‘ νŠΈμ—”λ“œ μ›Œν¬ν”Œλ‘œμš° 메타데이터λ₯Ό ν¬ν•¨ν•œ 슀크립트λ₯Ό μƒμ„±ν•˜μ—¬, μ €μž₯된 μ΄λ―Έμ§€μ—μ„œ μ›Œν¬ν”Œλ‘œμš°λ₯Ό μž¬μž„ν¬νŠΈν•  수 μžˆλ„λ‘ μ§€μ›ν•œλ‹€ [24, 25]. - **ComfyUI-WorkflowGenerator:** LLM을 톡해 μƒμ„±λœ 논리적 ꡬ쑰λ₯Ό μ΅œμ’…μ μœΌλ‘œ μ‹€ν–‰ κ°€λŠ₯ν•œ Frontend JSON λ˜λŠ” API JSON 포맷으둜 λΉŒλ“œν•˜λŠ” `WorkflowBuilder` λ…Έλ“œλ₯Ό ν¬ν•¨ν•œλ‹€ [26, 27]. ## βœ… 검증 μƒνƒœ 및 신뒰도 - **μƒνƒœ:** draft - **검증 단계:** conceptual (곡식 λ¬Έμ„œ 및 λ‹€μˆ˜μ˜ μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈμ—μ„œ 핡심 규격으둜 μ‚¬μš©λ¨) - **좜처 신뒰도:** B (곡식 λ¬Έμ„œ 및 기술 λΈ”λ‘œκ·Έ, GitHub 리포지토리λ₯Ό ν†΅ν•œ ꡐ차 검증 μ™„λ£Œ) - **쀑볡 검사 κ²°κ³Ό:** μ‹ κ·œ 생성 ## πŸ”— κ΄€λ ¨ λ¬Έμ„œ 링크 (Related document links) ### μƒμœ„/μœ μ‚¬ κ°œλ… #### [μ•„ν‚€ν…μ²˜/기반 기술] - [[Litegraph Standard]] - μ—°κ²° 이유: Frontend JSON 포맷의 ꡬ쑰적 근간이 λ˜λŠ” 라이브러리 κ·œκ²©μž„ [1]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: λ…Έλ“œ 배치 및 링크 λ Œλ”λ§ 원리. - [[Workflow.api.json (Backend Format)]] - μ—°κ²° 이유: Frontend JSONμ—μ„œ UI 정보λ₯Ό μ œκ±°ν•˜κ³  μ‹€ν–‰ νš¨μœ¨μ„±μ„ κ·ΉλŒ€ν™”ν•œ λŒ€μ‘ ν¬λ§·μž„ [1, 3]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ‹œκ°μ  ν‘œν˜„κ³Ό 논리적 μ‹€ν–‰ ꡬ쑰의 뢄리. #### [κ΅¬ν˜„/ν™œμš© 도ꡬ] - [[ComfyUI Manager]] - μ—°κ²° 이유: JSON λ‚΄μ˜ `class_type`을 λΆ„μ„ν•˜μ—¬ λˆ„λ½λœ μ»€μŠ€ν…€ λ…Έλ“œλ₯Ό μ„€μΉ˜ν•΄μ£ΌλŠ” ν•„μˆ˜ 관리 λ„κ΅¬μž„ [20]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: JSON 쒅속성 관리 및 ν™˜κ²½ 볡ꡬ ν”„λ‘œμ„ΈμŠ€. - [[Workflow Extractor]] - μ—°κ²° 이유: 이미지 메타데이터에 μˆ¨κ²¨μ§„ Frontend JSON을 μΆ”μΆœν•˜λŠ” μ „λ¬Έ λ„κ΅¬μž„ [28, 29]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: 메타데이터 보쑴 및 데이터 볡ꡬ 기술. ### 심측 후속 질문 (Deeper Research Questions) - Frontend JSON의 `order` ν•„λ“œκ°€ μ‹€μ œ λ°±μ—”λ“œμ˜ μ‹€ν–‰ μˆœμ„œμ™€ 항상 μΌμΉ˜ν•˜λŠ”κ°€? [14] - PNG μ΄λ―Έμ§€μ˜ `tEXt` 청크와 `zTXt` 청크 쀑 μ–΄λŠ 방식이 μ›Œν¬ν”Œλ‘œμš° 데이터 μ €μž₯에 더 μœ λ¦¬ν•œκ°€? [11] - `comfyui-workflow-to-api-converter-endpoint`λŠ” μ„œλΈŒκ·Έλž˜ν”„(Subgraph)κ°€ ν¬ν•¨λœ λ³΅μž‘ν•œ ν”„λ‘ νŠΈμ—”λ“œ JSON을 μ–΄λ–»κ²Œ μ²˜λ¦¬ν•˜λŠ”κ°€? [23, 30] - λ…Έλ“œ IDκ°€ λ¬Έμžμ—΄λ‘œ μ €μž₯될 λ•Œμ™€ 숫자둜 μ €μž₯될 λ•Œμ˜ μ‹œμŠ€ν…œ 처리 μ°¨μ΄λŠ” 무엇인가? [4, 6] - λͺ¨λΈ ν•΄μ‹±(Model Hashing) 기술이 JSON의 ν¬ν„°λΉŒλ¦¬ν‹°(Portability) 문제λ₯Ό μ–΄λ–»κ²Œ ν•΄κ²°ν•˜λŠ”κ°€? [31] - LLM이 μƒμ„±ν•œ 논리적 λ‹€μ΄μ–΄κ·Έλž¨μ„ ν‘œμ€€ V1.0 μŠ€ν‚€λ§ˆμ— 맞게 κ²€μ¦ν•˜λŠ” ꡬ체적인 λ©”μ»€λ‹ˆμ¦˜μ€ 무엇인가? [26, 32] ### 싀무 적용 λ§₯락 (Practical Application Contexts) - **Implementation:** μ»€μŠ€ν…€ μ•±μ—μ„œ μ›Œν¬ν”Œλ‘œμš°λ₯Ό λ‘œλ“œν•  λ•Œ, μš°μ„  Frontend 포맷으둜 λΆˆλŸ¬μ™€ μ‚¬μš©μžμ—κ²Œ μ‹œκ°μ μœΌλ‘œ 보여쀀 λ’€ μ‹€ν–‰ μ‹œμ μ—λ§Œ API 포맷으둜 λ³€ν™˜ν•˜μ—¬ μš”μ²­ν•œλ‹€ [33]. - **System Design:** 버전 관리 μ‹œμŠ€ν…œ(Git)에 μ›Œν¬ν”Œλ‘œμš°λ₯Ό μ €μž₯ν•  λ•Œ, μ‹œκ°μ  λ³€κ²½ 사항을 μΆ”μ ν•˜κΈ° μœ„ν•΄ Frontend 포맷을 μœ μ§€ν•˜λŠ” 것이 μœ λ¦¬ν•˜λ‹€ [34]. - **Operation / Maintenance:** μ‚¬μš©μžκ°€ κ³΅μœ ν•œ μ΄λ―Έμ§€μ—μ„œ μ›Œν¬ν”Œλ‘œμš°λ₯Ό 볡원할 수 μ—†λŠ” 경우, `exiftool` 등을 μ‚¬μš©ν•΄ 메타데이터 쑴재 μ—¬λΆ€λ₯Ό μ„ μ œμ μœΌλ‘œ ν™•μΈν•œλ‹€ [29, 35]. - **Learning Path:** μ΄ˆλ³΄μžλŠ” μ‹œκ°μ  λ…Έλ“œ μ—°κ²° 방식을 톡해 논리 ꡬ쑰λ₯Ό 읡히고, μˆ™λ ¨μžλŠ” JSON의 `widgets_values`λ₯Ό 직접 μˆ˜μ •ν•˜μ—¬ μžλ™ν™” 슀크립트λ₯Ό μž‘μ„±ν•œλ‹€ [13, 36]. ### 인접 μ£Όλ³€ 주제 (Adjacent Topics) - [[Custom Nodes]] - ν™•μž₯ λ°©ν–₯: JSON λ‚΄μ˜ `type` ν•„λ“œκ°€ μ‹€μ œ 파이썬 ν΄λž˜μŠ€μ™€ λ§€ν•‘λ˜λŠ” 방식 연ꡬ. - [[JSON Schema v1.0]] - ν™•μž₯ λ°©ν–₯: μ›Œν¬ν”Œλ‘œμš° 파일의 ꡬ쑰적 무결성을 κ²€μ¦ν•˜λŠ” 기술적 λͺ…μ„Έ 확인 [14]. ## πŸ“ λ³€κ²½ 이λ ₯ (Change history) - 2026-05-19: Initial draft generated via Datacollector_MAC P-Reinforce engine based on 18 sources.