카테고리 없음

ComfyUI JSON 비교, 워크플로우 변경점 찾는 순서

GoingProdo 2026. 8. 27. 10:47

ComfyUI 워크플로우를 여러 버전으로 저장하다 보면 workflow_v1.json과 workflow_v2.json 중 무엇이 바뀌었는지 확인해야 할 때가 있다. 두 JSON 파일을 일반 텍스트 비교 프로그램에 넣으면 차이는 잡히지만, 실제 이미지 생성에 영향을 주는 변경점과 화면 배치 변화가 한꺼번에 표시되어 읽기 어려울 수 있다.

ComfyUI Workflow JSON에는 노드 자체뿐 아니라 위치와 크기, 연결 관계, 위젯 값 등 여러 정보가 함께 들어간다. 따라서 JSON 비교의 목적이 "생성 설정이 왜 달라졌는가"라면 파일 전체의 줄 차이보다 어떤 필드를 먼저 볼지 정하는 편이 빠르다.

json 비교에서 가장 먼저 볼 변화

ComfyUI JSON 비교는 nodes부터 보는 것이 빠르다

ComfyUI Workflow JSON에서 핵심이 되는 부분 중 하나는 nodes 배열이다. 각 노드에는 ID와 type을 비롯해 위치, 크기, 입력·출력, properties 등 워크플로우를 구성하는 정보가 저장될 수 있다.

두 JSON을 비교했을 때 먼저 확인할 것은 노드 개수와 type이다. 수정본에 새로운 노드가 들어갔거나 기존 노드가 빠졌다면 워크플로우 구조 자체가 달라졌을 가능성을 빠르게 확인할 수 있다.

type이 달라졌는지 먼저 확인한다

노드의 type은 어떤 종류의 노드가 그래프에 존재하는지 확인하는 기준이 된다. 따라서 두 파일에서 같은 부분을 비교할 때는 위치 좌표보다 어떤 type의 노드가 추가·삭제됐는지를 먼저 보는 편이 이해하기 쉽다.

예를 들어 JSON 전체에 수십 개의 차이가 표시되더라도 실제 차이가 특정 노드 하나의 추가에서 시작됐을 수 있다. 이때는 모든 변경 줄을 처음부터 따라가기보다 nodes의 구성 차이를 먼저 좁히는 방식이 효율적이다.

특히 복잡한 ComfyUI workflow일수록 JSON 파일을 눈으로 처음부터 끝까지 읽는 방식은 비효율적이다. 노드 목록을 먼저 비교하면 어느 구간을 더 자세히 확인해야 하는지 범위를 줄일 수 있다.

json 비교가 ComfyUI 워크플로우에 미치는 영향

생성값 차이는 widgets_values를 확인한다

기존 방식과 비교해야 할 부분

노드 종류가 같은데 결과가 달라졌다면 다음으로 확인할 부분은 노드에 저장된 값이다. ComfyUI Workflow JSON 스키마에는 노드별로 widgets_values를 저장할 수 있는 구조가 정의되어 있다.

따라서 두 workflow가 겉보기에는 거의 같은데 생성 결과가 달라진다면 관련 노드의 widgets_values에 차이가 있는지 확인할 가치가 있다. 워크플로우에 따라 사용되는 구체적인 값과 저장 구조는 노드별로 달라질 수 있으므로, 변경된 노드와 함께 보는 것이 중요하다.

같은 노드에서 값만 바뀐 경우

두 JSON에 같은 type의 노드가 그대로 존재한다고 해서 설정까지 같다는 뜻은 아니다. 노드는 유지하면서 위젯에서 값을 변경한 뒤 다시 저장했다면 노드 구성보다 내부 값의 차이가 핵심일 수 있다.

이런 경우 JSON 비교 결과에서 해당 노드 주변의 widgets_values를 먼저 확인하면 된다. 단순히 "노드가 같다"에서 끝내지 않고 그 노드에 저장된 값까지 비교해야 수정 전후의 차이를 좁힐 수 있다.

즉 ComfyUI JSON 비교에서는 노드 존재 여부와 노드 안의 값을 구분해서 보는 것이 좋다. 구조는 동일하지만 값이 달라진 워크플로우와, 노드 자체가 바뀐 워크플로우는 수정의 성격이 다르기 때문이다.

성능과 결과 품질에서 확인할 차이

연결이 달라졌다면 links를 비교한다

워크플로우 구성에서 놓치기 쉬운 부분

노드와 주요 값이 비슷한데 workflow 동작이 달라졌다면 연결 관계를 확인해야 한다. ComfyUI Workflow JSON에는 links 배열이 있으며 노드 사이의 연결 정보를 저장하는 구조가 정의되어 있다.

노드가 모두 남아 있어도 어느 출력이 어느 입력으로 연결되는지가 바뀌면 그래프의 흐름은 달라질 수 있다. 따라서 "노드도 같고 값도 비슷한데 왜 결과가 다르지?"라는 상황에서는 links 비교가 중요해진다.

ComfyUI 화면에서 케이블 하나를 다른 입력으로 옮긴 변화는 시각적으로는 작아 보인다. 하지만 JSON에서는 연결 관계가 달라진 것이므로 수정 전·후 워크플로우를 비교할 때 별도로 확인해야 한다.

특히 규모가 큰 워크플로우에서는 노드 이름만 비교해서는 이런 차이를 놓치기 쉽다. nodes 확인 후 links까지 살펴보는 이유가 여기에 있다.

pos와 size 차이는 생성 설정과 구분해서 본다

ComfyUI Workflow JSON의 노드에는 pos, size 같은 UI 배치 관련 필드도 포함될 수 있다. 노드를 화면에서 옮기거나 크기를 조절한 뒤 저장하면 JSON 비교에서는 이것 역시 변경점으로 잡힐 수 있다.

실제로 적용할 때 체크할 점

하지만 목적이 "생성 설정이 무엇이 달라졌는가"를 찾는 것이라면 이런 화면 배치 차이와 노드·값·연결 변경을 같은 중요도로 읽을 필요는 없다. 먼저 생성 흐름과 직접 관련된 후보를 확인한 뒤 UI 배치 차이를 분리해서 보면 비교 결과가 훨씬 단순해진다.

JSON diff가 많다고 workflow가 크게 바뀐 것은 아니다

텍스트 diff에서 변경 줄이 많이 보인다는 사실만으로 워크플로우의 생성 구조가 크게 바뀌었다고 단정하기 어렵다. Workflow JSON에는 그래프 편집 상태와 관련된 여러 필드도 함께 존재하기 때문이다.

따라서 비교 결과의 줄 수보다 무엇이 변했는지를 보는 것이 중요하다. type, widgets_values, links를 우선 확인하고 필요하면 나머지 속성을 따라가는 순서가 실용적이다.

마지막 확인

두 ComfyUI JSON 파일을 비교할 때는 전체 텍스트를 처음부터 읽기보다 nodes → widgets_values → links 순서로 범위를 좁혀보자. 노드 종류가 바뀌었는지, 같은 노드의 값이 수정됐는지, 연결 경로가 변경됐는지를 각각 분리하면 실제 workflow 차이를 훨씬 빠르게 찾을 수 있다.

반대로 pos나 size처럼 화면 배치와 관련된 차이만 보인다면 생성 설정 변경과 구분해서 판단하면 된다. 수정 전후 JSON을 보관하고 있다면 우선 두 파일의 nodes부터 비교하는 것이 가장 간단한 출발점이다.