> ## 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.

# ByteDance USO ComfyUI ネイティブワークフローの例

> ByteDance の USO モデルを用いた統一スタイル・主体駆動型生成

**USO（Unified Style-Subject Optimized）** は、ByteDance の UXO チームが開発したモデルであり、スタイル駆動型および主体駆動型の生成タスクを統合します。\
FLUX.1-dev アーキテクチャを基盤とし、分離学習（disentangled learning）およびスタイル報酬学習（SRL：Style Reward Learning）により、スタイルの類似性と主体の一貫性の両方を実現しています。

USO は以下の3つの主要なアプローチをサポートします：

* **主体駆動型**：主体を新しいシーンに配置しつつ、そのアイデンティティの一貫性を維持
* **スタイル駆動型**：参照画像に基づいて、新しいコンテンツに芸術的スタイルを適用
* **組み合わせ型**：主体参照画像とスタイル参照画像を同時に使用

**関連リンク**

* [プロジェクトページ](https://bytedance.github.io/USO/)
* [GitHub](https://github.com/bytedance/USO)
* [モデル重み](https://huggingface.co/bytedance-research/USO)

## ByteDance USO ComfyUI ネイティブワークフロー

<Tip>
  <Tabs>
    <Tab title="ポータブル版または自宅サーバーで実行しているユーザー">
      ComfyUI が最新版に更新されていることを確認してください。

      * [ComfyUI のダウンロード](https://www.comfy.org/download)
      * [更新手順](/ja/installation/update_comfyui)

      このガイドで紹介するワークフローは、[ワークフローテンプレート](/ja/interface/features/template)から入手できます。\
      テンプレート内に該当のワークフローが見つからない場合、ComfyUI のバージョンが古くなっている可能性があります。（デスクトップ版の更新は若干遅れることがあります）

      ワークフローを読み込んだ際にノードが欠落している場合の主な原因：

      1. 最新の ComfyUI（Nightly 版）を使用していない
      2. 起動時に一部のノードのインポートに失敗している
    </Tab>

    <Tab title="デスクトップ版またはクラウド版ユーザー">
      * デスクトップ版は ComfyUI の安定版（Stable Release）をベースとしており、新しいデスクトップ安定版がリリースされると自動的に更新されます。
      * [Cloud](https://cloud.comfy.org) は、ComfyUI の安定版リリース後に更新されます。

      したがって、このドキュメントで記載されているコアノードのうち、一部が利用できない場合は、そのノード機能がまだ最新の安定版に含まれていないためです。次回の安定版リリースをお待ちください。
    </Tab>
  </Tabs>
</Tip>

### 1. ワークフローと入力

以下の画像をダウンロードし、ComfyUI にドラッグ＆ドロップして、対応するワークフローを読み込みます。

![ワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/refs/heads/main/flux/bytedance-uso/bytedance-uso.png)

<a className="prose" target="_blank" href="https://raw.githubusercontent.com/Comfy-Org/workflow_templates/refs/heads/main/templates/flux1_dev_uso_reference_image_gen.json" style={{ display: 'inline-block', backgroundColor: '#0078D6', color: '#ffffff', padding: '10px 20px', borderRadius: '8px', borderColor: "transparent", textDecoration: 'none', fontWeight: 'bold', marginRight: '10px'}}>
  <p className="prose" style={{ margin: 0, fontSize: "0.8rem" }}>JSON ワークフローをダウンロード</p>
</a>

<a className="prose" target="_blank" href="https://cloud.comfy.org/?template=flux1_dev_uso_reference_image_gen&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>

以下の画像を入力画像として使用します。

![入力](https://raw.githubusercontent.com/Comfy-Org/example_workflows/refs/heads/main/flux/bytedance-uso/input.png)

### 2. モデルのダウンロードリンク

**checkpoints**

* [flux1-dev-fp8.safetensors](https://huggingface.co/Comfy-Org/flux1-dev/resolve/main/flux1-dev-fp8.safetensors)

**loras**

* [uso-flux1-dit-lora-v1.safetensors](https://huggingface.co/Comfy-Org/USO_1.0_Repackaged/resolve/main/split_files/loras/uso-flux1-dit-lora-v1.safetensors)

**model\_patches**

* [uso-flux1-projector-v1.safetensors](https://huggingface.co/Comfy-Org/USO_1.0_Repackaged/resolve/main/split_files/model_patches/uso-flux1-projector-v1.safetensors)

**clip\_visions**

* [sigclip\_vision\_patch14\_384.safetensors](https://huggingface.co/Comfy-Org/sigclip_vision_384/resolve/main/sigclip_vision_patch14_384.safetensors)

上記すべてのモデルをダウンロードし、以下のディレクトリ構造に配置してください：

```
📂 ComfyUI/
├── 📂 models/
│   ├── 📂 checkpoints/
│   │   └── flux1-dev-fp8.safetensors
│   ├── 📂 loras/
│   │   └── uso-flux1-dit-lora-v1.safetensors
│   ├── 📂 model_patches/
│   │   └── uso-flux1-projector-v1.safetensors
│   ├── 📂 clip_visions/
│   │   └── sigclip_vision_patch14_384.safetensors
```

### 3. ワークフローの操作手順

<img src="https://mintcdn.com/dripart/3zBG7o3F8mQK7Rdk/images/tutorial/flux/flux1_uso_reference_image_gen.jpg?fit=max&auto=format&n=3zBG7o3F8mQK7Rdk&q=85&s=60e1dc7cccd4b732ff2a6e24767d7630" alt="ワークフローの操作手順" width="2000" height="1188" data-path="images/tutorial/flux/flux1_uso_reference_image_gen.jpg" />

1. モデルの読み込み：
   * 1.1 `Load Checkpoint` ノードに `flux1-dev-fp8.safetensors` が正しく読み込まれていることを確認
   * 1.2 `LoraLoaderModelOnly` ノードに `dit_lora.safetensors` が正しく読み込まれていることを確認
   * 1.3 `ModelPatchLoader` ノードに `projector.safetensors` が正しく読み込まれていることを確認
   * 1.4 `Load CLIP Vision` ノードに `sigclip_vision_patch14_384.safetensors` が正しく読み込まれていることを確認
2. コンテンツ参照（主体参照）：
   * 2.1 `Upload` をクリックして、提供済みの入力画像をアップロード
   * 2.2 `ImageScaleToMaxDimension` ノードが入力画像をコンテンツ参照用にスケーリングします。512px ではキャラクターの特徴をより多く保持できますが、入力としてキャラクターの顔のみを使用する場合、出力画像でキャラクターが画面を過剰に占めてしまう（または品質が低下する）問題が生じることがあります。1024px に設定すると、より良好な結果が得られます。
3. この例では、`content reference`（コンテンツ参照）の画像入力のみを使用しています。`style reference`（スタイル参照）の画像入力を使用したい場合は、マーカー付きノードグループを `Ctrl+B` でバイパスできます。
4. プロンプトを自由に記述するか、デフォルトのまま使用
5. 必要に応じて出力画像サイズを設定
6. `EasyCache` ノードは推論速度の向上を目的としていますが、画質およびディテールの一部を犠牲にします。不要な場合は `Ctrl+B` でバイパス可能です。
7. `Run` ボタンをクリックするか、ショートカット `Ctrl(Cmd) + Enter` を使用してワークフローを実行

### 4. 補足情報

1. スタイル参照のみのワークフロー：

同一のワークフロー内に、スタイル参照のみを用いるバージョンも提供しています。

<img src="https://mintcdn.com/dripart/6BfRVG5RoFiMLPEQ/images/tutorial/flux/flux1_uso_reference_image_gen_style_reference_only.jpg?fit=max&auto=format&n=6BfRVG5RoFiMLPEQ&q=85&s=d5f16dbe97ac74b1bf01587aaabe12b8" alt="ワークフロー" width="4366" height="2498" data-path="images/tutorial/flux/flux1_uso_reference_image_gen_style_reference_only.jpg" />\
唯一の違いは、`content reference` ノードを `Empty Latent Image` ノードに置き換え、必要な画像サイズを生成することです。

2. また、`Style Reference` グループ全体を `Ctrl+B` でバイパスすることで、このワークフローをテキストから画像を生成する（text-to-image）ワークフローとしても利用可能です。つまり、本ワークフローには以下の4種類のバリエーションがあります：

* コンテンツ（主体）参照のみを使用
* スタイル参照のみを使用
* コンテンツ参照とスタイル参照を併用
* テキストから画像を生成する（text-to-image）ワークフローとして使用
