StableDiffusion

工具作者 @Dify。 ステーブルディフュージョンは、テキストプロンプトを基に画像を生成するツールです。DifyではステーブルディフュージョンWebUI APIへのアクセスを実現しているため、Dify内で直接利用することができます。以下にDifyにステーブルディフュージョンを統合する手順を説明します。

1. ローカル環境の初期化

ステーブルディフュージョンは、GPUを搭載したマシンを用いることで最適に画像を生成できます。しかし、必須ではなく、CPUのみでも画像を生成することは可能ですが、速度が非常に遅くなるかもしれません。

2. インストールし、ステーブルディフュージョンWebUIを起動する

ローカルマシンまたはサーバー上でステーブルディフュージョンWebUIを起動します。

  1. 公式リポジトリからステーブルディフュージョンWebUIリポジトリをクローンします。

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
  1. コマンドを実行してStable Diffusion WebUIを起動する リポジトリをクローンした後、クローンしたリポジトリのディレクトリに移動し、以下のコマンドを実行してステーブルディフュージョンWebUIを起動します。

Windows

cd stable-diffusion-webui
./webui.bat --api --listen

Linux

cd stable-diffusion-webui
./webui.sh --api --listen
  1. モデルの準備 ターミナルに表示されたアドレスをブラウザでアクセスすることでステーブルディフュージョンWebUIにアクセスできますが、モデルはまだ利用できません。HuggingFaceまたは他のソースからモデルをダウンロードし、ステーブルディフュージョンWebUIのmodelsディレクトリに配置する必要があります。

例えば、pastel-mixをモデルとして使用する場合、git lfsを使ってモデルをダウンロードし、stable-diffusion-webuimodelsディレクトリに配置します。

git clone https://huggingface.co/JamesFlare/pastel-mix

4 モデル名の取得 モデルリストにpastel-mixが表示されますが、モデル名を取得する必要があります。http://your_id:port/sdapi/v1/sd-modelsにアクセスすると、以下のようなモデル名が表示されます。

[
    {
        "title": "pastel-mix/pastelmix-better-vae-fp32.ckpt [943a810f75]",
        "model_name": "pastel-mix_pastelmix-better-vae-fp32",
        "hash": "943a810f75",
        "sha256": "943a810f7538b32f9d81dc5adea3792c07219964c8a8734565931fcec90d762d",
        "filename": "/home/takatost/stable-diffusion-webui/models/Stable-diffusion/pastel-mix/pastelmix-better-vae-fp32.ckpt",
        "config": null
    },
]

model_nameが必要です。この例ではpastel-mix_pastelmix-better-vae-fp32です。

3. Difyにステーブルディフュージョンを統合する

ツール > StableDiffusion > 認証へで認証とモデル設定を行い、前のステップで取得した情報を使用します。

4. 完了

  • チャットフロー/ワークフローアプリ

チャットフローとワークフロー アプリは、Stable Diffusionノードの追加をサポートしています。追加後、ノード内の「変数の入力→プロンプトワード」に変数を入力して引用する必要があります。ユーザーが入力したプロンプトの単語、または前のノードによって生成されたコンテンツ。最後に、「end」ノード内の変数を使用して、Stable Diffusionによって出力された画像を参照します。

  • エージェントアプリ

エージェント アプリケーションにStable Diffusionツールを追加し、ダイアログ ボックスで画像の説明を送信し、ツールを呼び出して AI 画像を生成します。

Last updated