> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comfy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# ComfyUI Flux.1 ControlNet 예제

> 이 가이드에서는 Flux.1 ControlNet을 사용한 워크플로우 예제를 보여드립니다.

<img src="https://mintcdn.com/dripart/TwfNQ2dEaWQA7tIL/images/tutorial/flux/flux-1-canny-controlnet.png?fit=max&auto=format&n=TwfNQ2dEaWQA7tIL&q=85&s=9796a0a85863c068c836ff7351b21729" alt="Flux.1 Canny Controlnet" width="1600" height="434" data-path="images/tutorial/flux/flux-1-canny-controlnet.png" />

<img src="https://mintcdn.com/dripart/TwfNQ2dEaWQA7tIL/images/tutorial/flux/flux-1-depth-controlnet.png?fit=max&auto=format&n=TwfNQ2dEaWQA7tIL&q=85&s=34c23b4e92011bb86fe97bc966441d80" alt="Flux.1 Depth Controlnet" width="1600" height="285" data-path="images/tutorial/flux/flux-1-depth-controlnet.png" />

## FLUX.1 ControlNet 모델 소개

FLUX.1 Canny와 Depth는 [Black Forest Labs](https://blackforestlabs.ai/)가 출시한 [FLUX.1 도구](https://blackforestlabs.ai/flux-1-tools/)의 두 가지 강력한 모델입니다. 이 툴킷은 FLUX.1에 제어 및 안내 기능을 추가하도록 설계되어, 사용자가 실제 이미지나 생성된 이미지를 수정하고 재창조할 수 있게 해줍니다.

**FLUX.1-Depth-dev**와 **FLUX.1-Canny-dev**는 모두 12B 파라미터의 Rectified Flow Transformer 모델로, 입력 이미지의 구조적 특성을 유지하면서 텍스트 설명을 기반으로 이미지를 생성할 수 있습니다.

Depth 버전은 깊이 맵 추출 기법을 통해 원본 이미지의 공간적 구조를 유지하며, Canny 버전은 경계 검출 기법을 사용해 원본 이미지의 구조적 특성을 보존합니다. 따라서 사용자는 서로 다른 요구 사항에 따라 적합한 제어 방식을 선택할 수 있습니다.

두 모델 모두 다음과 같은 특징을 가지고 있습니다:

* 최고 수준의 출력 품질과 디테일 표현
* 원본 이미지와 일관성을 유지하면서도 훌륭한 프롬프트 반응 능력
* 안내형 디스틸레이션 기법을 사용해 효율성 개선
* 연구 커뮤니티를 위한 오픈 소스 가중치
* API 인터페이스(프로 버전) 및 오픈소스 가중치(개발자 버전)

또한 Black Forest Labs는 완전한 모델에서 추출한 **FLUX.1-Depth-dev-lora**와 **FLUX.1-Canny-dev-lora** 어댑터 버전도 제공합니다. 이들은 FLUX.1 \[개발자] 기본 모델에 적용해 더 작은 파일 크기로 유사한 기능을 제공하며, 특히 리소스 제약이 있는 환경에 적합합니다.

우리는 **FLUX.1-Canny-dev**와 **FLUX.1-Depth-dev-lora**의 전체 버전을 사용해 워크플로우 예제를 완성할 것입니다.

<Tip>
  모든 워크플로우 이미지의 메타데이터에는 해당 모델 다운로드 정보가 포함되어 있습니다. 다음 방법으로 워크플로우를 로드할 수 있습니다:

  * ComfyUI로 직접 드래그하기
  * 또는 메뉴 `워크플로우` -> `열기（ctrl+o）`를 이용하기

  데스크톱 버전을 사용하지 않거나 일부 모델이 자동으로 다운로드되지 않는 경우, 수동 설치 섹션을 참고해 모델 파일을 해당 폴더에 저장하세요.

  이미지 전처리기를 사용하려면 다음 커스텀 노드를 사용해 이미지 전처리를 완료할 수 있습니다. 이번 예제에서는 처리된 이미지를 입력으로 제공하겠습니다.

  * [ComfyUI-Advanced-ControlNet](https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet)
  * [ComfyUI ControlNet aux](https://github.com/Fannovel16/comfyui_controlnet_aux)
</Tip>

## FLUX.1-Canny-dev 전체 버전 워크플로우

<a className="prose" target="_blank" href="https://cloud.comfy.org/?template=flux_canny_model_example&utm_source=docs" style={{ display: 'inline-block', backgroundColor: '#28a745', color: '#ffffff', padding: '10px 20px', borderRadius: '8px', borderColor: "transparent", textDecoration: 'none', fontWeight: 'bold'}}>
  <p className="prose" style={{ margin: 0, fontSize: "0.8rem" }}>Comfy Cloud에서 실행</p>
</a>

### 1. 워크플로우 및 자산

아래 워크플로우 이미지를 다운로드해 ComfyUI로 드래그하여 워크플로우를 로드해주세요.

![ComfyUI 워크플로우 - ControlNet](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/flux/controlnet/flux-1-canny-dev.png)

아래 이미지를 다운로드해, 이를 입력 이미지로 사용하겠습니다.

![ComfyUI Flux.1 Canny Controlnet 입력](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/flux/controlnet/flux-1-canny-dev-input.png)

### 2. 수동 모델 설치

<Note>
  이전에 [Flux 관련 워크플로우의 전체 버전](/ko/tutorials/flux/flux-1-text-to-image)을 사용한 적이 있다면, **flux1-canny-dev.safetensors** 모델 파일만 다운로드하면 됩니다.
  [black-forest-labs/FLUX.1-Canny-dev](https://huggingface.co/black-forest-labs/FLUX.1-Canny-dev)의 이용 약관에 동의해야 하므로, [black-forest-labs/FLUX.1-Canny-dev](https://huggingface.co/black-forest-labs/FLUX.1-Canny-dev) 페이지를 방문해 아래 이미지와 같이 해당 약관에 동의했는지 확인해 주세요.

  <img src="https://mintcdn.com/dripart/TwfNQ2dEaWQA7tIL/images/tutorial/flux/flux1_canny_dev_agreement.jpg?fit=max&auto=format&n=TwfNQ2dEaWQA7tIL&q=85&s=64b9b0d0d2b8dd332dc1184dde9689be" alt="Flux 동의" width="2000" height="1091" data-path="images/tutorial/flux/flux1_canny_dev_agreement.jpg" />
</Note>

완전한 모델 목록:

* [clip\_l.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors?download=true)
* [t5xxl\_fp16.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp16.safetensors?download=true)
* [ae.safetensors](https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors?download=true)
* [flux1-canny-dev.safetensors](https://huggingface.co/black-forest-labs/FLUX.1-Canny-dev/resolve/main/flux1-canny-dev.safetensors?download=true) (해당 리포지토리의 이용 약관에 동의했는지 확인해 주세요)

파일 저장 위치:

```
ComfyUI/
├── models/
│   ├── text_encoders/
│   │   ├── clip_l.safetensors
│   │   └── t5xxl_fp16.safetensors
│   ├── vae/
│   │   └── ae.safetensors
│   └── diffusion_models/
│       └── flux1-canny-dev.safetensors
```

### 3. 단계별 워크플로우 실행

<img src="https://mintcdn.com/dripart/TwfNQ2dEaWQA7tIL/images/tutorial/flux/flow_diagram_flux_1_canny_dev.jpg?fit=max&auto=format&n=TwfNQ2dEaWQA7tIL&q=85&s=9dfe7fc30106a96d837a93cb27958e42" alt="ComfyUI Flux.1 Canny Controlnet 단계 과정" width="4000" height="1736" data-path="images/tutorial/flux/flow_diagram_flux_1_canny_dev.jpg" />

1. `Load VAE` 노드에서 `ae.safetensors`가 로드되었는지 확인하세요.
2. `Load Diffusion Model` 노드에서 `flux1-canny-dev.safetensors`가 로드되었는지 확인하세요.
3. `DualCLIPLoader` 노드에서 다음 모델들이 로드되었는지 확인하세요:
   * clip\_name1: t5xxl\_fp16.safetensors
   * clip\_name2: clip\_l.safetensors
4. 제공된 입력 이미지를 `Load Image` 노드에 업로드하세요.
5. `Queue` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 워크플로우를 실행하세요.

### 4. 실험 시작하기

[FLUX.1-Depth-dev](https://huggingface.co/black-forest-labs/FLUX.1-Depth-dev) 모델을 사용해 Depth 버전의 워크플로우를 완성해보세요.

아래 이미지를 입력으로 사용할 수 있습니다.
![ComfyUI 실내 깊이 맵](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/controlnet/depth-t2i-adapter_input.png)

또는 다음 커스텀 노드를 사용해 이미지 전처리를 완료하세요:

* [ComfyUI-Advanced-ControlNet](https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet)
* [ComfyUI ControlNet aux](https://github.com/Fannovel16/comfyui_controlnet_aux)

## FLUX.1-Depth-dev-lora 워크플로우

<a className="prose" target="_blank" href="https://cloud.comfy.org/?template=flux_depth_lora_example&utm_source=docs" style={{ display: 'inline-block', backgroundColor: '#28a745', color: '#ffffff', padding: '10px 20px', borderRadius: '8px', borderColor: "transparent", textDecoration: 'none', fontWeight: 'bold'}}>
  <p className="prose" style={{ margin: 0, fontSize: "0.8rem" }}>Comfy Cloud에서 실행</p>
</a>

LoRA 버전 워크플로우는 완전한 버전을 기반으로 LoRA 모델을 추가한 것입니다. [Flux 워크플로우의 전체 버전](/ko/tutorials/flux/flux-1-text-to-image)과 비교해, 해당 LoRA 모델을 로드하고 사용하는 노드가 추가되었습니다.

### 1. 워크플로우 및 자산

아래 워크플로우 이미지를 다운로드해 ComfyUI로 드래그하여 워크플로우를 로드해주세요.

![ComfyUI 워크플로우 - ControlNet](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/flux/controlnet/flux-1-depth-dev-lora.png)

아래 이미지를 다운로드해, 이를 입력 이미지로 사용하겠습니다.

![ComfyUI Flux.1 Depth Controlnet 입력](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/flux/controlnet/flux-1-depth-dev-lora-input.png)

### 2. 수동 모델 다운로드

<Tip>
  이전에 [Flux 관련 워크플로우의 전체 버전](/ko/tutorials/flux/flux-1-text-to-image)을 사용한 적이 있다면, **flux1-depth-dev-lora.safetensors** 모델 파일만 다운로드하면 됩니다.
</Tip>

완전한 모델 목록:

* [clip\_l.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors?download=true)
* [t5xxl\_fp16.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp16.safetensors?download=true)
* [ae.safetensors](https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors?download=true)
* [flux1-dev.safetensors](https://huggingface.co/black-forest-labs/FLUX.1-dev/resolve/main/flux1-dev.safetensors?download=true)
* [flux1-depth-dev-lora.safetensors](https://huggingface.co/black-forest-labs/FLUX.1-Depth-dev-lora/resolve/main/flux1-depth-dev-lora.safetensors?download=true)

파일 저장 위치:

```
ComfyUI/
├── models/
│   ├── text_encoders/
│   │   ├── clip_l.safetensors
│   │   └── t5xxl_fp16.safetensors
│   ├── vae/
│   │   └── ae.safetensors
│   ├── diffusion_models/
│   │   └── flux1-dev.safetensors
│   └── loras/
│       └── flux1-depth-dev-lora.safetensors
```

### 3. 단계별 워크플로우 실행

<img src="https://mintcdn.com/dripart/TwfNQ2dEaWQA7tIL/images/tutorial/flux/flow_diagram_flux_1_depth_dev_lora.jpg?fit=max&auto=format&n=TwfNQ2dEaWQA7tIL&q=85&s=ea682a93040eac4c930e05a66e08dd7f" alt="ComfyUI Flux.1 Depth Controlnet 단계 과정" width="4000" height="1703" data-path="images/tutorial/flux/flow_diagram_flux_1_depth_dev_lora.jpg" />

1. `Load Diffusion Model` 노드에서 `flux1-dev.safetensors`가 로드되었는지 확인하세요.
2. `LoraLoaderModelOnly` 노드에서 `flux1-depth-dev-lora.safetensors`가 로드되었는지 확인하세요.
3. `DualCLIPLoader` 노드에서 다음 모델들이 로드되었는지 확인하세요:
   * clip\_name1: t5xxl\_fp16.safetensors
   * clip\_name2: clip\_l.safetensors
4. 제공된 입력 이미지를 `Load Image` 노드에 업로드하세요.
5. `Load VAE` 노드에서 `ae.safetensors`가 로드되었는지 확인하세요.
6. `Queue` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 워크플로우를 실행하세요.

### 4. 실험 시작하기

[FLUX.1-Canny-dev-lora](https://huggingface.co/black-forest-labs/FLUX.1-Canny-dev-lora) 모델을 사용해 Canny 버전의 워크플로우를 완성해보세요.

[ComfyUI-Advanced-ControlNet](https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet)이나 [ComfyUI ControlNet aux](https://github.com/Fannovel16/comfyui_controlnet_aux)를 사용해 이미지 전처리를 완료하세요.

## Flux Controlnets의 커뮤니티 버전

XLab과 InstantX + Shakker Labs는 Flux용 Controlnet을 출시했습니다.

**InstantX:**

* [FLUX.1-dev-Controlnet-Canny](https://huggingface.co/InstantX/FLUX.1-dev-Controlnet-Canny/blob/main/diffusion_pytorch_model.safetensors)
* [FLUX.1-dev-ControlNet-Depth](https://huggingface.co/Shakker-Labs/FLUX.1-dev-ControlNet-Depth/blob/main/diffusion_pytorch_model.safetensors)
* [FLUX.1-dev-ControlNet-Union-Pro](https://huggingface.co/Shakker-Labs/FLUX.1-dev-ControlNet-Union-Pro/blob/main/diffusion_pytorch_model.safetensors)

**XLab**: [flux-controlnet-collections](https://huggingface.co/XLabs-AI/flux-controlnet-collections)

이 파일들을 `ComfyUI/models/controlnet` 디렉토리에 배치하세요.

[Flux Controlnet 예제](https://raw.githubusercontent.com/comfyanonymous/ComfyUI_examples/refs/heads/master/flux/flux_controlnet_example.png)를 방문해 해당 워크플로우 이미지를 얻고, [여기](https://raw.githubusercontent.com/comfyanonymous/ComfyUI_examples/refs/heads/master/flux/girl_in_field.png)의 이미지를 입력 이미지로 사용하세요.
