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

# Flux Depth Control

> この章では、Flux Depth Control を使用して、元の画像と同様のコンテンツ位置深度を持つ画像を生成する方法を紹介します。

<Frame caption="この画像は AI によって生成されました">
  <img className="rounded-xl" src="https://mintcdn.com/comflowy/ASUCHD1tLe-QOf0J/images/intermediate/flux-depth-control/flux-depth-header-image.png?fit=max&auto=format&n=ASUCHD1tLe-QOf0J&q=85&s=bb67d944123e2a87854f8a9ccb469d59" alt="Flux Depth Control Header Image" width="1820" height="1024" data-path="images/intermediate/flux-depth-control/flux-depth-header-image.png" />
</Frame>

エッジを制御基準として使用するのと同様に、深度マップを使用して制御する方法もあります。この制御方法は、モデルにコンテンツ位置の深度情報を提供し、元の画像と同様のコンテンツ位置深度を持つ画像を生成することができます。

例えば、以下の図のように、Fluxモデルに画像を入力し、Fluxモデルによって元の画像と同様のコンテンツ位置を持つ画像を生成しました。生成された画像は、表情のわずかな変化を除いて（主に私のプロンプトが良くないため）、キャラクターの位置関係と姿勢が元の画像とほぼ同じであることがわかります。

<Frame>
  <img className="rounded-xl" src="https://mintcdn.com/comflowy/ASUCHD1tLe-QOf0J/images/intermediate/flux-depth-control/flux-depth-control-compare.png?fit=max&auto=format&n=ASUCHD1tLe-QOf0J&q=85&s=2830d51e3fd67376194eb69e66202fae" alt="Flux Depth Control" width="2968" height="1249" data-path="images/intermediate/flux-depth-control/flux-depth-control-compare.png" />
</Frame>

## 1. Flux Depth モデルのダウンロード

Cannyと同様に、現在は2種類のFlux Depthモデルがあります。1つはFlux公式によるFlux Depth LoRAの実装で、もう1つは他のオープンソース組織によるFlux Depth Controlnetの実装です。前者はControl LoRA技術に基づいており、後者はControlNet技術に基づいています。

どちらもダウンロードして試してみることができます：

* Flux公式は2つのDepth LoRAモデルファイルを提供しています。要件に応じて選択できます：
  * 1つは、Flux Depth LoRAとFlux Devを含むモデルです。[こちら](https://huggingface.co/black-forest-labs/FLUX.1-Depth-dev/tree/main)からこのモデルをダウンロードし、`/models/diffusion_models/`フォルダに配置します。ただし、このモデルはFlux Devモデルを含むため、かなり大きく、約24GBです。ただし、モデル読み込み時に1つのモデルのみを読み込めば良いという利点があります。
  * もう1つは、[こちら](https://huggingface.co/black-forest-labs/FLUX.1-Depth-dev-lora/tree/main)から別のFlux Depth LoRAモデルをダウンロードし、`models/loras/`フォルダに配置できます。このモデルファイルは約1.24GBです。
* 現在、Flux Depth Controlnetモデルを実装している2つのオープンソース組織があり、要件に応じて選択できます：
  * 最初は、Shakker-LabsとInstantXが共同で開発した[Depth ControlNetモデル](https://huggingface.co/Shakker-Labs/FLUX.1-dev-ControlNet-Depth/blob/main/diffusion_pytorch_model.safetensors)です。このモデルをダウンロードし、`models/controlnet/`フォルダに配置する必要があります。また、ダウンロード時にファイル名を`instantx_flux_depth.safetensors`に変更すると、その後の使用が容易になります。
  * もう1つは、XLabsが開発した[Flux Depth controlnet v2](https://huggingface.co/XLabs-AI/flux-controlnet-collections/tree/main)モデルです。このモデルもダウンロードし、`models/controlnet/`フォルダに配置する必要があります。

## 2. Flux Depth LoRA ワークフロー

もし、モデルをダウンロードしたバージョンがLoRAとDevモデルを組み合わせたものであれば、前の章の[Flux Edge Control](./flux-canny-control)をベースにしてワークフローを修正するだけです。または、[Comflowy](https://app.comflowy.com/app/s-flux-dev-gguf-workflow-db9bd4)からこのワークフローをダウンロードして使用します。

メソッドは非常に簡単です。① Diffusionノードグループ内の`flux Canny`をDepthモデルに置き換え、②`Canny`ノードを任意の`Depth`ノード（お気に入りのDepthノードを使用できます）に置き換え、最後に`Depth`ノードと`Load Image`ノードを接続します。Depthノードの効果をプレビューしたい場合は、`Depth`ノードと`Preview Image`ノードを接続して、Depthノードによって出力された深度マップを確認できます。

<Frame>
  <img className="rounded-xl" src="https://mintcdn.com/comflowy/ASUCHD1tLe-QOf0J/images/intermediate/flux-depth-control/flux-depth-control-workflow.png?fit=max&auto=format&n=ASUCHD1tLe-QOf0J&q=85&s=ff841c0a50e5b7e5ff365d810a3b67bb" alt="Flux Depth Control" width="3376" height="1234" data-path="images/intermediate/flux-depth-control/flux-depth-control-workflow.png" />
</Frame>

もし、別のFlux Depth LoRAモデルをダウンロードした場合は、`Load Diffusion Model`ノード（図①）の後に`LoraLoaderModelOnly`ノード（図②）を追加するだけです。そして、Diffusionノードグループ内の`flux dev depth`モデルを`flux dev`に置き換え、`LoraLoaderModelOnly`ノードでダウンロードしたFlux Depth LoRAモデルを選択します。

2つのバージョンの効果はほぼ同じです。

<Frame>
  <img className="rounded-xl" src="https://mintcdn.com/comflowy/ASUCHD1tLe-QOf0J/images/intermediate/flux-depth-control/flux-depth-control-lora-workflow.png?fit=max&auto=format&n=ASUCHD1tLe-QOf0J&q=85&s=5af8e05884c85385fec346623a4decc3" alt="Flux Depth Control" width="3462" height="1354" data-path="images/intermediate/flux-depth-control/flux-depth-control-lora-workflow.png" />
</Frame>

## 3. Flux Depth Controlnet ワークフロー

### 3.1 InstantX バージョン

まず、ControlNetモデルを実行すると余分なGPUメモリを占有するため、[Flux ComfyUIワークフロー](../basics/flux-comfyui-workflow)でGGUFバージョンのFluxワークフローをロードし、それをベースにしてワークフローを修正します。または、[Comflowy](https://app.comflowy.com/app/s-flux-dev-gguf-workflow-db9bd4)からこのワークフローをダウンロードして使用します。

このバージョンでは、以下の手順を実行します：

1. `Apply ControlNet with VAE`ノード（図①）を追加します。それを`Load VAE`（図②）、`Load ControlNet Model`（図②）、および任意の`Depth`ノード（図③）に接続します。
2. `Load ControlNet Model`ノードでダウンロードしたFlux Depth Controlnetモデルを選択します。
3. 生成された画像のサイズが入力された深度マップのサイズと同じであることを確実にするため、`Get Image Size`ノード（図④）を追加し、それを`SD3LatentImage`ノード（図⑤）に接続します。そのため、生成された画像のサイズは入力された深度マップのサイズと同じになります。

<Frame>
  <img className="rounded-xl" src="https://mintcdn.com/comflowy/ASUCHD1tLe-QOf0J/images/intermediate/flux-depth-control/flux-depth-control-shakker-workflow.jpeg?fit=max&auto=format&n=ASUCHD1tLe-QOf0J&q=85&s=1f665479c54f41eb4fc55f73109bfc6f" alt="Flux Depth Control" width="3552" height="1390" data-path="images/intermediate/flux-depth-control/flux-depth-control-shakker-workflow.jpeg" />
</Frame>

また、GGUFバージョンを使用したくない場合は、ComfyUIが提供するFP8バージョンを使用することもできます。その場合は、`Load VAE`ノードと`DualCLIPLoader`ノードを削除し、`Load Checkpoint`ノードに置き換えるだけです。そして、FluxモデルのFP8バージョンを選択します。

<Frame>
  <img className="rounded-xl" src="https://mintcdn.com/comflowy/ASUCHD1tLe-QOf0J/images/intermediate/flux-depth-control/flux-depth-control-fp8-workflow.jpeg?fit=max&auto=format&n=ASUCHD1tLe-QOf0J&q=85&s=073624ef33cc7aa67af4eefcf6de5b40" alt="Flux Depth Control" width="3614" height="1408" data-path="images/intermediate/flux-depth-control/flux-depth-control-fp8-workflow.jpeg" />
</Frame>

個人的には、Flux公式のDepth LoRAモデルが好きです。その効果はより優れています。

### 3.2 XLabs バージョン

XLabsバージョンのFlux Depth Controlnetモデルを使用するには、XLabsが開発したプラグインを使用する必要があります。そのGithubアドレスは[こちら](https://github.com/XLabs-AI/x-flux-comfyui)です。ComfyUIのComfyUI-Managerを通じてこのプラグインをインストールできます。詳細なインストール方法は[ComfyUIプラグインのインストール](https://comflowy.com/advanced/how-to-install-comfyui-extension)の記事を参照してください。

インストール後、Shakker-Labsバージョンのワークフローを修正できます。または、[Comflowy](https://app.comflowy.com/app/s-flux-dev-gguf-workflow-db9bd4)からこのワークフローをダウンロードして使用します。

修正はそれほど難しくありません：

<table>
  <thead>
    <tr>
      <th width="5%">図</th>
      <th>説明</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>①</td>
      <td>KSamplerノードをXlabs Samplerノードに置き換えます。このノードには追加の`controlnet_condition`入力があります。</td>
    </tr>

    <tr>
      <td>②</td>
      <td>`CLIPTextEncode`ノードを`CLIPTextEncodeFlux`ノードに置き換えます。このノードには追加の`controlnet_condition`入力があります。</td>
    </tr>

    <tr>
      <td>③</td>
      <td>`Apply ControlNet VAE`ノードを`Apply Flux ControlNet`ノードに置き換えます。</td>
    </tr>

    <tr>
      <td>④</td>
      <td>`Load ControlNet Model`ノードを`Load Flux ControlNet`ノードに置き換えます。そして、ダウンロードしたFlux Depth Controlnetモデルを選択します。</td>
    </tr>

    <tr>
      <td>⑤</td>
      <td>`Depth`ノードを追加します。お気に入りのDepthノードを使用できます。</td>
    </tr>

    <tr>
      <td>⑥</td>
      <td>`SD3LatentImage`ノードを使用します。これは、SD3バージョン以外にも最も基本的なバージョンで使用できることを示すためです。</td>
    </tr>
  </tbody>
</table>

<Frame>
  <img className="rounded-xl" src="https://mintcdn.com/comflowy/ASUCHD1tLe-QOf0J/images/intermediate/flux-depth-control/flux-depth-control-xlabs-workflow.jpeg?fit=max&auto=format&n=ASUCHD1tLe-QOf0J&q=85&s=f227501bcc0d586cc520ed741c443959" alt="Flux Depth Control" width="3672" height="1472" data-path="images/intermediate/flux-depth-control/flux-depth-control-xlabs-workflow.jpeg" />
</Frame>

## 4. Flux Depth API ワークフロー

もしコンピューターの性能が十分でなく、Flux Depth モデルを実行できない場合は、ComfyUI で Comflowy の [Depth API ノード](https://github.com/6174/comflowy-nodes) を使用してみることもできます。もちろん、[Comflowy](https://app.comflowy.com) で直接 Flux Depth API ノードを使用することもでき、リンク方法は非常に簡単で、1つのノードを使用するだけです。また、Flux Pro バージョンと Dev バージョンもサポートしています。

<Note>注意，このノードはAPIを使用するため、使用時に相応の料金がかかります。</Note>

<Frame>
  <img className="rounded-xl" src="https://mintcdn.com/comflowy/ASUCHD1tLe-QOf0J/images/intermediate/flux-depth-control/flux-depth-control-api-workflow.png?fit=max&auto=format&n=ASUCHD1tLe-QOf0J&q=85&s=23c6a525bb5022fe73e388e4e636d990" alt="Flux Depth Control" width="2344" height="1742" data-path="images/intermediate/flux-depth-control/flux-depth-control-api-workflow.png" />
</Frame>
