AI IMAGE · TROUBLESHOOT

ComfyUI 오류 Prompt outputs failed validation 뜻

junetapa 약 18분

남이 만든 ComfyUI 워크플로를 열고 실행 버튼을 눌렀더니 그림 대신 영어 문구가 뜬다. 가장 흔한 것이 «Prompt outputs failed validation»이고, 그 아래에 «Value not in list: ckpt_name: …» 같은 줄이 붙는다. 문구가 낯설어 통째로 검색창에 붙여 넣게 되지만, 이 문구들은 ComfyUI 코드 안에서 정해진 틀로 만들어지는 것이라 틀만 알면 스스로 읽을 수 있다. 이 글은 2026년 10월 11일에 ComfyUI 저장소의 execution.py · nodes.py · folder_paths.py · server.py와 프런트엔드 app.ts 소스 코드를 직접 열어, 각 오류 문구가 어느 줄에서 어떤 조건으로 만들어지는지 대조해 정리했다. 공식 문제 해결 문서(Troubleshooting)의 해결 순서도 함께 짝지었다.

이어 읽기

워크플로 불러오기 편에서 PNG 한 장으로 남의 워크플로를 열었다면, 이 글이 그다음 막힘을 다룬다. 설치 직후의 VRAM 부족과 빨간 노드는 ComfyUI 입문 실전 가이드의 트러블슈팅 절에, 모델별 VRAM은 모델별 VRAM 정리에 따로 있다.

오류를 읽기 전에 — 두 갈래부터 가른다

ComfyUI의 오류는 생기는 자리가 둘이다. 실행 버튼을 누르면 화면(프런트엔드)은 워크플로를 서버의 /prompt 주소로 보낸다. 서버는 이것을 바로 돌리지 않고 먼저 validate_prompt라는 검증 함수에 넣는다. 검증을 통과하면 대기열에 넣고, 통과하지 못하면 오류 내용과 노드별 오류 목록(node_errors)을 담아 400 응답으로 돌려준다. 그러니 검증 오류가 났다면 GPU는 한 번도 돌지 않은 것이다.

검증을 통과한 뒤 실제로 노드를 하나씩 돌리다가 멈추는 것은 다른 갈래다. 이때 서버 로그에는 !!! Exception during processing !!! 줄이 찍히고, 화면에는 어느 노드에서 어떤 종류의 예외가 났는지가 전달된다. 그래픽카드 메모리 부족, 모델 구조가 맞지 않는 조합, 깨진 모델 파일이 여기서 드러난다.

실행 전 검증 오류실행 중 예외
생기는 때대기열에 들어가기 전노드를 돌리는 도중
대표 문구Prompt outputs failed validation · Value not in list · Required input is missingException during processing · out of memory · mat1 and mat2 shapes cannot be multiplied
뜻워크플로의 값 · 연결 · 노드 자체가 지금 설치본과 맞지 않음값은 맞지만 돌려 보니 자원 · 모델 · 코드가 버티지 못함
먼저 볼 곳노드별 오류 줄의 입력 이름과 값멈춘 노드 이름과 예외 종류

이 구분이 중요한 이유는 고칠 곳이 다르기 때문이다. 검증 오류는 대개 «내 PC에 없는 것을 워크플로가 요구하는» 문제라서 파일을 넣거나 값을 고르면 풀린다. 실행 중 예외는 사양과 모델 조합을 다시 봐야 한다.

ComfyUI 실행 요청이 지나가는 두 단계 — 실행 버튼을 누르면 서버가 먼저 출력 노드마다 거슬러 올라가며 검증하고, 검증에 걸린 출력은 빼고 통과한 출력만 대기열에 넣으며, 모든 출력이 걸리면 Prompt outputs failed validation으로 돌려보낸다. 대기열에서 노드를 돌리다 멈추면 Exception during processing으로 기록된다
검증 오류는 GPU가 돌기 전, 예외는 도는 도중에 생긴다.

«Prompt outputs failed validation»은 겉봉투다

이 문구가 원인을 말해 주지 않는다고 느끼는 데는 이유가 있다. 소스 코드를 따라가 보면 이 문구는 «모든 출력이 검증에 실패했다»는 사실만 담은 겉봉투이고, 실제 원인은 따로 실려 온다.

검증은 출력 노드에서 시작한다. Save Image처럼 결과를 내는 노드(OUTPUT_NODE)를 모두 모은 뒤, 출력 노드마다 validate_inputs를 불러 연결된 위쪽 노드를 거슬러 올라가며 하나씩 검사한다. 이때 위쪽 노드에서 오류가 나면 그 노드에 오류 내용이 붙고, 그 아래로 이어진 노드들은 «통과 못 함» 표시만 받는다. 코드 주석도 위쪽에 오류가 있으면 아래쪽 노드는 오류 내용 없이 실패로만 표시된다고 적었다.

출력 노드 가운데 하나라도 통과하면 실행은 그대로 진행된다. 걸린 출력은 로그에 Output will be ignored를 남기고 빠지고, 통과한 출력만 대기열에 들어간다. 출력이 두 개인 워크플로에서 그림은 하나 나왔는데 다른 쪽 노드에 오류 표시가 남는 경우가 이것이다. 통과한 출력이 하나도 없을 때만 «Prompt outputs failed validation» 오류가 만들어진다.

겉봉투의 details 칸에는 출력 노드 자기 자신에게 붙은 오류만 모인다. 원인이 위쪽 체크포인트 노드에 있으면 이 칸은 비고, 원인은 노드 번호별로 묶인 node_errors 쪽에 들어간다. 그래서 오류 창의 첫 줄보다 그 아래 노드별 줄을 봐야 한다. 프런트엔드 app.ts도 서버가 돌려준 node_errors를 기록해 캔버스를 다시 그리고, 설정에 따라 오른쪽 패널의 오류 표시나 오류 대화상자로 보여 준다. 공식 문서는 생성이 실패하면 «Show report» 버튼을 눌러 자세한 오류 메시지를 읽으라고 안내한다.

콘솔 로그는 이렇게 생겼다

화면 오류 창을 닫아 버렸다면 ComfyUI를 띄운 콘솔(포터블은 검은 창, 데스크톱은 로그 파일)에 같은 내용이 남아 있다. execution.py의 로그 줄을 그대로 조립하면 다음 모양이 된다. 출력 노드 9번(Save Image)이 위쪽 4번 체크포인트 노드 때문에 걸린 경우다.

text
Failed to validate prompt for output 9:
* CheckpointLoaderSimple 4:
  - Value not in list: ckpt_name: 'model-name.safetensors' not in []
Output will be ignored
invalid prompt: {'type': 'prompt_outputs_failed_validation', 'message': 'Prompt outputs failed validation', 'details': '', 'extra_info': {}}

읽는 순서는 위에서 아래다. 첫 줄의 숫자는 «어느 출력이 걸렸나», 별표 줄은 «어느 노드가 원인인가(노드 종류와 번호)», 하이픈 줄은 «무엇이 틀렸나(오류 문구: 자세한 내용)»다. 마지막 invalid prompt 줄은 서버가 응답을 돌려보내며 남기는 경고이고, details가 비어 있는 것은 위에서 본 대로 원인이 출력 노드가 아니라 위쪽 노드에 있기 때문이다. 별표 줄에 노드 종류 이름과 번호가 함께 찍히므로, 노드가 수십 개인 워크플로에서도 찾아갈 노드가 하나로 좁혀진다.

Value not in list — 한 줄을 세 칸으로 읽는다

검증 오류 가운데 가장 자주 만나는 것이 이것이다. 목록에서 고르는 칸(콤보 입력)에 들어 있는 값이 지금 설치본의 허용 목록에 없을 때 생긴다. 소스 코드의 문구 틀은 다음과 같다.

text
Value not in list: {입력 이름}: '{받은 값}' not in {허용 목록}

세 칸을 차례로 읽으면 된다. 입력 이름은 어느 칸이 문제인지(ckpt_name이면 체크포인트, lora_name이면 LoRA, vae_name이면 VAE), 받은 값은 워크플로에 적혀 온 이름, 허용 목록은 지금 내 ComfyUI가 그 칸에 넣을 수 있다고 아는 값이다. 허용 목록이 20개를 넘으면 목록 대신 (list of length 숫자)처럼 길이만 찍힌다. 모델 파일이 수백 개인 사람의 로그가 짧은 이유다.

모델을 고르는 칸의 허용 목록은 모델 폴더의 파일 목록에서 온다. 체크포인트 로더는 checkpoints 폴더, LoRA 로더는 loras 폴더의 파일 이름 목록을 그대로 칸의 선택지로 쓴다. 그래서 이 오류는 대부분 «워크플로가 부르는 파일 이름이 내 폴더에 없다»는 뜻이고, 허용 목록의 모양에 따라 세 경우로 갈린다.

Value not in list 한 줄을 읽는 법 — 입력 이름 · 받은 값 · 허용 목록 세 칸으로 나누고, 목록이 빈 대괄호면 그 종류의 폴더에 파일이 하나도 없는 것, 목록은 있는데 이름이 다르면 파일 이름이나 하위 폴더가 다른 것, list of length만 보이면 직접 폴더에서 이름을 찾아야 하는 경우로 가른다
허용 목록의 모양이 원인을 알려 준다.

1. 목록이 빈 대괄호 [] 일 때

not in []이면 그 종류의 폴더에서 쓸 수 있는 파일을 하나도 찾지 못한 것이다. 공식 문서의 «빠진 모델» 예시도 정확히 이 모양(Value not in list: ckpt_name: 'model-name.safetensors' not in [])이다. 막 설치한 ComfyUI에서 남의 워크플로를 열면 거의 이렇게 뜬다. 공식 문서의 해결 순서는 필요한 모델을 받아 맞는 하위 폴더에 넣는 것이다.

파일을 넣었는데도 빈 목록이라면 두 가지를 본다. 하나는 폴더다. 모델 종류마다 읽는 폴더가 정해져 있다.

칸(입력 이름)읽는 폴더(models 아래)
ckpt_name(체크포인트)checkpoints
lora_name(LoRA)loras
vae_name(VAE)vae
clip_name(텍스트 인코더)text_encoders, clip 둘 다
unet_name(확산 모델)diffusion_models, unet 둘 다
control_net_name(ControlNet)controlnet, t2i_adapter 둘 다

다른 하나는 확장자다. 모델 폴더는 .ckpt .pt .pt2 .bin .pth .safetensors .pkl .sft로 끝나는 파일만 목록에 올린다. 내려받다 끊겨 .crdownload나 .part로 남은 파일, 압축을 풀지 않은 .zip은 목록에 나타나지 않는다.

2. 목록은 있는데 이름이 다를 때

허용 목록에 비슷한 이름이 보이는데 걸린다면 받은 값과 한 글자씩 대조한다. 원작자가 파일 이름을 바꿔 썼거나, 같은 모델의 다른 판(예를 들어 fp16 판과 전체 판)을 쓴 경우가 흔하다. 이럴 때는 노드의 칸을 눌러 내 목록에 있는 파일로 다시 고르면 된다. 다만 판이 다른 파일이라면 원작자의 그림과 똑같이 나온다고 기대하지 않는다.

하위 폴더도 이름의 일부다. ComfyUI는 모델 폴더 아래의 하위 폴더까지 훑고, 목록에 올리는 이름을 «모델 폴더 기준 상대 경로»로 만든다. checkpoints 안에 SDXL 폴더를 만들어 넣었다면 목록의 이름은 파일 이름만이 아니라 하위 폴더가 붙은 경로가 된다. 원작자는 폴더 없이 넣었고 나는 하위 폴더에 정리해 두었다면, 파일은 같아도 이름이 달라 검증에 걸린다. 이 경우도 칸에서 다시 고르는 것이 가장 빠르다.

3. list of length만 보일 때

(list of length 숫자)로 찍히면 로그만으로는 목록 안에 비슷한 이름이 있는지 알 수 없다. 화면에서 해당 노드의 칸을 직접 열어 내 파일을 고르거나, 탐색기로 모델 폴더를 열어 받은 값의 파일 이름이 있는지 찾는다.

모델이 아닌 칸에서 뜨는 Value not in list

sampler_name이나 scheduler에서 걸리면 이야기가 다르다. 이 두 칸의 목록은 폴더가 아니라 코드 안에 적힌 샘플러 · 스케줄러 이름 목록(SAMPLER_NAMES · SCHEDULER_NAMES)에서 온다. 내 설치본에 없는 이름이 들어 있다면 워크플로가 다른 판의 ComfyUI나 샘플러를 더하는 커스텀 노드 환경에서 만들어졌을 수 있다. 목록에 있는 비슷한 샘플러로 바꾸거나, 원작자가 밝힌 판과 커스텀 노드를 맞춘다.

파일을 넣은 뒤 목록 새로 받기

서버 쪽 파일 목록은 저장해 두고 쓰지만, 모델 폴더의 수정 시각이 바뀌면 다시 훑도록 되어 있다. 화면 쪽은 파일을 넣은 뒤 단축키 R(README 단축키 표의 «Refresh graph»)을 누르거나 페이지를 새로 고친다. 그 뒤 칸을 다시 열어 새 파일이 보이는지 확인하고 실행한다.

모델을 다른 드라이브에 모아 두었다면

모델을 ComfyUI 폴더 밖(예를 들어 AUTOMATIC1111 · Forge 폴더나 큰 드라이브)에 두고 쓰려면 extra_model_paths.yaml을 쓴다. README와 예시 파일에 따르면 ComfyUI 폴더의 extra_model_paths.yaml.example 이름을 extra_model_paths.yaml로 바꾸고, base_path와 종류별 폴더를 적으면 그 위치도 함께 훑는다. 예시 파일에는 a1111 묶음(checkpoints는 models/Stable-diffusion, loras는 models/Lora 등)이 들어 있어 주석만 풀고 경로를 고치면 된다. 실행 옵션 --extra-model-paths-config로 다른 위치의 설정 파일을 지정할 수도 있다.

그 밖의 검증 오류 문구 — 원문과 고칠 곳

Value not in list 말고도 검증 단계에서 만들어지는 문구는 정해져 있다. execution.py의 검증 함수에서 문구 원문을 옮기고, 각각이 어떤 조건에서 생기는지 코드로 확인해 고칠 곳을 붙였다.

오류 문구(원문)생기는 조건고칠 곳
Required input is missing꼭 연결해야 하는 입력 칸이 비어 있음오류 줄에 적힌 입력 이름의 점을 다른 노드 출력과 연결
Return type mismatch between linked nodes연결된 선의 데이터 종류가 칸이 받는 종류와 다름(received_type · input_type이 함께 찍힘)두 종류 이름을 보고 맞는 출력으로 다시 연결
Value 값 smaller than min of 최솟값 · bigger than max of 최댓값숫자 칸 값이 노드가 정한 범위를 벗어남범위 안으로 고치기
Failed to convert an input value to a INT value숫자 칸에 숫자로 바꿀 수 없는 값이 들어옴칸 값을 숫자로 다시 입력
Node '이름' not found. The custom node may not be installed.워크플로의 노드 종류가 내 설치본에 등록되지 않음빠진 커스텀 노드 설치
Node '이름' has no class_type. The workflow may be corrupted or a custom node is missing.실행용 그래프에 노드 종류 정보 자체가 없음워크플로 파일을 다시 받거나 빠진 노드 확인
Prompt has no outputsSave Image 같은 출력 노드가 하나도 없음출력 노드 추가
Dependency cycle detected선이 돌고 돌아 자기 자신으로 이어짐찍힌 노드 순서를 보고 고리 끊기
Custom validation failed for node노드가 스스로 정한 검사에 걸림(뒤에 노드가 돌려준 이유가 붙음)붙은 이유 문장을 읽고 해당 칸 수정

숫자 범위는 노드마다 코드에 적혀 있다. 기본 KSampler는 steps가 1부터 10000까지, denoise가 0.0부터 1.0까지이고, Empty Latent Image의 가로 · 세로는 16부터 16384까지 8 단위다. 범위 오류는 오류 줄에 받은 값과 한계가 함께 찍히므로, 그 칸 하나만 범위 안으로 고치면 된다.

맨 아래 줄 «Custom validation failed for node»의 대표 예가 Load Image다. Load Image 노드는 input 폴더에 그 파일이 없으면 «Invalid image file: 파일 이름»을 돌려주도록 스스로 검사한다. 그래서 로그에는 Custom validation failed for node: image - Invalid image file: 파일 이름 꼴로 찍힌다. 워크플로 불러오기 편에서 본 대로 Load Image에는 파일 이름만 남으므로, 원작자의 입력 그림은 따라오지 않는다. 내 그림을 다시 올려 칸에서 고른다.

빠진 노드는 검증보다 먼저 걸린다

«Node … not found» 두 문구는 다른 검증보다 앞에서 걸린다. validate_prompt는 노드별 입력을 보기 전에 모든 노드의 종류가 등록되어 있는지부터 확인하고, 하나라도 없으면 그 자리에서 오류를 돌려준다. 이 경우 프런트엔드는 오류 종류(missing_node_type)를 보고 빠진 노드를 다시 찾아 표시하는 쪽으로 넘어간다. 빠진 노드를 설치하는 순서는 입문 가이드의 빨간 노드 절에 정리했다. 노드를 설치한 뒤에야 그 아래의 Value not in list 같은 오류가 보이기 시작하므로, 오류를 하나 고치면 다음 오류가 이어서 나오는 것이 정상이다.

실행 중에 멈췄을 때 — Exception during processing

검증을 지나 노드를 돌리다 멈추면 로그에 !!! Exception during processing !!! 다음으로 원래 예외 문장과 호출 기록(traceback)이 찍힌다. 화면으로는 멈춘 노드 번호 · 노드 종류 · 예외 종류 · 예외 문장이 전달된다. 읽는 법은 검증 오류와 같다. 어느 노드에서, 무슨 종류로 멈췄는지를 먼저 본다.

ComfyUI는 자주 나오는 두 예외에 안내 문장을 직접 붙인다.

  • GPU 메모리 부족 — 예외가 메모리 부족이면 «This error means you ran out of memory on your GPU.»와 함께, 전에 되던 워크플로라면 batch_size를 실수로 크게 잡았을 수 있다는 안내를 붙인다. 이때 서버는 올려 둔 모델을 모두 내린다. 사양별 대처는 모델별 VRAM 정리에 있다.
  • mat1 and mat2 shapes cannot be multiplied — 샘플러 노드에서 이 문장이 나오면 «Load CLIP» 계열 노드에 맞는 파일과 종류를 골랐는지 확인하라는 안내를 붙인다.

공식 문서의 모델 문제 페이지는 이 계열 문장을 «모델 구조 불일치»로 묶는다. expected input[…] to have 4 channels, but got 16 channels instead, The size of tensor a … must match the size of tensor b …, mat1 and mat2 shapes cannot be multiplied 같은 문장이 예로 실려 있고, 원인은 서로 다른 구조의 모델(예를 들어 SD1.5 · SDXL · Flux)을 한 워크플로에 섞어 쓴 것이라고 설명한다. 해결의 기준은 하나다. 체크포인트 · VAE · 텍스트 인코더 · ControlNet을 같은 구조 계열로 맞춘다.

모델 파일을 열자마자 Error while deserializing header가 나오면 파일 자체를 의심한다. 공식 문서는 내려받는 중 깨졌을 수 있으니 다시 받고, 디스크 공간과 읽기 권한을 확인하고, 다른 모델로 시험해 그 파일만의 문제인지 가르라고 안내한다. 문서에 적힌 모델 크기는 2~15GB 이상이라, 받다 끊긴 파일이 남아 있기 쉽다.

검증 오류와 예외가 겹칠 때

검증 오류를 고쳐 대기열에 들어가면, 그제야 실행 중 예외가 드러나는 경우가 있다. 예를 들어 빠진 체크포인트를 아무 파일로나 골라 넣으면 검증은 통과하지만, 다른 노드들과 구조가 맞지 않아 샘플러에서 멈춘다. 칸을 다시 고를 때는 이름만이 아니라 원작자와 같은 계열의 모델인지도 본다.

커스텀 노드가 의심될 때 — 반씩 끄기

오류 문구가 커스텀 노드의 이름이나 파일 경로를 가리키거나, 아무 워크플로나 실행해도 비슷한 오류가 난다면 커스텀 노드를 먼저 의심한다. 공식 문서는 접수되는 문제의 대부분이 커스텀 노드와 관련되어 있다고 적었다. 문서가 권하는 첫 단계는 커스텀 노드를 모두 끈 채로 띄워 문제가 남는지 보는 것이다.

text
수동 설치:  python main.py --disable-all-custom-nodes
포터블:     .\python_embeded\python.exe -s ComfyUI\main.py --disable-all-custom-nodes

데스크톱 판은 설정 메뉴에서 커스텀 노드를 끈 채 시작하는 항목을 쓴다. 옵션 설명대로 --disable-all-custom-nodes는 커스텀 노드를 하나도 불러오지 않고, 꼭 필요한 몇 개만 살리려면 --whitelist-custom-nodes에 폴더 이름을 적는다.

모두 끈 상태에서 문제가 사라지면 범인은 커스텀 노드 안에 있다. 공식 문서는 절반씩 나눠 켜고 끄며 좁혀 가는 방법을 안내한다. 절반을 켰을 때 문제가 남으면 켠 쪽에, 사라지면 끈 쪽에 원인이 있으므로 그 절반을 다시 나눈다. comfy-cli를 쓴다면 comfy-cli node bisect start로 시작해 결과에 따라 good · bad를 입력하고, 끝나면 reset으로 되돌리는 명령이 있다. 손으로 폴더를 옮길 때는 custom_nodes 폴더를 먼저 백업하라고 문서는 적었다.

질문을 올리기 전에 모을 것

혼자 풀리지 않아 포럼이나 저장소 이슈에 질문할 때, 공식 문서가 요구하는 재료는 정해져 있다. 오류 문장 전체, 콘솔 · 터미널의 오류, 브라우저 개발자 도구(F12)의 Console 탭 오류다. 데스크톱 판 Windows는 로그 파일이 사용자 폴더의 AppData\Roaming\ComfyUI\logs에 남는다고 문서에 적혀 있다. 앞에서 본 로그 모양대로 «Failed to validate prompt for output»부터 «Output will be ignored»까지를 통째로 붙이면, 읽는 사람이 어느 노드의 어느 칸인지 바로 안다.

보내는 곳도 가른다. 커스텀 노드를 모두 끄고도 같은 문제가 나면 ComfyUI 본체 쪽이고, 특정 커스텀 노드에서만 나면 그 노드 개발자의 저장소에 알린다. 붙이기 전에는 로그에 섞인 사용자 폴더 이름이나 파일 경로처럼 드러내고 싶지 않은 부분을 지운다.

자주 묻는 것

Prompt outputs failed validation은 무슨 뜻인가요?

워크플로의 모든 출력 노드가 실행 전 검증에 걸려 아무것도 실행하지 않았다는 뜻입니다. 이 문구 자체는 겉봉투이고, 진짜 원인은 그 아래에 노드 종류와 번호별로 붙은 줄(Value not in list, Required input is missing 등)에 있습니다. 콘솔 로그의 별표 줄이 원인 노드, 하이픈 줄이 틀린 내용입니다.

Value not in list: ckpt_name: … not in [] 는 어떻게 고치나요?

빈 대괄호는 체크포인트 폴더에서 쓸 수 있는 파일을 하나도 찾지 못했다는 뜻입니다. 워크플로가 요구하는 모델을 받아 models 아래 checkpoints 폴더에 넣고, R 키로 목록을 새로 받은 뒤 노드 칸에서 그 파일을 고릅니다. 확장자가 safetensors · ckpt 같은 모델 파일인지, 받다 끊긴 파일은 아닌지도 확인합니다.

모델을 넣었는데도 Value not in list가 계속 나와요.

받은 값과 허용 목록의 이름을 한 글자씩 대조합니다. 하위 폴더에 넣었다면 목록의 이름에 폴더 경로가 붙어서 워크플로의 이름과 달라집니다. 노드 칸을 눌러 목록에 있는 파일로 다시 고르면 대부분 풀립니다. 칸 이름이 lora_name이면 loras, vae_name이면 vae 폴더처럼 종류에 맞는 폴더인지도 봅니다.

그림은 나왔는데 노드 하나에 오류 표시가 남아요.

출력 노드가 여러 개인 워크플로에서 일부만 검증에 걸린 경우입니다. ComfyUI는 통과한 출력만 실행하고, 걸린 출력은 Output will be ignored로 빼 둡니다. 오류 표시가 남은 노드의 오류 줄을 읽고 같은 방식으로 고치면 됩니다.

out of memory도 검증 오류인가요?

아닙니다. 메모리 부족은 검증을 통과한 뒤 노드를 돌리는 도중에 나는 예외라서 로그에 Exception during processing으로 남습니다. ComfyUI는 이 경우 batch_size가 크게 잡혔을 수 있다는 안내를 붙이고 올려 둔 모델을 내립니다. 그림 크기와 배치 크기를 줄이거나 더 가벼운 모델로 바꿉니다.

참고 자료

  1. ComfyUI 소스 코드 execution.py — validate_inputs · validate_prompt의 오류 type · message · details 원문, 출력 노드별 검증과 «Output will be ignored» 로그, Prompt outputs failed validation이 만들어지는 조건, 실행 중 예외의 OOM · mat1 and mat2 안내 문구. github.com
  2. ComfyUI 소스 코드 nodes.py — CheckpointLoaderSimple · LoraLoader 등의 목록 입력이 모델 폴더 파일 목록에서 온다는 부분, KSampler · EmptyLatentImage의 최솟값 · 최댓값, LoadImage의 VALIDATE_INPUTS «Invalid image file» 문구. github.com
  3. ComfyUI 소스 코드 folder_paths.py — 모델 종류별 폴더(text_encoders에 clip, diffusion_models에 unet 포함), 허용 확장자, 하위 폴더까지 훑어 상대 경로로 이름을 만드는 recursive_search, 폴더 수정 시각으로 목록 캐시를 다시 읽는 부분. github.com
  4. ComfyUI 소스 코드 server.py — /prompt 요청에서 validate_prompt를 먼저 부르고, 통과하면 대기열에 넣고 실패하면 error와 node_errors를 400 응답으로 돌려주는 부분, «invalid prompt» 경고 로그. github.com
  5. ComfyUI 소스 코드 comfy/cli_args.py — --disable-all-custom-nodes · --whitelist-custom-nodes · --extra-model-paths-config 옵션과 설명 문구. github.com
  6. ComfyUI README — extra_model_paths.yaml로 모델 위치를 더하는 안내, 단축키 표의 R(Refresh graph) · Ctrl+Enter. github.com
  7. ComfyUI extra_model_paths.yaml.example — 파일 이름을 바꿔 쓰는 방법, comfyui · a1111 두 예시와 모델 종류별 경로. github.com
  8. ComfyUI 프런트엔드 소스 코드 src/scripts/app.ts — 서버가 돌려준 node_errors를 기록하는 부분, 오류 탭 설정에 따라 오류 표시 또는 오류 대화상자를 고르는 분기, missing_node_type일 때 빠진 노드를 다시 찾는 분기. github.com
  9. ComfyUI 공식 문서. Troubleshooting Overview — Show report로 자세한 오류 읽기, 콘솔 · 브라우저 콘솔 확인, 데스크톱 판 Windows 로그 폴더, 문제의 상당수가 커스텀 노드라는 안내, 버그 보고 전 확인할 것. docs.comfy.org
  10. ComfyUI 공식 문서. Model Issues — Value not in list: ckpt_name 예시, 모델 폴더 위치, extra_model_paths.yaml, 모델 구조 불일치 오류 문구 예시, Error while deserializing header와 해결 순서, 모델 크기 2~15GB 이상. docs.comfy.org
  11. ComfyUI 공식 문서. Custom Node Issues — 커스텀 노드 모두 끄기(데스크톱 설정 · 수동 설치 · 포터블 명령), 반씩 나눠 찾기, comfy-cli node bisect 명령, 백업 먼저. docs.comfy.org
  12. ComfyUI 소스 코드 comfy/samplers.py — KSampler의 sampler_name · scheduler 목록이 코드 안의 이름 목록(SAMPLER_NAMES · SCHEDULER_NAMES)에서 온다는 부분. github.com
이 글의 오류 문구와 동작 설명은 2026년 10월 11일에 내려받은 ComfyUI 저장소의 execution.py · nodes.py · folder_paths.py · server.py · comfy/cli_args.py · comfy/samplers.py · README · extra_model_paths.yaml.example, ComfyUI 프런트엔드 저장소의 app.ts, ComfyUI 공식 문제 해결 문서(Troubleshooting Overview · Model Issues · Custom Node Issues)를 따랐다. 콘솔 로그 예시는 소스 코드의 로그 줄을 조립한 형식 예시이며 파일 이름은 가상의 값이다. ComfyUI는 자주 갱신되므로 문구와 화면 표시는 쓰는 판에서 다시 확인한다. 이 글은 ComfyUI 개발진과 관계없는 개인 블로그의 정리이며, 커스텀 노드 설치와 모델 파일 사용은 각 저장소와 라이선스를 확인한 뒤 판단한다.
ComfyUI오류해결스테이블디퓨전AI이미지커스텀노드워크플로
junetapa
junetapa
AI 도구를 직접 굴려 보고 남은 기록을 정리한다.
Twitter Facebook URL 복사