--- id: serialization-formats title: "Serialization Formats" category: "10_Wiki/Topics" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["Workflow JSON Formats", "Frontend vs API Format"] 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 ์ƒ์„ฑ ๋ฐฉ๋ฒ•"] raw_sources: ["NotebookLM Synthesis"] applied_in: ["workflow.json", "workflow_api.json", "object_info.json", "bc85382"] github_commit: "bc85382" --- # [[Serialization Formats]] ## ๐ŸŽฏ ํ•œ ์ค„ ํ†ต์ฐฐ (One-line insight) ComfyUI ์ง๋ ฌํ™”๋Š” ์ธ๊ฐ„์˜ ์‹œ๊ฐ์  ํŽธ์ง‘์„ ์œ„ํ•œ **Frontend ํฌ๋งท(UI ๋ฐ์ดํ„ฐ ํฌํ•จ)**๊ณผ ์„œ๋ฒ„ ๋ฐ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์„ ์œ„ํ•œ **API ํฌ๋งท(์ˆœ์ˆ˜ ๋กœ์ง)**์œผ๋กœ ์ด์›ํ™”๋˜์–ด ์›Œํฌํ”Œ๋กœ์šฐ์˜ ๊ฐ€์‹œ์„ฑ๊ณผ ์‹คํ–‰ ํšจ์œจ์„ฑ์„ ๋™์‹œ์— ํ™•๋ณดํ•œ๋‹ค [1-4]. ## ๐Ÿง  ํ•ต์‹ฌ ๊ฐœ๋… (Core concepts) 1. **Frontend Format (workflow.json):** Litegraph ํ‘œ์ค€์„ ๋”ฐ๋ฅด๋ฉฐ ๋…ธ๋“œ ์œ„์น˜, ํฌ๊ธฐ, ๊ทธ๋ฃนํ™” ๋“ฑ ์‹œ๊ฐ์  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์žฌ๊ตฌ์„ฑ์„ ์ง€์›ํ•œ๋‹ค [1, 2, 5]. 2. **Backend/API Format (workflow_api.json):** ์‹œ๊ฐ์  ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋…ธ๋“œ ์ž…๋ ฅ๊ฐ’๊ณผ ์—ฐ๊ฒฐ ๊ด€๊ณ„๋งŒ ํฌํ•จ๋œ ์ŠคํŠธ๋ฆผ๋ผ์ธ ์‹คํ–‰ ๊ทธ๋ž˜ํ”„๋กœ, `/prompt` ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ†ตํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์  ํ˜ธ์ถœ์— ์ตœ์ ํ™”๋˜์–ด ์žˆ๋‹ค [1, 2, 6]. 3. **Metadata Injection:** PNG ๋˜๋Š” WebP ์ด๋ฏธ์ง€ ์ƒ์„ฑ ์‹œ, tEXt ๋˜๋Š” zTXt ์ฒญํฌ ๋‚ด๋ถ€์— Frontend ์›Œํฌํ”Œ๋กœ์šฐ์™€ API ํ”„๋กฌํ”„ํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์‚ฝ์ž…ํ•˜์—ฌ ์ด๋ฏธ์ง€๋ฅผ ์›Œํฌํ”Œ๋กœ์šฐ ์ปจํ…Œ์ด๋„ˆ๋กœ ํ™œ์šฉํ•œ๋‹ค [7-9]. 4. **Schema Specification (v1.0):** ๋…ธ๋“œ ID, ์œ ํ˜•, ์œ„์น˜(pos), ํฌ๊ธฐ(size), ์‹คํ–‰ ์ˆœ์„œ(order) ๋ฐ ๋ชจ๋“œ(mode) ๋“ฑ ๊ทธ๋ž˜ํ”„ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ ์  ์ œ์•ฝ ์กฐ๊ฑด์„ ์ •์˜ํ•œ๋‹ค [10-12]. ## ๐Ÿงฉ ์ถ”์ถœ๋œ ํŒจํ„ด (Extracted patterns) - **Bifurcation Pattern (์ด์›ํ™” ํŒจํ„ด):** ๋™์ผํ•œ ๋กœ์ง์„ ์‹œ๊ฐ์  ๋ ˆ์ด์•„์›ƒ์šฉ(Frontend)๊ณผ ์‹คํ–‰์šฉ(API)์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์ €์žฅํ•จ์œผ๋กœ์จ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ API ํ™•์žฅ์„ฑ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ด€๋ฆฌํ•œ๋‹ค [1, 2]. - **Link Embedding Strategy:** API ํฌ๋งท์—์„œ๋Š” ๋ช…์‹œ์ ์ธ ์—ฐ๊ฒฐ ๊ฐ์ฒด ๋Œ€์‹  ๋…ธ๋“œ ์ž…๋ ฅ ํ•„๋“œ ๋‚ด์— '๊ธฐ์› ๋…ธ๋“œ ID'์™€ '์ถœ๋ ฅ ์Šฌ๋กฏ ์ธ๋ฑ์Šค'๋ฅผ ์ง์ ‘ ์ฐธ์กฐ(์˜ˆ: `[13, 14]`)ํ•˜์—ฌ ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ๋ฅผ ๋‹จ์ˆœํ™”ํ•œ๋‹ค [1, 15]. - **Schema Validation Pattern:** `object_info.json`์„ ํ†ตํ•ด ์‹คํ–‰ ์ธ์Šคํ„ด์Šค์˜ ๋…ธ๋“œ ์Šคํ‚ค๋งˆ(์ž…์ถœ๋ ฅ ์œ ํ˜•, ๋ฒ”์œ„ ๋“ฑ)๋ฅผ ์นดํƒˆ๋กœ๊ทธํ™”ํ•˜๊ณ , ์‹คํ–‰ ์ „ `validate_prompt` ํ•จ์ˆ˜๋กœ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์ฆํ•œ๋‹ค [16-18]. ## ๐Ÿ“– ์„ธ๋ถ€ ๋‚ด์šฉ (Details) - **Frontend JSON ๊ตฌ์กฐ ๋ฐ ํŠน์ง•:** - ๋…ธ๋“œ ์‹๋ณ„์„ ์œ„ํ•ด ๊ณ ์œ ํ•œ ์‹œ๊ฐ์  ID(์ˆซ์ž ๋ฌธ์ž์—ด)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋…ธ๋“œ๊ฐ€ ์ถ•์†Œ๋˜๊ฑฐ๋‚˜ ๊ณ ์ •๋˜์—ˆ๋Š”์ง€์™€ ๊ฐ™์€ ์‹œ๊ฐ์  ํ”Œ๋ž˜๊ทธ๋ฅผ ์œ ์ง€ํ•œ๋‹ค [1, 19]. - `links` ๋ฐฐ์—ด์„ ๋ณ„๋„๋กœ ๋‘์–ด ๋…ธ๋“œ ๊ฐ„์˜ ๋ฌผ๋ฆฌ์  ์—ฐ๊ฒฐ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๋ฉฐ, 6๊ฐœ ํ•ญ๋ชฉ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฐฐ์—ด ํ˜•์‹์„ ํ†ตํ•ด ๊ธฐ์›/๋Œ€์ƒ ๋…ธ๋“œ ๋ฐ ์Šฌ๋กฏ ์ •๋ณด๋ฅผ ๋ช…์‹œํ•œ๋‹ค [3, 11, 19]. - **API JSON ๊ตฌ์กฐ ๋ฐ ํŠน์ง•:** - ๋ถˆํ•„์š”ํ•œ UI ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ์••์ถ•ํ•˜๊ณ  ์ „์†ก ํšจ์œจ์„ ๋†’์ธ๋‹ค [1, 2, 6]. - ํ‚ค๊ฐ’์€ ๋…ธ๋“œ ID๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ฐ ๊ฐ’์€ `class_type`๊ณผ `inputs`๋ฅผ ํฌํ•จํ•œ ๊ฐ์ฒด์ด๋‹ค. ์ž…๋ ฅ ํ•„๋“œ์—๋Š” ์œ„์ ฏ ๊ฐ’ ๋˜๋Š” ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ์˜ ๋งํฌ ์ฐธ์กฐ๊ฐ€ ํฌํ•จ๋œ๋‹ค [6, 18, 20]. - **๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹:** - PNG ํŒŒ์ผ์˜ ๊ฒฝ์šฐ, ComfyUI๋Š” ์›Œํฌํ”Œ๋กœ์šฐ(Frontend)์™€ ํ”„๋กฌํ”„ํŠธ(API)๋ฅผ ๋ณ„๊ฐœ์˜ ๋ฌธ์ž์—ด๋กœ ์ €์žฅํ•œ๋‹ค. ์ด๋Š” ์ด๋ฏธ์ง€๋ฅผ UI๋กœ ๋“œ๋ž˜๊ทธํ–ˆ์„ ๋•Œ ์‹œ๊ฐ์  ํŽธ์ง‘์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ๊ณผ ๋™์‹œ์— ํ”„๋กœ๊ทธ๋ž˜๋ฐ์  ์žฌ์‹คํ–‰์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์ค‘๋ณต ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค [8]. - ๋‹จ, ์ด๋ฏธ์ง€ ํŽธ์ง‘ ์†Œํ”„ํŠธ์›จ์–ด๋‚˜ ์†Œ์…œ ๋ฏธ๋””์–ด ํ”Œ๋žซํผ์„ ๊ฑฐ์น  ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ๋น„ํ•„์ˆ˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ฒญํฌ๊ฐ€ ์†์‹ค๋  ์œ„ํ—˜์ด ํฌ๋‹ค [8, 21]. - **๊ธฐํƒ€ ์ฃผ์š” ์ง๋ ฌํ™” ์•„ํ‹ฐํŒฉํŠธ:** - `object_info.json`: ์‹คํ–‰ ์ค‘์ธ ComfyUI ์ธ์Šคํ„ด์Šค์˜ ๋ชจ๋“  ๋…ธ๋“œ ์Šคํ‚ค๋งˆ ๋“ฑ๋ก๋ถ€๋กœ, ์ž…์ถœ๋ ฅ ์œ ํ˜•, ํ—ˆ์šฉ ๋ฒ”์œ„, ํˆดํŒ ๋“ฑ์„ ํฌํ•จํ•˜์—ฌ ๋„๊ตฌ ๊ฐœ๋ฐœ์ด๋‚˜ ์ž…๋ ฅ๊ฐ’ ๊ฒ€์ฆ์— ์‚ฌ์šฉ๋œ๋‹ค [5, 17, 18]. ## โš–๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & updates) - **ํ•˜์œ„ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ:** ComfyUI๊ฐ€ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์—…๋ฐ์ดํŠธ๋จ์— ๋”ฐ๋ผ, ์ด์ „ ๋ฒ„์ „์—์„œ ์ƒ์„ฑ๋œ JSON ํŒŒ์ผ์ด ์ตœ์‹  ๋ฒ„์ „์˜ ComfyUI์—์„œ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ๋ช…์‹œ๋˜์–ด ์žˆ๋‹ค [22]. - **๋ฐ์ดํ„ฐ ์œ ์‹ค ๊ฐ€๋Šฅ์„ฑ:** ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜ ์ง๋ ฌํ™”๋Š” ํŽธ๋ฆฌํ•˜์ง€๋งŒ, ์••์ถ• ์†Œํ”„ํŠธ์›จ์–ด๋‚˜ ๋„คํŠธ์›Œํฌ ์ „์†ก ์‹œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์ œ๊ฑฐ๋  ์ˆ˜ ์žˆ์–ด JSON ํŒŒ์ผ ํ˜•ํƒœ์˜ ๋ณ„๋„ ์ €์žฅ์ด ๊ถŒ์žฅ๋œ๋‹ค [8, 22, 23]. ## ๐Ÿ› ๏ธ ์ ์šฉ ์‚ฌ๋ก€ (Applied in summary) - **workflow.json & workflow_api.json:** ComfyUI์˜ ํ‘œ์ค€ ์ €์žฅ ํฌ๋งท์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, RunComfy ๋ฐ Mystic ๋“ฑ ์„œ๋ฒ„๋ฆฌ์Šค API ๋ฐฐํฌ ํ”Œ๋žซํผ์˜ ๊ธฐ๋ณธ ์ฐธ์กฐ ํŒŒ์ผ๋กœ ํ™œ์šฉ๋œ๋‹ค [1, 17, 24]. - **object_info.json:** ์‹คํ–‰ ์ธ์Šคํ„ด์Šค์—์„œ ์Šคํ‚ค๋งˆ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด `https:///object_info` ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ†ตํ•ด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค [25]. - **comfyui-workflow-to-api-converter-endpoint:** Frontend ํฌ๋งท์˜ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์„œ๋ฒ„ ์ธก์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ API ํฌ๋งท์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ ์ปค์Šคํ…€ ๋…ธ๋“œ ํ”„๋กœ์ ํŠธ์ด๋‹ค [26]. - **Git Commit bc85382:** ์ฝค๋ณด ์œ„์ ฏ ๊ฐ’์˜ ๋Œ€์†Œ๋ฌธ์ž ํ‘œ๊ธฐ ์˜ค๋ฅ˜(์˜ˆ: "True" vs "true")๊ฐ€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์—์„œ ๊ฑฐ๋ถ€๋˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์—†๋Š” ๋งค์นญ ๋กœ์ง์ด ์ ์šฉ๋˜์—ˆ๋‹ค [27, 28]. ## โœ… ๊ฒ€์ฆ ์ƒํƒœ ๋ฐ ์‹ ๋ขฐ๋„ - **์ƒํƒœ:** draft - **๊ฒ€์ฆ ๋‹จ๊ณ„:** conceptual (์‹ค์ œ ์ ์šฉ ์‚ฌ๋ก€ ๋ฐœ๊ฒฌ ์‹œ applied/validated๋กœ ์Šน๊ฒฉ ๊ฐ€๋Šฅ) - **์ถœ์ฒ˜ ์‹ ๋ขฐ๋„:** B (Official Documentation / Primary Source via NotebookLM) - **์ค‘๋ณต ๊ฒ€์‚ฌ ๊ฒฐ๊ณผ:** ์‹ ๊ทœ ์ƒ์„ฑ (New discovery) ## ๐Ÿ“ ๋ณ€๊ฒฝ ์ด๋ ฅ (Change history) - 2026-05-20: Initial draft generated via Datacollector_MAC P-Reinforce engine.