--- id: workflow-api-json title: "Workflow API JSON" category: "10_Wiki/Topics" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["workflow_api.json", "Backend Format"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.95 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: ["SethRobinson/comfyui-workflow-to-api-converter-endpoint", "pydn/ComfyUI-to-Python-Extension", "DanielPFlorian/ComfyUI-WorkflowGenerator", "deimos-deimos/comfy_api_simplified"] github_commit: "" --- # [[Workflow API JSON]] ## 🎯 ν•œ 쀄 톡찰 (One-line insight) Workflow API JSON은 μ‹œκ°μ  메타데이터λ₯Ό μ œκ±°ν•˜κ³  λ…Έλ“œ κ°„μ˜ 순수 μ‹€ν–‰ 둜직과 μ—°κ²°μ„±λ§Œμ„ μ΅œμ ν™”ν•˜μ—¬ μ œκ³΅ν•˜λŠ” ComfyUI의 μ„œλ²„ μΈ‘ μ‹€ν–‰ μΈν„°νŽ˜μ΄μŠ€μš© 핡심 데이터 κ·œκ²©μ΄λ‹€ [1, 2]. ## 🧠 핡심 κ°œλ… (Core concepts) - **λ°±μ—”λ“œ μ‹€ν–‰ μ΅œμ ν™” (Backend Optimization):** ν”„λ‘ νŠΈμ—”λ“œμš© μ‹œκ°μ  정보(μœ„μΉ˜, 크기, 색상)λ₯Ό μ œμ™Έν•˜κ³  였직 `/prompt` μ—”λ“œν¬μΈνŠΈ 싀행에 ν•„μš”ν•œ λ°μ΄ν„°λ§Œ ν¬ν•¨ν•œλ‹€ [1-3]. - **λ…Έλ“œ-슬둯 μ—°κ²°μ„± (Node-Slot Connectivity):** λ³„λ„μ˜ μ—°κ²° 객체 λŒ€μ‹  λ…Έλ“œ μž…λ ₯(inputs) 내에 직접 [원본 λ…Έλ“œ ID, 좜λ ₯ 슬둯 인덱슀] ν˜•μ‹μœΌλ‘œ μ—°κ²° 정보λ₯Ό μž„λ² λ”©ν•œλ‹€ [1, 4, 5]. - **고유 μ‹λ³„μž 체계 (Unique ID System):** 각 λ…Έλ“œλŠ” κ³ μœ ν•œ μˆ«μžν˜• λ¬Έμžμ—΄ ν‚€(예: "5", "6")둜 μ‹λ³„λ˜λ©°, μ΄λŠ” μ‹€ν–‰ κ·Έλž˜ν”„ λ‚΄μ—μ„œ 데이터 흐름을 μΆ”μ ν•˜λŠ” 기쀀이 λœλ‹€ [1, 3, 6]. - **직렬화 μœ μ—°μ„± (Serialization Flexibility):** μ‚¬λžŒμ΄ 읽을 수 μžˆλŠ” JSON ν˜•μ‹μ„ μ·¨ν•˜λ©°, λŒ€κ·œλͺ¨ λͺ¨λΈ κ°€μ€‘μΉ˜μ™€ λ³„κ°œλ‘œ μ›Œν¬ν”Œλ‘œμš° 둜직의 배포, 버전 관리 및 μžλ™ν™”λ₯Ό κ°€λŠ₯ν•˜κ²Œ ν•œλ‹€ [7-9]. ## 🧩 μΆ”μΆœλœ νŒ¨ν„΄ (Extracted patterns) - **UI 메타데이터 μŠ€νŠΈλ¦¬ν•‘ (Metadata Stripping):** μ‹œκ°μ  νŽΈμ§‘μš© `workflow.json`μ—μ„œ API 호좜용 `workflow_api.json`으둜 μ „ν™˜ μ‹œ `pos`, `size`, `groups`와 같은 ν•„λ“œλ₯Ό μ œκ±°ν•˜μ—¬ 파일 크기λ₯Ό μΆ•μ†Œν•˜κ³  처리 νš¨μœ¨μ„ 높인닀 [1, 2, 5]. - **μ‹€ν–‰ λͺ¨λΈ 인버전 (Execution Model Inversion):** 엔진이 'Save Image'와 같은 좜λ ₯ λ…Έλ“œμ—μ„œ μ—­λ°©ν–₯으둜 κ·Έλž˜ν”„λ₯Ό νƒμƒ‰ν•˜μ—¬ ν•„μˆ˜ μ’…μ†μ„±λ§Œ μ‹€ν–‰ν•˜κ³  λΆˆν•„μš”ν•œ λ…Έλ“œλŠ” λ¬΄μ‹œν•˜λŠ” ꡬ쑰λ₯Ό μ·¨ν•œλ‹€ [10]. - **μž…λ ₯ 데이터 μΈμ μ…˜ (Input Injection):** μžλ™ν™” μ‹œ JSON λ‚΄μ˜ νŠΉμ • λ…Έλ“œ IDλ₯Ό μ°Ύμ•„ μ‹œλ“œ(seed), ν”„λ‘¬ν”„νŠΈ(prompt), λ˜λŠ” Base64 μΈμ½”λ”©λœ 이미지 데이터λ₯Ό λ™μ μœΌλ‘œ κ΅μ²΄ν•˜μ—¬ μ‹€ν–‰ν•œλ‹€ [6, 11-13]. ## πŸ“– μ„ΈλΆ€ λ‚΄μš© (Details) ComfyUI의 μ›Œν¬ν”Œλ‘œμš° 직렬화 ν˜•μ‹μ€ 크게 **ν”„λ‘ νŠΈμ—”λ“œ 포맷**κ³Ό **λ°±μ—”λ“œ(API) 포맷**으둜 μ΄λΆ„ν™”λœλ‹€ [1, 2, 14]. API JSON은 μ„œλ²„ μΈ‘ 엔진이 ν”„λ‘¬ν”„νŠΈλ₯Ό μ‹€ν–‰ν•˜λŠ” 데 ν•„μš”ν•œ μ΅œμ†Œν•œμ˜ 논리 κ·Έλž˜ν”„λ₯Ό λ‚˜νƒ€λ‚΄λ©°, `Litegraph` ν‘œμ€€μ„ λ”°λ₯΄λŠ” ν”„λ‘ νŠΈμ—”λ“œ 포맷과 달리 맀우 κ°„κ²°ν•œ ꡬ쑰λ₯Ό κ°–λŠ”λ‹€ [1, 3, 15]. - **생성 방법:** μ‚¬μš©μžλŠ” μ„€μ • λ©”λ‰΄μ—μ„œ "Dev mode Options"λ₯Ό ν™œμ„±ν™”ν•΄μ•Ό ν•˜λ©°, 이후 μ œμ–΄νŒμ— λ‚˜νƒ€λ‚˜λŠ” "Save (API Format)" λ˜λŠ” "Export (API)" λ²„νŠΌμ„ 톡해 이 νŒŒμΌμ„ 생성할 수 μžˆλ‹€ [16-20]. - **ꡬ쑰적 νŠΉμ§•:** 루트 ν‚€λŠ” λ…Έλ“œ ID이며, 각 값은 `class_type`κ³Ό `inputs`λ₯Ό ν¬ν•¨ν•˜λŠ” 객체이닀 [6, 20]. 예λ₯Ό λ“€μ–΄, νŠΉμ • λ…Έλ“œμ˜ μž…λ ₯ ν•„λ“œμ— `[ "20", 1 ]`κ³Ό 같은 배열이 μžˆλ‹€λ©΄ μ΄λŠ” 20번 λ…Έλ“œμ˜ 2번 슬둯(인덱슀 1) 좜λ ₯이 μ—°κ²°λ˜μ—ˆμŒμ„ μ˜λ―Έν•œλ‹€ [4]. - **메타데이터 μž„λ² λ”©:** ComfyUIμ—μ„œ μƒμ„±λœ PNG λ˜λŠ” WebP μ΄λ―Έμ§€μ—λŠ” ν”„λ‘ νŠΈμ—”λ“œ μ›Œν¬ν”Œλ‘œμš°μ™€ API ν”„λ‘¬ν”„νŠΈ(JSON ν˜•μ‹)κ°€ λͺ¨λ‘ 메타데이터(tEXt λ˜λŠ” zTXt 청크)둜 μ €μž₯λ˜μ–΄ μžˆμ–΄, 이미지 자체λ₯Ό μΈν„°νŽ˜μ΄μŠ€λ‘œ λ“œλž˜κ·Έν•˜μ—¬ λ‘œμ§μ„ 볡ꡬ할 수 μžˆλ‹€ [21-24]. - **ν”„λ‘œκ·Έλž˜λ° λ°©μ‹μ˜ μ‘°μž‘:** 파이썬의 `json` 라이브러리λ₯Ό μ‚¬μš©ν•˜μ—¬ λ”•μ…”λ„ˆλ¦¬ ꡬ쑰λ₯Ό 직접 μˆ˜μ •ν•˜κ±°λ‚˜, `comfy_api_simplified`와 같은 래퍼 라이브러리λ₯Ό 톡해 λ…Έλ“œ 제λͺ© 기반으둜 νŒŒλΌλ―Έν„°λ₯Ό λ™μ μœΌλ‘œ λ³€κ²½ν•˜μ—¬ λŒ€λŸ‰μ˜ 이미지λ₯Ό μžλ™ 생성할 수 μžˆλ‹€ [6, 25-27]. ## βš–οΈ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & updates) - **가독성 vs νŽΈμ§‘μ„±:** API 포맷은 μ‹€ν–‰μ—λŠ” νš¨μœ¨μ μ΄λ‚˜, μ‹œκ°μ  정보가 κ²°μ—¬λ˜μ–΄ μžˆμ–΄ λ‹€μ‹œ ComfyUI μΈν„°νŽ˜μ΄μŠ€λ‘œ 뢈러올 경우 λ…Έλ“œλ“€μ΄ 겹쳐 λ³΄μ΄κ±°λ‚˜ ꡬ쑰 νŒŒμ•…μ΄ μ–΄λ €μš΄ 'μŠ€μΌˆλ ˆν†€' μƒνƒœκ°€ λœλ‹€ [28-30]. - **파일 포맷 ν˜Έν™˜μ„±:** ComfyUIκ°€ λΉˆλ²ˆν•˜κ²Œ μ—…λ°μ΄νŠΈλ¨μ— 따라 κ΅¬λ²„μ „μ˜ JSON 파일이 μ΅œμ‹  λ²„μ „μ—μ„œ μ œλŒ€λ‘œ μž‘λ™ν•˜μ§€ μ•Šμ„ 수 μžˆλŠ” ν˜Έν™˜μ„± λ¬Έμ œκ°€ μ‘΄μž¬ν•œλ‹€ [31, 32]. - **μ»€μŠ€ν…€ λ…Έλ“œ μ˜μ‘΄μ„±:** JSON μžμ²΄μ—λŠ” 둜직만 ν¬ν•¨λ˜λ―€λ‘œ, μ›Œν¬ν”Œλ‘œμš° μƒμ„±μžκ°€ μ‚¬μš©ν•œ λ™μΌν•œ μ»€μŠ€ν…€ λ…Έλ“œκ°€ 둜컬 ν™˜κ²½μ— μ„€μΉ˜λ˜μ–΄ μžˆμ§€ μ•ŠμœΌλ©΄ 'Red Box' 였λ₯˜κ°€ λ°œμƒν•˜λ©° 싀행이 λΆˆκ°€λŠ₯ν•˜λ‹€ [33, 34]. ## πŸ› οΈ 적용 사둀 (Applied in summary) - **comfyui-workflow-to-api-converter-endpoint:** ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œ JS λ‘œμ§μ„ 파이썬으둜 λ³€ν™˜ν•˜μ—¬ μ„œλ²„ μΈ‘μ—μ„œ 일반 μ›Œν¬ν”Œλ‘œμš°λ₯Ό API 포맷으둜 μ¦‰μ‹œ λ³€ν™˜ν•˜λŠ” μ—”λ“œν¬μΈνŠΈλ₯Ό μ œκ³΅ν•œλ‹€ [28, 35]. - **ComfyUI-to-Python-Extension:** `.json` μ›Œν¬ν”Œλ‘œμš°λ₯Ό 독립 μ‹€ν–‰ κ°€λŠ₯ν•œ `.py` 슀크립트둜 λ³€ν™˜ν•˜μ—¬ ν—€λ“œλ¦¬μŠ€(headless) ν™˜κ²½μ—μ„œ μ‹€ν–‰ν•  수 있게 ν•œλ‹€ [25, 36]. - **ComfyUI-WorkflowGenerator:** LLM(Qwen2.5 λ“±)을 μ‚¬μš©ν•˜μ—¬ μžμ—°μ–΄ μ„€λͺ…을 μ‹€ν–‰ κ°€λŠ₯ν•œ API JSON κ·Έλž˜ν”„λ‘œ ν•©μ„±ν•˜κ³  μœ νš¨μ„±μ„ κ²€μ¦ν•œλ‹€ [37-39]. - **fofr/any-comfyui-workflow (Replicate):** ν΄λΌμš°λ“œ ν™˜κ²½μ—μ„œ JSON λΈ”λ‘­(blob)을 μž…λ ₯λ°›μ•„ APIλ₯Ό 톡해 μ›Œν¬ν”Œλ‘œμš°λ₯Ό μ‹€ν–‰ν•˜κ³  κ²°κ³Όλ₯Ό λ°˜ν™˜ν•œλ‹€ [40, 41]. ## βœ… 검증 μƒνƒœ 및 신뒰도 - **μƒνƒœ:** draft - **검증 단계:** conceptual (곡식 λ¬Έμ„œ 및 μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈ μ½”λ“œλ₯Ό 톡해 데이터 규격 및 생성 방식 확인됨) [42, 43] - **좜처 신뒰도:** B (Official Documentation / GitHub Repository / Expert Tutorial) - **쀑볡 검사 κ²°κ³Ό:** μ‹ κ·œ 생성 (New discovery) ## πŸ”— κ΄€λ ¨ λ¬Έμ„œ 링크 (Related document links) ### μƒμœ„/μœ μ‚¬ κ°œλ… #### [μ•„ν‚€ν…μ²˜/기반 기술] - [[Litegraph Standard]] - μ—°κ²° 이유: ComfyUI ν”„λ‘ νŠΈμ—”λ“œ JSON이 μ‹œκ°μ  ν‘œν˜„μ„ μœ„ν•΄ μ±„νƒν•œ 기반 ν‘œμ€€μž„ [1, 15]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: API 포맷으둜 μ „ν™˜ μ‹œ μ œκ±°λ˜λŠ” UI λ©”νƒ€λ°μ΄ν„°μ˜ ꡬ쑰적 κ·Όκ±° [1, 2]. - [[Directed Acyclic Graph (DAG)]] - μ—°κ²° 이유: ComfyUI μ›Œν¬ν”Œλ‘œμš°μ˜ 근본적인 데이터 흐름 κ΅¬μ‘°μž„ [7, 44]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: λ…Έλ“œ κ°„ μ—°κ²°μ„±κ³Ό μ‹€ν–‰ μˆœμ„œκ°€ κ²°μ •λ˜λŠ” 논리적 원리 [7, 10]. #### [κ΅¬ν˜„/ν™œμš© 도ꡬ] - [[ComfyUI Manager]] - μ—°κ²° 이유: JSON λ‘œλ“œ μ‹œ λ°œμƒν•˜λŠ” λˆ„λ½λœ λ…Έλ“œ 및 λͺ¨λΈ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” ν•„μˆ˜ λ„κ΅¬μž„ [33, 34, 45]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ›Œν¬ν”Œλ‘œμš° 배포 μ‹œ λ°œμƒν•˜λŠ” μ˜μ‘΄μ„± 관리 μ „λž΅ [34, 46]. - [[/prompt endpoint]] - μ—°κ²° 이유: API 포맷 JSON이 μ΅œμ’…μ μœΌλ‘œ μ „μ†‘λ˜μ–΄ μ²˜λ¦¬λ˜λŠ” λͺ©μ μ§€μž„ [2, 16, 28]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: ν΄λΌμ΄μ–ΈνŠΈ-μ„œλ²„ κ°„μ˜ μ‹€μ œ 톡신 λ©”μ»€λ‹ˆμ¦˜ [12, 13]. ### 심측 후속 질문 (Deeper Research Questions) - API JSON λ‚΄μ—μ„œ 링크 정보λ₯Ό 별도 배열이 μ•„λ‹Œ λ…Έλ“œ μž…λ ₯(inputs) 내에 직접 μž„λ² λ”©ν•˜λŠ” 방식이 μ‹€ν–‰ νš¨μœ¨μ„±μ— λ―ΈμΉ˜λŠ” 영ν–₯은 무엇인가? [1, 4] - LLM 기반의 μ›Œν¬ν”Œλ‘œμš° 생성 λͺ¨λΈμ€ ν•™μŠ΅ 데이터 이후에 μΆœμ‹œλœ μƒˆλ‘œμš΄ μ»€μŠ€ν…€ λ…Έλ“œμ˜ I/O μŠ€ν‚€λ§ˆλ₯Ό μ–΄λ–»κ²Œ λ™μ μœΌλ‘œ ν•™μŠ΅ν•˜κ³  λ°˜μ˜ν•  수 μžˆλŠ”κ°€? [44, 47, 48] - `object_info.json`을 ν™œμš©ν•˜μ—¬ λ™μ μœΌλ‘œ μƒμ„±λœ API JSON의 μœ νš¨μ„±μ„ λŸ°νƒ€μž„μ— κ²€μ¦ν•˜λŠ” ꡬ체적인 μ•Œκ³ λ¦¬μ¦˜μ€ μ–΄λ–»κ²Œ μ„€κ³„λ˜λŠ”κ°€? [20, 49] - μ‹€ν–‰ λͺ¨λΈ 인버전(Execution Model Inversion) κ³Όμ •μ—μ„œ 쑰건뢀 λΆ„κΈ°λ‚˜ 반볡 루프가 ν¬ν•¨λœ λ³΅μž‘ν•œ κ·Έλž˜ν”„μ˜ 쒅속성을 μ–΄λ–»κ²Œ μΆ”μ ν•˜λŠ”κ°€? [10] - λͺ¨λΈ ν•΄μ‹±(Model Hashing)을 톡해 ν•˜λ“œμ½”λ”©λœ 파일 경둜 문제λ₯Ό ν•΄κ²°ν•  λ•Œ, μ„œλ‘œ λ‹€λ₯Έ λ¨Έμ‹  κ°„μ˜ λͺ¨λΈ 버전 일관성을 보μž₯ν•˜λŠ” 방법은 무엇인가? [32, 46] ### 싀무 적용 λ§₯락 (Practical Application Contexts) - **Implementation:** λ°°λ„ˆ κ΄‘κ³  μžλ™ 생성 μ‹œμŠ€ν…œ ꡬ좕 μ‹œ, ν…œν”Œλ¦Ώ JSON의 νŠΉμ • λ…Έλ“œ(예: CLIPTextEncode)λ₯Ό 파이썬 슀크립트둜 μˆ˜μ •ν•˜μ—¬ μžλ™ν™”ν•  수 있음 [12, 50]. - **System Design:** μ„œλ²„λ¦¬μŠ€ ν™˜κ²½(Mystic, Replicate λ“±)μ—μ„œ μ›Œν¬ν”Œλ‘œμš°λ₯Ό 배포할 λ•Œ UI 정보λ₯Ό μ œκ±°ν•œ μ΅œμ ν™”λœ API JSON을 κΈ°λ³Έ μ‹€ν–‰ λ‹¨μœ„λ‘œ 섀정함 [5, 19, 51]. - **Operation / Maintenance:** `comfyui-workflow-to-api-converter-endpoint`λ₯Ό μ‚¬μš©ν•˜μ—¬ ν”„λ‘ νŠΈμ—”λ“œ μ›Œν¬ν”Œλ‘œμš°λ§Œ κ΄€λ¦¬ν•˜κ³  μ‹€ν–‰ 직전에 API 포맷으둜 λ³€ν™˜ν•¨μœΌλ‘œμ¨ 관리 포인트의 이원화λ₯Ό 방지함 [29, 35]. - **Learning Path:** μ΄ˆλ³΄μžλŠ” μ‹œκ°μ  κ·Έλž˜ν”„λ₯Ό 톡해 λ‘œμ§μ„ μ΄ν•΄ν•˜κ³ , μˆ™λ ¨μžλŠ” 개발자 λͺ¨λ“œλ₯Ό 톡해 μΆ”μΆœλœ JSON의 λ…Έλ“œ ID와 νŒŒλΌλ―Έν„° ꡬ쑰λ₯Ό λΆ„μ„ν•˜μ—¬ μ½”λ”© λ°©μ‹μ˜ μ œμ–΄λ‘œ 전이함 [52-54]. ### 인접 μ£Όλ³€ 주제 (Adjacent Topics) - [[Base64 Image Encoding]] - ν™•μž₯ λ°©ν–₯: API μš”μ²­ μ‹œ 둜컬 파일 경둜 λŒ€μ‹  이미지 데이터λ₯Ό JSON에 직접 ν¬ν•¨ν•˜λŠ” 기술적 κ΅¬ν˜„ 방법 [11, 13]. - [[RAG (Retrieval-Augmented Generation)]] - ν™•μž₯ λ°©ν–₯: 정적 λͺ¨λΈμ˜ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ μ‹€μ‹œκ°„ λ…Έλ“œ 라이브러리λ₯Ό κ²€μƒ‰ν•˜μ—¬ μ›Œν¬ν”Œλ‘œμš°λ₯Ό μƒμ„±ν•˜λŠ” μ°¨μ„ΈλŒ€ AI μ—μ΄μ „νŠΈ 섀계 [44]. ## πŸ“ λ³€κ²½ 이λ ₯ (Change history) - 2026-05-19: Initial draft generated via Datacollector_MAC P-Reinforce engine. (Based on 18 sources) [1-200]