--- id: json-schema-v1.0 title: "JSON Schema v1.0" category: "10_Wiki/Topics" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["ComfyUI Workflow JSON v1.0"] 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 생성 방법", "JSON Schema"] raw_sources: ["NotebookLM Synthesis"] applied_in: ["/specs/workflow_json"] github_commit: "" --- # [[JSON Schema v1.0]] ## 🎯 ν•œ 쀄 톡찰 (One-line insight) ComfyUI μ›Œν¬ν”Œλ‘œμš° JSON v1.0은 Draft-07 사양을 μ€€μˆ˜ν•˜λ©°, λ…Έλ“œ 기반의 μƒμ„±ν˜• AI νŒŒμ΄ν”„λΌμΈμ„ μ‹œκ°μ  메타데이터와 μ‹€ν–‰ λ…Όλ¦¬λ‘œ μ΄μ›ν™”ν•˜μ—¬ μ§λ ¬ν™”ν•˜λŠ” ν‘œμ€€ κ·œκ²©μ΄λ‹€ [1, 2]. ## 🧠 핡심 κ°œλ… (Core concepts) - **Draft-07 Specification:** ComfyUI μ›Œν¬ν”Œλ‘œμš° JSON의 ꡬ쑰적 무결성을 보μž₯ν•˜λŠ” μ΅œμ‹  곡식 μŠ€ν‚€λ§ˆ ν‘œμ€€μ΄λ‹€ [2]. - **데이터 이원화 (Bifurcation):** μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€μš© 'Frontend Format'κ³Ό μ„œλ²„ μ‹€ν–‰μš© 'API Format'으둜 λ‚˜λ‰˜μ–΄ κ΄€λ¦¬λœλ‹€ [1, 3]. - **λ…Έλ“œ 객체 속성 (Node Object Properties):** 각 λ…Έλ“œλŠ” ID, μœ ν˜•, μœ„μΉ˜(pos), 크기(size), μœ„μ ― κ°’(widgets_values) λ“±μ˜ ν•„μˆ˜ 및 선택적 속성을 μ •μ˜ν•΄μ•Ό ν•œλ‹€ [2, 4]. - **슬둯 및 링크 μ—°κ²°μ„± (Slot & Link Connectivity):** λ…Έλ“œ κ°„μ˜ 데이터 흐름은 κ³ μœ ν•œ 링크 ID와 μž…λ ₯/좜λ ₯ 슬둯 인덱싱을 톡해 μ •μ˜λœλ‹€ [5]. ## 🧩 μΆ”μΆœλœ νŒ¨ν„΄ (Extracted patterns) - **μ‹€ν–‰ λͺ¨λΈ λ°˜μ „ (Execution Model Inversion):** 엔진이 좜λ ₯ λ…Έλ“œ(Save Image λ“±)μ—μ„œ μ‹œμž‘ν•˜μ—¬ μ—­λ°©ν–₯으둜 κ·Έλž˜ν”„λ₯Ό 탐색, ν•„μš”ν•œ μ˜μ‘΄μ„±λ§Œ μ‹λ³„ν•˜μ—¬ μ‹€ν–‰ν•˜λŠ” μ΅œμ ν™” νŒ¨ν„΄μ„ λ”°λ₯Έλ‹€ [6]. - **메타데이터 μž„λ² λ”© (Metadata Embedding):** PNG 파일의 tEXt λ˜λŠ” zTXt 청크에 Frontend와 API 포맷의 JSON 데이터λ₯Ό λ™μ‹œμ— μ €μž₯ν•˜μ—¬ μ‹œκ°μ  νŽΈμ§‘κ³Ό ν”„λ‘œκ·Έλž˜λ°μ  μž¬μ‹€ν–‰μ„ λͺ¨λ‘ μ§€μ›ν•œλ‹€ [7-9]. - **버전 ν˜Έν™˜μ„± μ œμ•½:** λΉˆλ²ˆν•œ μ—…λ°μ΄νŠΈλ‘œ 인해 ꡬ버전 JSON 파일이 μ΅œμ‹  ComfyUI λ²„μ „μ—μ„œ 정상 μž‘λ™ν•˜μ§€ μ•Šμ„ 수 μžˆλŠ” νŒ¨ν„΄μ΄ κ΄€μ°°λœλ‹€ [10]. ## πŸ“– μ„ΈλΆ€ λ‚΄μš© (Details) ComfyUI μ›Œν¬ν”Œλ‘œμš° JSON v1.0은 λ³΅μž‘ν•œ λ…Έλ“œ λ„€νŠΈμ›Œν¬λ₯Ό 이식 κ°€λŠ₯ν•˜κ³  μ‚¬λžŒμ΄ 읽을 수 μžˆλŠ” ν˜•νƒœμ˜ λ°μ΄ν„°λ‘œ λ³€ν™˜ν•˜λŠ” 핡심 λ©”μ»€λ‹ˆμ¦˜μ΄λ‹€ [11, 12]. **1. λ…Έλ“œ 객체의 기술적 ꡬ성** - **ν•„μˆ˜ 속성:** `id`(κ·Έλž˜ν”„ νƒμƒ‰μš© 고유 μ‹λ³„μž), `type`(λ…Έλ“œ λ ˆμ§€μŠ€νŠΈλ¦¬μ˜ 클래슀 이름 λ§€ν•‘), `pos` 및 `size`(UI λ Œλ”λ§μš© μ’Œν‘œ 및 크기), `order`(μ‹€ν–‰ λ˜λŠ” λ Œλ”λ§ μˆœμ„œ), `mode`(ν™œμ„±/λ°”μ΄νŒ¨μŠ€ μƒνƒœ)κ°€ ν¬ν•¨λœλ‹€ [2]. - **선택적 속성:** μ‚¬μš©μžκ°€ μž…λ ₯ν•œ μŠ¬λΌμ΄λ”, ν…μŠ€νŠΈ λ°•μŠ€ λ“±μ˜ 값을 μ €μž₯ν•˜λŠ” `widgets_values`κ°€ μ‘΄μž¬ν•œλ‹€ [2]. **2. 포맷별 ꡬ쑰적 차이** - **Frontend JSON (workflow.json):** μ‹œκ°μ  νŽΈμ§‘μ„ μœ„ν•΄ Litegraph ν‘œμ€€μ„ λ”°λ₯΄λ©°, λ…Έλ“œ μœ„μΉ˜, κ·Έλ£Ή ꡬ쑰, 색상 λ“± λͺ¨λ“  μ‹œκ°μ  메타데이터λ₯Ό ν¬ν•¨ν•œλ‹€ [1, 3, 13]. - **API JSON (workflow_api.json):** μ„œλ²„ μ‚¬μ΄λ“œ μ²˜λ¦¬μ— μ΅œμ ν™”λœ 슀트림라인 μ‹€ν–‰ κ·Έλž˜ν”„μ΄λ‹€ [1]. μ‹œκ°μ  데이터λ₯Ό μ œκ±°ν•˜κ³  λ…Έλ“œ μž…λ ₯ 내에 링크λ₯Ό 직접 μž„λ² λ”©ν•˜μ—¬ νš¨μœ¨μ„±μ„ κ·ΉλŒ€ν™”ν•œλ‹€ [1, 3, 14]. **3. μ—°κ²° λ©”μ»€λ‹ˆμ¦˜** - 연결은 `links` λ°°μ—΄ λ‚΄μ—μ„œ μ •μ˜λ˜λ©°, 각 ν•­λͺ©μ€ 일반적으둜 `origin_id`, `origin_slot`, `target_id`, `target_slot`을 μ •μ˜ν•˜λŠ” 6개 ν•­λͺ© λ°°μ—΄ λ˜λŠ” κ΅¬μ‘°ν™”λœ 객체이닀 [5]. - 슬둯 인덱싱은 맀우 μ—„κ²©ν•˜μ—¬, νŠΉμ • λ…Έλ“œμ˜ μ—¬λŸ¬ 좜λ ₯ 슬둯 쀑 μ •ν™•νžˆ μ–΄λ–€ 데이터가 λ‹€μš΄μŠ€νŠΈλ¦Ό λ…Έλ“œμ— μ†ŒλΉ„λ˜λŠ”μ§€ λͺ…μ‹œν•΄μ•Ό ν•œλ‹€ [5]. ## βš–οΈ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & updates) - **JSON 포맷의 μ·¨μ•½μ„±:** PNG 메타데이터에 ν¬ν•¨λœ JSON은 ν‘œμ€€ 이미지 νŽΈμ§‘κΈ°λ‚˜ μ†Œμ…œ λ―Έλ””μ–΄ ν”Œλž«νΌμ—μ„œ μ••μΆ•/νŽΈμ§‘ μ‹œ μ‚­μ œλ˜κΈ° μ‰¬μš΄ 취약점이 μžˆλ‹€ [9]. - **버전 κ°„ λΉ„ν˜Έν™˜μ„±:** μ†ŒμŠ€μ— λ”°λ₯΄λ©΄ ComfyUI의 λΉˆλ²ˆν•œ μ—…λ°μ΄νŠΈλ‘œ 인해 ꡬ버전 JSON이 μ΅œμ‹  λ²„μ „μ—μ„œ μž‘λ™ν•˜μ§€ μ•Šμ„ 수 있으며, 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ ComfyUI Manager λ“±μ˜ 도ꡬ가 μ˜μ‘΄μ„±μ„ ν•΄κ²°ν•΄μ•Ό ν•œλ‹€ [10, 15]. - **ν•„λ“œ λͺ…μΉ­ 차이:** Frontend ν¬λ§·μ—μ„œλŠ” `type`을 μ‚¬μš©ν•˜μ§€λ§Œ API ν¬λ§·μ—μ„œλŠ” `class_type`μ΄λΌλŠ” λͺ…칭을 μ‚¬μš©ν•˜μ—¬ λ…Έλ“œλ₯Ό μ‹λ³„ν•œλ‹€ [3, 16]. ## πŸ› οΈ 적용 사둀 (Applied in summary) - **곡식 λ¬Έμ„œ 경둜:** `/specs/workflow_json` μœ„μΉ˜μ— JSON Schema v1.0 λͺ…μ„Έκ°€ μ •μ˜λ˜μ–΄ μžˆλ‹€ [17]. - **버전 관리:** ν˜„μž¬ κ°€μž₯ μ΅œμ‹  κ·œκ²©μ€ Version 1.0이며, 이전 버전인 0.4와 κ΅¬λΆ„λ˜μ–΄ κ΄€λ¦¬λœλ‹€ [18]. - **μœ νš¨μ„± 검사 도ꡬ:** `comfyui-workflow-to-api-converter-endpoint` μ»€μŠ€ν…€ λ…Έλ“œλŠ” μ„œλ²„ μ‚¬μ΄λ“œμ—μ„œ λΉ„-API μ›Œν¬ν”Œλ‘œμš°λ₯Ό v1.0 API 포맷으둜 λ³€ν™˜ν•˜λŠ” κΈ°λŠ₯을 κ΅¬ν˜„ν•˜κ³  μžˆλ‹€ [19, 20]. ## βœ… 검증 μƒνƒœ 및 신뒰도 - **μƒνƒœ:** draft - **검증 단계:** conceptual (곡식 λͺ…μ„Έ 및 개발 λ¬Έμ„œ 기반으둜 ꡬ쑰화됨) [2, 21] - **좜처 신뒰도:** B (곡식 λ¬Έμ„œ 및 κΈ°λ³Έ μ†ŒμŠ€ 기반) - **쀑볡 검사 κ²°κ³Ό:** μ‹ κ·œ 생성 (New discovery) ## πŸ”— κ΄€λ ¨ λ¬Έμ„œ 링크 (Related document links) ### μƒμœ„/μœ μ‚¬ κ°œλ… #### [μ•„ν‚€ν…μ²˜/기반 기술] - [[Draft-07 Specification]] - μ—°κ²° 이유: JSON Schema v1.0이 기반으둜 μ‚Όκ³  μžˆλŠ” 기술 ν‘œμ€€μ΄λ‹€ [2]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: JSON λ°μ΄ν„°μ˜ μœ νš¨μ„± 검사 κ·œμΉ™ 및 ꡬ쑰적 μ œμ•½ 쑰건. - [[Node-based Visual Programming]] - μ—°κ²° 이유: JSON Schemaκ°€ ν‘œν˜„ν•˜κ³ μž ν•˜λŠ” μΆ”μƒν™”λœ ν”„λ‘œκ·Έλž˜λ° λͺ¨λΈμ΄λ‹€ [11, 22]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: λ…Έλ“œμ™€ 링크가 μ‹€μ œ ν”„λ‘œκ·Έλž¨ λ…Όλ¦¬λ‘œ λ³€ν™˜λ˜λŠ” 원리. #### [κ΅¬ν˜„/ν™œμš© 도ꡬ] - [[API JSON (workflow_api.json)]] - μ—°κ²° 이유: v1.0 μŠ€ν‚€λ§ˆκ°€ μ‹€μ œλ‘œ μ‹€ν–‰ ν™˜κ²½μ—μ„œ κ°€μž₯ 많이 ν™œμš©λ˜λŠ” ν˜•νƒœμ΄λ‹€ [1, 14]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ„œλ²„λ¦¬μŠ€ 배포 및 API 호좜 μ‹œμ˜ 데이터 μ΅œμ ν™” 방법. - [[Frontend JSON (workflow.json)]] - μ—°κ²° 이유: v1.0 μŠ€ν‚€λ§ˆμ˜ μ‹œκ°μ  메타데이터λ₯Ό ν¬ν•¨ν•˜λŠ” 전체 데이터셋이닀 [1, 13]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ μƒμ—μ„œμ˜ μ›Œν¬ν”Œλ‘œμš° μž¬κ΅¬μ„±κ³Ό 곡유. ### 심측 후속 질문 (Deeper Research Questions) - v1.0 μŠ€ν‚€λ§ˆμ—μ„œ Draft-07 규격이 ꡬ체적으둜 μ–΄λ–€ μœ νš¨μ„± 검사 과정을 거쳐 λ…Έλ“œ μ‹€ν–‰ μ „ 였λ₯˜λ₯Ό λ°©μ§€ν•˜λŠ”κ°€? [2] - Frontend JSON의 μ‹œκ°μ  메타데이터(pos, size)κ°€ μ‹€μ œ λ°±μ—”λ“œ μ‹€ν–‰ 엔진에 μ „ν˜€ 영ν–₯을 μ£Όμ§€ μ•ŠλŠ” ꡬ쑰적 μ΄μœ λŠ” 무엇인가? [1, 3] - 링크 데이터 ν‘œν˜„ 방식(6개 ν•­λͺ© λ°°μ—΄)μ—μ„œ 각 μΈλ±μŠ€κ°€ λ‹΄κ³  μžˆλŠ” 기술적 μ˜λ―ΈλŠ” 무엇인가? [5] - [[Execution Model Inversion]] νŒ¨ν„΄μ΄ 적용될 λ•Œ, JSON λ‚΄μ—μ„œ μ‚¬μš©λ˜μ§€ μ•ŠλŠ” λ…Έλ“œλŠ” μ–΄λ–€ 과정을 톡해 λ¬΄μ‹œλ˜λŠ”κ°€? [6] - API ν¬λ§·μ—μ„œ `class_type`이 μ•„λ‹Œ `inputs` 내에 링크 정보가 ν¬ν•¨λ˜λŠ” 방식이 μ‹€ν–‰ 속도에 λ―ΈμΉ˜λŠ” 영ν–₯은 무엇인가? [1, 3] ### 싀무 적용 λ§₯락 (Practical Application Contexts) - **Implementation:** Python의 `json` 라이브러리λ₯Ό μ‚¬μš©ν•˜μ—¬ λ…Έλ“œ IDλ₯Ό μΆ”μ ν•˜κ³  `widgets_values`λ₯Ό λ™μ μœΌλ‘œ μˆ˜μ •ν•˜μ—¬ μžλ™ν™”λœ 이미지 생성을 κ΅¬ν˜„ν•  수 μžˆλ‹€ [23, 24]. - **System Design:** μ™ΈλΆ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ ComfyUIλ₯Ό ν˜ΈμΆœν•  λ•Œ, `workflow_api.json` ν˜•μ‹μ„ μ‚¬μš©ν•˜μ—¬ λΆˆν•„μš”ν•œ UI 데이터λ₯Ό λ°°μ œν•˜κ³  전솑 νš¨μœ¨μ„ 높인닀 [1, 25]. - **Operation / Maintenance:** `ComfyUI Manager`λ₯Ό 톡해 JSON λ‚΄μ˜ `class_type`을 νŒŒμ‹±ν•˜μ—¬ λˆ„λ½λœ μ»€μŠ€ν…€ λ…Έλ“œλ₯Ό μžλ™μœΌλ‘œ μ„€μΉ˜ν•˜κ³  관리할 수 μžˆλ‹€ [15]. - **Learning Path:** μ‹œκ°μ  μ›Œν¬ν”Œλ‘œμš°λ₯Ό λ¨Όμ € μ΄ν•΄ν•œ ν›„, 개발자 λͺ¨λ“œλ₯Ό ν™œμ„±ν™”ν•˜μ—¬ API μ „μš© JSON 포맷의 데이터 ꡬ쑰λ₯Ό λΆ„μ„ν•˜λŠ” λ‹¨κ³„λ‘œ ν•™μŠ΅μ΄ μ§„ν–‰λœλ‹€ [26, 27]. ### 인접 μ£Όλ³€ 주제 (Adjacent Topics) - [[Object_info.json]] - ν™•μž₯ λ°©ν–₯: μ‹€ν–‰ 쀑인 ComfyUI μΈμŠ€ν„΄μŠ€μ˜ λ…Έλ“œ μŠ€ν‚€λ§ˆ μΉ΄νƒˆλ‘œκ·Έλ₯Ό μ΄ν•΄ν•˜μ—¬ JSON을 λ™μ μœΌλ‘œ μƒμ„±ν•˜λŠ” 도ꡬ μ œμž‘ [28, 29]. - [[Metadata Stripping]] - ν™•μž₯ λ°©ν–₯: 이미지 파일 곡유 μ‹œ λ°œμƒν•˜λŠ” μ›Œν¬ν”Œλ‘œμš° 데이터 손싀 λ°©μ§€ 및 볡ꡬ μ „λž΅ [9, 19]. ## πŸ“ λ³€κ²½ 이λ ₯ (Change history) - 2026-05-19: Initial draft generated via Datacollector_MAC P-Reinforce engine.