--- id: api-json-(workflow_api.json) title: "API JSON (workflow_api.json)" category: "10_Wiki/Topics" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["Backend Format", "API Format JSON", "Execution Graph"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.85 created_at: 2026-05-20 updated_at: 2026-05-20 review_reason: "" merge_history: [] tags: ["research", "Comfyui workflow json 생성 방법", "API", "JSON"] raw_sources: ["NotebookLM Synthesis"] applied_in: ["SethRobinson/comfyui-workflow-to-api-converter-endpoint", "fofr/any-comfyui-workflow", "Mystic Pipeline", "ComfyUI-to-Python-Extension"] github_commit: "bc85382" --- # [[API JSON (workflow_api.json)]] ## 🎯 ν•œ 쀄 톡찰 (One-line insight) API JSON은 ComfyUI의 μ‹œκ°μ  메타데이터λ₯Ό μ œκ±°ν•˜κ³  λ°±μ—”λ“œ μ—”μ§„μ˜ 즉각적인 싀행을 μœ„ν•΄ μ΅œμ ν™”λœ κ²½λŸ‰ν™”λœ μ‹€ν–‰ κ·Έλž˜ν”„ ν˜•μ‹μ΄λ‹€ [1], [2], [3]. ## 🧠 핡심 κ°œλ… (Core concepts) - **λ°±μ—”λ“œ μ‹€ν–‰ κ·Έλž˜ν”„ (Backend Execution Graph):** λ…Έλ“œ μœ„μΉ˜, 크기, 색상 λ“±μ˜ UI 정보λ₯Ό λ°°μ œν•˜κ³  였직 λ…Έλ“œ μœ ν˜•, μž…λ ₯κ°’, μ—°κ²° κ΄€κ³„λ§Œμ„ ν¬ν•¨ν•˜λŠ” μ‹€ν–‰ μ „μš© 데이터 ꡬ쑰이닀 [1], [4], [3]. - **직접 링크 μž„λ² λ”© (Direct Link Embedding):** μ—°κ²° 정보가 λ³„λ„μ˜ 객체 λ°°μ—΄λ‘œ κ΄€λ¦¬λ˜μ§€ μ•Šκ³ , 각 λ…Έλ“œμ˜ μž…λ ₯ ν•„λ“œ 내에 μ†ŒμŠ€ λ…Έλ“œ ID와 좜λ ₯ 슬둯 번호의 μ°Έμ‘°(`[node_id, slot_index]`) ν˜•νƒœλ‘œ 직접 ν¬ν•¨λœλ‹€ [1], [2], [5]. - **개발자 λͺ¨λ“œ μ˜μ‘΄μ„± (Dev Mode Dependency):** ν‘œμ€€ 내보내기(Save)와 달리, ComfyUI μ„€μ •μ—μ„œ 'Enable Dev mode Options'λ₯Ό ν™œμ„±ν™”ν•΄μ•Όλ§Œ 생성 및 μˆ˜λ™ μΆ”μΆœμ΄ κ°€λŠ₯ν•˜λ‹€ [6], [7], [8], [9]. - **ν”„λ‘œκ·Έλž˜λ°μ  μ œμ–΄ (Programmatic Control):** ν…μŠ€νŠΈ ν”„λ‘¬ν”„νŠΈ, μ‹œλ“œ(Seed) λ“± μœ„μ ― 값을 λ…Έλ“œ IDλ₯Ό 톡해 직접 μˆ˜μ •ν•  수 μžˆμ–΄ μ™ΈλΆ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 및 μŠ€ν¬λ¦½νŠΈμ™€μ˜ μžλ™ν™” 연동에 핡심적인 역할을 ν•œλ‹€ [10], [11], [12]. ## 🧩 μΆ”μΆœλœ νŒ¨ν„΄ (Extracted patterns) - **UI-Stripping νŒ¨ν„΄:** μ‹œκ°μ  μš”μ†Œ(Litegraph 메타데이터)λ₯Ό μ‚­μ œν•˜μ—¬ 파일 크기λ₯Ό μΆ•μ†Œν•˜κ³  데이터 νŒŒμ‹± 속도λ₯Ό ν–₯μƒμ‹œν‚¨λ‹€ [1], [13], [3]. - **ID 기반 λ§΅ ꡬ쑰:** 전체 JSON ꡬ쑰가 λ…Έλ“œ IDλ₯Ό ν‚€(Key)둜 ν•˜κ³  λ…Έλ“œ μ •μ˜(Inputs, Class Type)λ₯Ό κ°’(Value)으둜 ν•˜λŠ” 단일 λ”•μ…”λ„ˆλ¦¬ ν˜•νƒœλ₯Ό μ·¨ν•œλ‹€ [10], [14]. - **μž…λ ₯ μš°μ„ μ£Όμ˜ (Execution Model Inversion):** λ°±μ—”λ“œ 엔진이 좜λ ₯ λ…Έλ“œ(Save Image λ“±)λ‘œλΆ€ν„° μ—­μΆ”μ ν•˜μ—¬ ν•„μš”ν•œ λ…Έλ“œλ§Œ μ‹€ν–‰ν•˜λ„λ‘ ν•˜λŠ” ꡬ쑰적 κΈ°λ°˜μ„ μ œκ³΅ν•œλ‹€ [15]. ## πŸ“– μ„ΈλΆ€ λ‚΄μš© (Details) - **데이터 ꡬ쑰 및 ꡬ성 μš”μ†Œ:** API JSON의 각 λ…Έλ“œ κ°μ²΄λŠ” ν•΄λ‹Ή λ…Έλ“œμ˜ 클래슀 이름을 λ‚˜νƒ€λ‚΄λŠ” `class_type`κ³Ό λ…Έλ“œμ— 전달될 데이터인 `inputs`λ₯Ό ν•„μˆ˜μ μœΌλ‘œ ν¬ν•¨ν•œλ‹€ [10], [3]. `inputs` λ‚΄μ—λŠ” μ‚¬μš©μžκ°€ 직접 μž…λ ₯ν•œ μœ„μ ― κ°’κ³Ό λ‹€λ₯Έ λ…Έλ“œμ—μ„œ μ „λ‹¬λ˜λŠ” 링크 정보가 κ³΅μ‘΄ν•œλ‹€ [5]. - **ν”„λ‘ νŠΈμ—”λ“œ ν˜•μ‹κ³Όμ˜ 차이:** μ‹œκ°μ  νŽΈμ§‘μ„ μœ„ν•œ `workflow.json`은 λ…Έλ“œ μœ„μΉ˜(`pos`), 크기(`size`), κ·Έλ£Ή 정보 등을 ν¬ν•¨ν•˜μ—¬ λ‹€μ‹œ λΆˆλŸ¬μ™”μ„ λ•Œ μΊ”λ²„μŠ€λ₯Ό μž¬κ΅¬μ„±ν•  수 있게 ν•˜μ§€λ§Œ, API JSON은 이λ₯Ό λͺ¨λ‘ μ œκ±°ν•˜μ—¬ "μŠ€μΌˆλ ˆν†€(skeleton)" μƒνƒœμ˜ λ°μ΄ν„°λ§Œ 남긴닀 [1], [13], [16]. - **생성 및 λ³€ν™˜ ν”„λ‘œμ„ΈμŠ€:** - **μˆ˜λ™ 생성:** ComfyUI μ„€μ • λ©”λ‰΄μ˜ κΈ°μ–΄ μ•„μ΄μ½˜μ„ ν΄λ¦­ν•˜μ—¬ 'Enable Dev mode Options'λ₯Ό ν™œμ„±ν™”ν•œ ν›„, 메뉴 상단에 λ‚˜νƒ€λ‚˜λŠ” 'Save (API Format)' λ²„νŠΌμ„ μ‚¬μš©ν•œλ‹€ [6], [7], [8]. - **μžλ™ μΆ”μΆœ:** ComfyUIμ—μ„œ μƒμ„±λœ PNG/WebP 파일의 메타데이터(tEXt λ˜λŠ” zTXt 청크)μ—μ„œ `prompt` νƒœκ·Έλ₯Ό 톡해 API ν˜•μ‹μ„ μΆ”μΆœν•  수 μžˆλ‹€ [17], [18], [19]. - **μ„œλ²„μΈ‘ λ³€ν™˜:** `comfyui-workflow-to-api-converter-endpoint`와 같은 μ»€μŠ€ν…€ λ…Έλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 일반 μ›Œν¬ν”Œλ‘œμš° JSON을 API ν˜•μ‹μœΌλ‘œ μ‹€μ‹œκ°„ λ³€ν™˜ν•˜μ—¬ `/prompt` μ—”λ“œν¬μΈνŠΈλ‘œ 전솑할 수 μžˆλ‹€ [20], [21]. - **μ‹€ν–‰ ν™˜κ²½μ—μ„œμ˜ ν™œμš©:** API JSON은 파이썬 μŠ€ν¬λ¦½νŠΈμ—μ„œ `urllib`μ΄λ‚˜ `requests`λ₯Ό 톡해 ComfyUI μ„œλ²„μ˜ `/prompt` 경둜둜 POST μš”μ²­μ„ 보낼 λ•Œ νŽ˜μ΄λ‘œλ“œ(Payload)둜 μ‚¬μš©λœλ‹€ [11], [22]. λ˜ν•œ Replicate와 같은 ν΄λΌμš°λ“œ ν”Œλž«νΌμ—μ„œ μ„œλ²„λ¦¬μŠ€ μ—”λ“œν¬μΈνŠΈλ₯Ό κ΅¬λ™ν•˜λŠ” κΈ°λ³Έ μ‚¬μ–‘μœΌλ‘œ μ±„νƒλœλ‹€ [23], [24], [4]. ## βš–οΈ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & updates) - **κ°€μ—­μ„± 상싀:** API JSON을 ComfyUI μΊ”λ²„μŠ€λ‘œ λ‹€μ‹œ λ“œλž˜κ·Έν•˜λ©΄ μ‹œκ°μ  λ ˆμ΄μ•„μ›ƒ 정보가 μ—†κΈ° λ•Œλ¬Έμ— λͺ¨λ“  λ…Έλ“œκ°€ κ²Ήμ³μ„œ λ‚˜νƒ€λ‚˜κ±°λ‚˜ κ·Έλ£Ή 정보가 μœ μ‹€λ˜μ–΄ μˆ˜λ™ νŽΈμ§‘μ΄ 맀우 μ–΄λ ΅λ‹€ [16]. λ”°λΌμ„œ νŽΈμ§‘μš© 'Full Workflow'λ₯Ό 항상 λ³„λ„λ‘œ λ³΄κ΄€ν•˜λŠ” 것이 ꢌμž₯λœλ‹€ [16]. - **버전 ν˜Έν™˜μ„± 주의:** ComfyUI의 μž¦μ€ μ—…λ°μ΄νŠΈλ‘œ 인해 이전 λ²„μ „μ—μ„œ μƒμ„±λœ API JSON이 μ΅œμ‹  λ°±μ—”λ“œ μ—”μ§„μ—μ„œ μœ νš¨ν•˜μ§€ μ•Šμ€ λ…Έλ“œ ν΄λž˜μŠ€λ‚˜ μž…λ ₯ 방식을 μ°Έμ‘°ν•  경우 μ‹€ν–‰ 였λ₯˜κ°€ λ°œμƒν•  수 μžˆλ‹€ [25], [26]. ## πŸ› οΈ 적용 사둀 (Applied in summary) - **SethRobinson/comfyui-workflow-to-api-converter-endpoint:** ν΄λΌμ΄μ–ΈνŠΈ 츑의 μžλ°”μŠ€ν¬λ¦½νŠΈ λ³€ν™˜ λ‘œμ§μ„ 파이썬으둜 κ΅¬ν˜„ν•˜μ—¬, μ„œλ²„ μΈ‘μ—μ„œ λΉ„-API μ›Œν¬ν”Œλ‘œμš°λ₯Ό API ν˜•μ‹μœΌλ‘œ μ¦‰μ‹œ λ³€ν™˜ν•΄μ£ΌλŠ” μ»€μŠ€ν…€ λ…Έλ“œ (Commit: `bc85382`) [27], [20]. - **fofr/any-comfyui-workflow (Replicate):** μ‚¬μš©μžκ°€ μ œκ³΅ν•œ API JSON λΈ”λ‘­(blob)을 ν•΄μ„ν•˜μ—¬ 이미지 및 λΉ„λ””μ˜€λ₯Ό μƒμ„±ν•˜λŠ” λ²”μš© API λͺ¨λΈ [23], [24]. - **Mystic Pipeline:** `new_pipeline.py` 슀크립트λ₯Ό 톡해 API JSON μ›Œν¬ν”Œλ‘œμš°λ₯Ό λ‘œλ“œν•˜κ³  μž…λ ₯ ν”„λ‘¬ν”„νŠΈλ₯Ό λ™μ μœΌλ‘œ μ£Όμž…ν•˜μ—¬ μ„œλ²„λ¦¬μŠ€ μ—”λ“œν¬μΈνŠΈλ‘œ λ°°ν¬ν•˜λŠ” ꡬ쑰 [9], [28]. - **ComfyUI-to-Python-Extension:** API JSON νŒŒμΌμ„ μž…λ ₯λ°›μ•„ λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰ κ°€λŠ₯ν•œ 파이썬 슀크립트(`.py`)둜 λ³€ν™˜ν•˜λŠ” 도ꡬ [29], [30]. ## βœ… 검증 μƒνƒœ 및 신뒰도 - **μƒνƒœ:** draft - **검증 단계:** conceptual (μ‹€μ œ 적용 사둀 λ‹€μˆ˜ 발견으둜 검증 κ°€λŠ₯μ„± λ†’μŒ) - **좜처 신뒰도:** B (곡식 λ¬Έμ„œ 및 μ£Όμš” μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈ 기술 사양 기반) - **쀑볡 검사 κ²°κ³Ό:** μ‹ κ·œ 생성 (New discovery) ## πŸ“ λ³€κ²½ 이λ ₯ (Change history) - 2026-05-20: Initial draft generated via Datacollector_MAC P-Reinforce engine.