ComfyUI는 python main.py로 시작할 때 명령줄 인수를 허용합니다. 이 페이지는 comfy/cli_args.py에 정의된 모든 플래그를 설명합니다.
Windows Portable 사용자는 .bat 실행 파일(예: run_nvidia_gpu.bat)에 플래그를 추가할 수 있습니다. 자세한 내용은 Windows Portable 가이드를 참조하세요.
ComfyUI 디렉토리에서 python main.py --help를 실행하면 내장 도움말 텍스트를 볼 수 있습니다. 필요에 따라 여러 플래그를 조합합니다:
python main.py --listen 0.0.0.0 --port 8288 --disable-auto-launch --lowvram
네트워크 및 서버
| 플래그 | 기본값 | 설명 |
|---|
--listen [IP] | 127.0.0.1 | 수신할 IP 주소. 쉼표로 구분된 목록 지원 (예: 127.2.2.2,127.3.3.3). 값을 지정하지 않으면 기본값 0.0.0.0,:: (모든 IPv4 및 IPv6 인터페이스)이 사용됩니다. |
--port | 8188 | 수신할 포트. |
--tls-keyfile PATH | — | TLS (SSL) 키 파일 경로. HTTPS를 활성화합니다. --tls-certfile이 필요합니다. |
--tls-certfile PATH | — | TLS (SSL) 인증서 파일 경로. HTTPS를 활성화합니다. --tls-keyfile이 필요합니다. |
--enable-cors-header [ORIGIN] | 비활성화 | CORS 활성화. 선택적으로 원본을 지정하거나, 값을 주지 않으면 * (모든 원본)로 설정됩니다. |
--max-upload-size | 100 | 최대 업로드 크기 (MB). |
--enable-compress-response-body | 비활성화 | HTTP 응답 본문 압축 활성화. |
# Listen on all interfaces (LAN access)
python main.py --listen
# Listen on a specific IP
python main.py --listen 0.0.0.0
# Custom port with HTTPS
python main.py --port 8443 --tls-keyfile key.pem --tls-certfile cert.pem
디렉토리
| 플래그 | 기본값 | 설명 |
|---|
--base-directory PATH | ComfyUI 루트 | 모델, custom_nodes, input, output, temp, user 디렉토리의 기본 경로. |
--extra-model-paths-config PATH | — | 하나 이상의 extra_model_paths.yaml 파일을 로드합니다. 여러 번 지정할 수 있습니다. |
--output-directory PATH | — | 출력 디렉토리. --base-directory를 덮어씁니다. |
--temp-directory PATH | — | 임시 디렉토리. --base-directory를 덮어씁니다. |
--input-directory PATH | — | 입력 디렉토리. --base-directory를 덮어씁니다. |
--user-directory PATH | — | 사용자 디렉토리 (절대 경로). --base-directory를 덮어씁니다. 경로가 존재하고 읽을 수 있어야 합니다. |
실행 및 브라우저
| 플래그 | 기본값 | 설명 |
|---|
--auto-launch | 비활성화 | 시작 시 기본 브라우저에서 ComfyUI를 자동으로 엽니다. |
--disable-auto-launch | 비활성화 | 브라우저 자동 실행을 비활성화합니다. |
--windows-standalone-build | 비활성화 | Windows 휴대용 빌드 편의 모드. 시작 시 자동 실행을 활성화합니다 (--auto-launch와 동일). |
--windows-standalone-build는 auto_launch를 true로 설정합니다. --disable-auto-launch가 이를 덮어씁니다. 브라우저를 열지 않고 서버로 실행하려면 --disable-auto-launch를 사용하세요.
# Run server without opening browser
python main.py --disable-auto-launch
장치 및 CUDA
| 플래그 | 기본값 | 설명 |
|---|
--cuda-device DEVICE_ID | — | 사용할 CUDA 장치 ID, 쉼표로 구분 (예: 0 또는 0,1). 다른 장치는 숨깁니다. |
--default-device ID | — | 기본 장치 ID. 다른 모든 장치는 계속 보입니다. |
--cuda-malloc | auto (torch 2.0+) | cudaMallocAsync 활성화. --disable-cuda-malloc과 상호 배타적입니다. |
--disable-cuda-malloc | — | cudaMallocAsync 비활성화. --cuda-malloc과 상호 배타적입니다. |
--directml [DEVICE] | — | torch-directml 사용. 선택적 장치 인덱스; 값을 주지 않으면 -1이 기본값입니다. |
--oneapi-device-selector STRING | — | Intel 장치용 oneAPI 장치 선택기 문자열. |
정밀도 및 추론
아래의 전역, UNET, VAE, 텍스트 인코더 그룹의 플래그는 각 그룹 내에서 상호 배타적입니다. 한 번에 그룹당 하나의 플래그만 사용할 수 있습니다.
전역 부동소수점
| 플래그 | 설명 |
|---|
--force-fp32 | 전역적으로 fp32 강제 적용. GPU 성능이 향상되면 보고해 주세요. |
--force-fp16 | 전역적으로 fp16 강제 적용. --fp16-unet도 설정합니다. |
UNET 정밀도
| 플래그 | 설명 |
|---|
--fp32-unet | 확산 모델을 fp32로 실행. |
--fp64-unet | 확산 모델을 fp64로 실행. |
--bf16-unet | 확산 모델을 bf16으로 실행. |
--fp16-unet | 확산 모델을 fp16으로 실행. |
--fp8_e4m3fn-unet | UNet 가중치를 fp8 (e4m3fn)로 저장. |
--fp8_e5m2-unet | UNet 가중치를 fp8 (e5m2)로 저장. |
--fp8_e8m0fnu-unet | UNet 가중치를 fp8 (e8m0fnu)로 저장. |
VAE 정밀도
| 플래그 | 설명 |
|---|
--fp16-vae | VAE를 fp16으로 실행. 검은 이미지가 생성될 수 있습니다. |
--fp32-vae | VAE를 전체 정밀도 fp32로 실행. |
--bf16-vae | VAE를 bf16으로 실행. |
--cpu-vae | VAE를 CPU에서 실행 (VAE 정밀도 플래그와 상호 배타적이지 않음). |
텍스트 인코더 정밀도
| 플래그 | 설명 |
|---|
--fp8_e4m3fn-text-enc | 텍스트 인코더 가중치를 fp8 (e4m3fn)로 저장. |
--fp8_e5m2-text-enc | 텍스트 인코더 가중치를 fp8 (e5m2)로 저장. |
--fp16-text-enc | 텍스트 인코더 가중치를 fp16으로 저장. |
--fp32-text-enc | 텍스트 인코더 가중치를 fp32로 저장. |
--bf16-text-enc | 텍스트 인코더 가중치를 bf16으로 저장. |
기타 추론 옵션
| 플래그 | 기본값 | 설명 |
|---|
--fp16-intermediates | 비활성화 | 실험적: 노드 간 중간 텐서에 fp32 대신 fp16 사용. |
--force-channels-last | 비활성화 | 추론 중 채널-마지막 메모리 형식 강제. |
--supports-fp8-compute | 비활성화 | 장치가 fp8 계산을 지원하는 것처럼 동작. |
--enable-triton-backend | 비활성화 | comfy-kitchen에서 Triton 백엔드 활성화. 시작 시 기본적으로 비활성화됨. |
미리보기
| 플래그 | 기본값 | 설명 |
|---|
--preview-method | none | 샘플러 노드의 미리보기 방식. 선택: none, auto, latent2rgb, taesd. |
--preview-size | 512 | 최대 미리보기 이미지 크기 (픽셀). |
캐시 모드 플래그는 상호 배타적입니다. --cache-ram, --cache-classic, --cache-lru, --cache-none 중 하나만 사용해야 합니다.
| 플래그 | 기본값 | 설명 |
|---|
--cache-ram [GB] [GB] | 활성화 (기본 모드) | RAM 압박 캐싱. 첫 번째 값: 활성 캐시 임계값 (GB). 선택적 두 번째 값: 비활성 캐시/고정 임계값 (GB). 값을 제공하지 않으면: 활성 = 시스템 RAM의 10% (최소 2 GB, 최대 10 GB); 비활성 = 시스템 RAM의 100% (최대 96 GB). 최대 두 개의 값을 허용. |
--cache-classic | — | 이전의 공격적인 캐싱 스타일을 사용합니다. |
--cache-lru N | 0 (비활성화) | 최대 N개의 노드 결과를 캐시하는 LRU 캐싱. RAM/VRAM을 더 많이 사용할 수 있습니다. |
--cache-none | — | RAM/VRAM 사용량 감소; 매 실행마다 모든 노드를 다시 실행합니다. |
Attention
교차 어텐션 방법 플래그는 상호 배타적입니다. xformers를 사용할 때 분할 및 사분 교차 어텐션은 무시됩니다.
| 플래그 | 설명 |
|---|
--use-split-cross-attention | 분할 교차 어텐션 최적화 사용. |
--use-quad-cross-attention | 서브-2차 교차 어텐션 최적화 사용. |
--use-pytorch-cross-attention | PyTorch 2.0 교차 어텐션 사용. |
--use-sage-attention | Sage 어텐션 사용. |
--use-flash-attention | FlashAttention 사용. |
--disable-xformers | xformers 비활성화. |
--force-upcast-attention | 어텐션 업캐스팅 강제 적용. 검은 이미지가 수정되는지 보고해 주세요. --dont-upcast-attention과 상호 배타적입니다. |
--dont-upcast-attention | 모든 어텐션 업캐스팅 비활성화. 디버깅 전용. |
VRAM 및 메모리
VRAM 모드 플래그 (--gpu-only, --highvram, --lowvram, --novram, --cpu)는 상호 배타적입니다.
| 플래그 | 기본값 | 설명 |
|---|
--gpu-only | — | 모든 것을 GPU에 저장하고 실행 (텍스트 인코더, CLIP 등). |
--highvram | — | 모델을 사용 후 CPU로 언로딩하지 않고 GPU 메모리에 유지. |
--lowvram | — | 동적 VRAM이 활성화된 경우 효과 없음. 그렇지 않으면 텍스트 인코더를 CPU에서 실행. |
--novram | — | --lowvram이 충분하지 않을 때 최소 VRAM 사용. |
--cpu | — | 모든 것을 CPU에서 실행 (느림). |
--reserve-vram GB | OS 종속 | OS 및 기타 소프트웨어를 위해 예약할 VRAM (GB). |
--async-offload [NUM_STREAMS] | Nvidia에서 활성화 | 비동기 가중치 오프로딩. 선택적 스트림 수 (기본값: 2). |
--disable-async-offload | — | 비동기 가중치 오프로딩 비활성화. |
--disable-dynamic-vram | — | 동적 VRAM 비활성화; 예측 기반 모델 로딩 사용. |
--enable-dynamic-vram | Nvidia에서 자동 | 기본적으로 활성화되지 않은 시스템에서 동적 VRAM 활성화. |
--fast-disk | 비활성화 | 고정되지 않은 RAM 대신 디스크 기반 동적 로딩 선호. 빠른 NVMe에서 유용. |
--force-non-blocking | 비활성화 | 논블로킹 텐서 연산 강제 적용. 비 Nvidia 시스템에서 도움이 될 수 있음; 일부 워크플로우를 깨뜨릴 수 있음. |
--disable-smart-memory | 비활성화 | 모델을 VRAM에 유지하는 대신 RAM으로 공격적으로 오프로드. |
--disable-pinned-memory | 비활성화 | 고정 메모리 사용 비활성화. |
--mmap-torch-files | 비활성화 | ckpt/pt 파일 로딩 시 mmap 사용. |
--disable-mmap | 비활성화 | safetensors 로딩 시 mmap 사용 안 함. |
성능 및 디버깅
| 플래그 | 기본값 | 설명 |
|---|
--fast [OPT...] | 비활성화 | 품질이나 안정성에 영향을 줄 수 있는 실험적 최적화를 활성화합니다. --fast 단독 사용 시 모든 항목이 활성화됩니다. 특정 옵션: fp16_accumulation, fp8_matrix_mult, cublas_ops, autotune. |
--deterministic | 비활성화 | 가능한 경우 더 느린 결정적 PyTorch 알고리즘 사용. 모든 경우에 동일한 이미지를 보장하지 않습니다. |
--default-hashing-function | sha256 | 중복 파일명/콘텐츠 비교를 위한 해시 함수. 선택: md5, sha1, sha256, sha512. |
# Enable all fast optimizations (experimental)
python main.py --fast
# Enable specific optimizations only
python main.py --fast fp16_accumulation cublas_ops
ComfyUI Manager
설치 안내는 ComfyUI-Manager 설치를 참조하세요.
| 플래그 | 설명 |
|---|
--enable-manager | ComfyUI-Manager 활성화. |
--disable-manager-ui | Manager UI 및 엔드포인트만 비활성화. 백그라운드 작업(예약 설치 등)은 계속 진행. --enable-manager 필요. |
--enable-manager-legacy-ui | 레거시 Manager UI 사용. --enable-manager 필요. |
사용자 정의 노드 및 API 노드
| 플래그 | 기본값 | 설명 |
|---|
--disable-all-custom-nodes | 비활성화 | 모든 사용자 정의 노드 로딩 비활성화. |
--whitelist-custom-nodes FOLDER... | — | --disable-all-custom-nodes가 설정된 경우에도 로드할 사용자 정의 노드 폴더. |
--disable-api-nodes | 비활성화 | API 노드를 비활성화하고 프론트엔드의 인터넷 통신을 차단합니다. |
--disable-metadata | 비활성화 | 출력 파일에 프롬프트 메타데이터 저장 비활성화. |
# Troubleshoot custom node issues
python main.py --disable-all-custom-nodes
# Allow only specific custom nodes
python main.py --disable-all-custom-nodes --whitelist-custom-nodes ComfyUI-Manager
프론트엔드 및 API
| 플래그 | 기본값 | 설명 |
|---|
--front-end-version | comfyanonymous/ComfyUI@latest | [owner]/[repo]@[version] 형식의 프론트엔드 버전. GitHub 릴리즈에서 다운로드하려면 인터넷이 필요합니다. 버전은 latest 또는 시맨틱 버전(예: 1.0.0)일 수 있습니다. |
--front-end-root PATH | — | 프론트엔드 디렉토리의 로컬 파일 시스템 경로. --front-end-version을 덮어씁니다. |
--comfy-api-base | https://api.comfy.org | ComfyUI API의 기본 URL. |
--database-url | sqlite:///<ComfyUI>/user/comfyui.db | 데이터베이스 URL. 인메모리로 사용하려면 sqlite:///:memory:를 지정하세요. |
--enable-assets | 비활성화 | 에셋 시스템 활성화 (API 라우트, 데이터베이스 동기화, 백그라운드 스캐닝). |
--feature-flag KEY[=VALUE] | — | 서버 기능 플래그 설정. KEY만 지정하면 true로 설정됩니다. 반복 사용 가능. 불리언과 숫자는 자동 변환됩니다. |
--list-feature-flags | — | CLI에서 설정 가능한 알려진 기능 플래그를 JSON으로 출력하고 종료합니다. |
# List available feature flags
python main.py --list-feature-flags
# Set feature flags
python main.py --feature-flag show_signin_button=true
로깅 및 기타
| 플래그 | 기본값 | 설명 |
|---|
--verbose [LEVEL] | INFO | 로깅 레벨. 선택: DEBUG, INFO, WARNING, ERROR, CRITICAL. --verbose만 단독으로 사용하면 DEBUG로 설정됩니다. |
--log-stdout | 비활성화 | 일반 프로세스 출력을 stderr 대신 stdout으로 전송합니다. |
--dont-print-server | 비활성화 | 서버 출력을 콘솔에 출력하지 않습니다. |
--multi-user | 비활성화 | 사용자별 저장소 활성화. |
--quick-test-for-ci | 비활성화 | CI용 빠른 시작 테스트. 초기화 후 즉시 종료됩니다. |
이 참조는 ComfyUI comfy/cli_args.py를 기반으로 합니다. ComfyUI를 업그레이드할 때 python main.py --help를 실행하거나 로컬 cli_args.py를 이 페이지와 비교하여 새로 추가되거나 변경된 플래그를 확인하세요.