--- id: draft-07-specification title: "Draft-07 Specification" category: "10_Wiki/Topics" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["JSON Schema v1.0"] 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: ["ComfyUI Workflow v1.0", "WorkflowExecutor", "comfyui-workflow-to-api-converter-endpoint"] github_commit: "" --- # [[Draft-07 Specification]] ## 🎯 ν•œ 쀄 톡찰 (One-line insight) Draft-07 Specification은 ComfyUI Workflow JSON v1.0의 ꡬ쑰적 무결성을 μ •μ˜ν•˜λŠ” 곡식 ν‘œμ€€μœΌλ‘œ, λ…Έλ“œ 속성과 링크 연결성을 κ·œμ œν•˜μ—¬ μ›Œν¬ν”Œλ‘œμ˜ 이식성과 μ‹€ν–‰ κ°€λŠ₯성을 보μž₯ν•œλ‹€ [1, 2]. ## 🧠 핡심 κ°œλ… (Core concepts) - **JSON Schema v1.0:** Draft-07 사양을 λ”°λ₯΄λŠ” μ΅œμ‹  ComfyUI μ›Œν¬ν”Œλ‘œ ν‘œμ€€μœΌλ‘œ, μ‹€ν–‰ 엔진이 μΈμ‹ν•˜κΈ° μœ„ν•œ 기술적 μ œμ•½ 쑰건을 μ •μ˜ν•œλ‹€ [1, 2]. - **Mandatory Node Properties:** λ…Έλ“œ 객체가 포함해야 ν•˜λŠ” ν•„μˆ˜ 속성(id, type, pos, size, order, mode)을 톡해 κ·Έλž˜ν”„μ˜ ꡬ쑰λ₯Ό λͺ…μ‹œν•œλ‹€ [1]. - **Slot Connectivity Indexing:** 링크 및 슬둯의 원본/λŒ€μƒ ID와 인덱슀λ₯Ό μ§€μ •ν•˜μ—¬ 데이터 νλ¦„μ˜ 정확성을 ν™•λ³΄ν•œλ‹€ [3]. - **Serialization Validation:** μ›Œν¬ν”Œλ‘œκ°€ 직렬화될 λ•Œ 이 사양을 μ€€μˆ˜ν•΄μ•Όλ§Œ ComfyUI λ°±μ—”λ“œμ—μ„œ μœ νš¨ν•œ ν”„λ‘¬ν”„νŠΈλ‘œ 처리될 수 μžˆλ‹€ [1, 4]. ## 🧩 μΆ”μΆœλœ νŒ¨ν„΄ (Extracted patterns) - **Bifurcation Compliance:** μ‹œκ°μ  메타데이터λ₯Ό ν¬ν•¨ν•˜λŠ” Frontend 포맷(`workflow.json`)κ³Ό μ‹€ν–‰ μ΅œμ ν™”λœ Backend 포맷(`workflow_api.json`) λͺ¨λ‘κ°€ λ™μΌν•œ Draft-07 기반의 핡심 논리 ꡬ쑰λ₯Ό κ³΅μœ ν•œλ‹€ [5, 6]. - **Dependency Inversion Traversal:** 엔진이 좜λ ₯ λ…Έλ“œμ—μ„œ μ‹œμž‘ν•˜μ—¬ 사양에 μ •μ˜λœ 링크λ₯Ό 역좔적(backward traversal)ν•˜μ—¬ ν•„μš”ν•œ λ…Έλ“œλ§Œ μ‹€ν–‰ν•˜λŠ” ꡬ쑰적 νŒ¨ν„΄μ„ 보인닀 [7]. - **Metadata Redundancy:** PNG 파일의 메타데이터 청크(tEXt/zTXt)에 두 κ°€μ§€ 포맷을 λ™μ‹œμ— μ €μž₯ν•˜μ—¬ ν‘œμ€€ μ€€μˆ˜μ™€ μ‚¬μš©μž νŽΈμ˜μ„±μ„ λ™μ‹œμ— μœ μ§€ν•œλ‹€ [8]. ## πŸ“– μ„ΈλΆ€ λ‚΄μš© (Details) ComfyUI μ›Œν¬ν”Œλ‘œμ˜ ꡬ쑰적 무결성은 **Draft-07 사양을 λ”°λ₯΄λŠ” 곡식 JSON Schema v1.0**에 μ˜ν•΄ κ²€μ¦λœλ‹€ [1, 2]. 이 사양은 μ›Œν¬ν”Œλ‘œκ°€ λ‹¨μˆœν•œ μ‹œκ°μ  λ„ν‘œλ₯Ό λ„˜μ–΄ μ‹€ν–‰ κ°€λŠ₯ν•œ ν”„λ‘œκ·Έλž¨μœΌλ‘œμ„œ μž‘λ™ν•˜κΈ° μœ„ν•œ 기술적 μ œμ•½ 사항을 λͺ…μ‹œν•œλ‹€. **1. λ…Έλ“œ 객체의 ν•„μˆ˜ 속성 규격 [1]:** - **id:** κ·Έλž˜ν”„ 탐색을 μœ„ν•œ 고유 μ‹λ³„μž (Integer λ˜λŠ” String). - **type:** λ…Έλ“œ λ ˆμ§€μŠ€νŠΈλ¦¬μ˜ 클래슀 이름과 λ§€ν•‘λ˜λŠ” ν•„μˆ˜ λ¬Έμžμ—΄. - **pos / size:** UI λ Œλ”λ§μ„ μœ„ν•œ μΊ”λ²„μŠ€ μ’Œν‘œ 및 크기 정보. - **order:** 엔진이 μ°Έμ‘°ν•˜λŠ” ꢌμž₯ μ‹€ν–‰ λ˜λŠ” λ Œλ”λ§ μˆœμ„œ. - **mode:** λ…Έλ“œμ˜ ν™œμ„±ν™”, λ°”μ΄νŒ¨μŠ€(Bypass) λ“±μ˜ 운영 μƒνƒœ. **2. 링크 및 슬둯 μ—°κ²° 사양 [3]:** 연결성은 λ…Έλ“œ λ‚΄λΆ€μ˜ `inputs` 및 `outputs` 배열을 톡해 μ •μ˜λœλ‹€. `inputs` μ†μ„±μ˜ `link` ν”„λ‘œνΌν‹°λŠ” λ“€μ–΄μ˜€λŠ” μ™€μ΄μ–΄μ˜ 고유 IDλ₯Ό μ‹λ³„ν•˜λ©°, `outputs`의 `links` 배열은 ν•˜λ‚˜μ˜ 좜λ ₯이 μ—¬λŸ¬ λ…Έλ“œλ‘œ 전달될 수 μžˆμŒμ„ λ‚˜νƒ€λ‚Έλ‹€. 특히 VAE Loader와 같이 닀쀑 좜λ ₯ μŠ¬λ‘―μ„ κ°€μ§„ λ…Έλ“œμ˜ 경우, **μ •ν™•ν•œ 슬둯 인덱싱**이 사양 μ€€μˆ˜μ˜ 핡심이닀 [3]. **3. μœ νš¨μ„± 검사 및 μ‹€ν–‰ [4]:** μ›Œν¬ν”Œλ‘œ JSON이 μƒμ„±λ˜λ©΄ ComfyUI의 `validate_prompt` ν•¨μˆ˜λŠ” 이 사양을 κΈ°μ€€μœΌλ‘œ 데이터 ꡬ쑰λ₯Ό κ²€μ¦ν•œλ‹€. 검증을 ν†΅κ³Όν•œ JSON은 `DynamicPrompt`둜 κ΅¬μ„±λ˜μ–΄ `ExecutionList`둜 λ³€ν™˜λ˜λ©°, 이 κ³Όμ •μ—μ„œ 사양에 μ–΄κΈ‹λ‚˜λŠ” μ—°κ²°μ΄λ‚˜ 속성이 발견되면 싀행이 κ±°λΆ€λœλ‹€ [4]. ## βš–οΈ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & updates) - **버전 μ—…λ°μ΄νŠΈ:** μ΄μ „μ˜ 0.4 버전 μ‚¬μ–‘μ—μ„œ μ΅œμ‹  1.0(Draft-07 기반)으둜 ν‘œμ€€μ΄ μ—…λ°μ΄νŠΈλ˜μ—ˆμœΌλ©°, μ΄λŠ” 곡식 λ¬Έμ„œμ—μ„œ ꢌμž₯λ˜λŠ” μ΅œμ‹  κ·œκ²©μ΄λ‹€ [2, 9]. - **포맷 κ°„ 차이:** API 포맷은 νš¨μœ¨μ„±μ„ μœ„ν•΄ UI κ΄€λ ¨ 메타데이터λ₯Ό μ‚­μ œν•˜μ§€λ§Œ, 핡심적인 λ…Έλ“œ 클래슀 λ§€ν•‘κ³Ό μž…λ ₯ κ΅¬μ‘°λŠ” μ—¬μ „νžˆ Draft-07의 논리적 λ²”μ£Ό 내에 μžˆλ‹€ [5, 6]. ## πŸ› οΈ 적용 사둀 (Applied in summary) - **ComfyUI Workflow v1.0:** Draft-07 사양을 κ³΅μ‹μ μœΌλ‘œ μ±„νƒν•œ μ΅œμ‹  μ›Œν¬ν”Œλ‘œ 직렬화 규격 [1, 2]. - **WorkflowExecutor.execute():** 독립 μ‹€ν–‰ μŠ€ν¬λ¦½νŠΈμ—μ„œ `validate_prompt`λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ›Œν¬ν”Œλ‘œ JSON이 사양을 μ€€μˆ˜ν•˜λŠ”μ§€ κ²€μ¦ν•˜λŠ” 둜직이 적용됨 [4]. - **comfyui-workflow-to-api-converter-endpoint:** λΉ„ API 포맷을 API 포맷으둜 λ³€ν™˜ν•  λ•Œ ComfyUI의 λ…Έλ“œ λ ˆμ§€μŠ€νŠΈλ¦¬μ™€ 사양을 μ°Έμ‘°ν•˜μ—¬ μœ νš¨ν•œ JSON을 생성함 [10, 11]. ## βœ… 검증 μƒνƒœ 및 신뒰도 - **μƒνƒœ:** 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.