はじめに
この記事は、 Makuake Advent Calendar 2023 4日目の記事です。
M1 MacにStable Diffusion Web UIをインストールしていい感じに使っていけるようにします。 Stable Diffusionを構築する方法は色々ありますが、Web UI(AUTOMATIC1111)を使っていくのが現状では一番楽かと思います。
Stable Diffusion Web UIとは
ローカル環境にStable Diffusionを構築し、それをWeb UI経由で操作できるようにしたものです。 Web UIをインストールすることで、Stable Diffusionの環境も一緒に構築されます。 それをブラウザ経由で操作する形になります。
Stable Diffusion Web UIのインストール
事前準備
brew辺りで以下をインストールしておきます。
- cmake
- protobuf
- rust
- git
- wget
Stable Diffusion Web UIのインストールと実行
インストールといっても、githubからクローンしてくるだけです。
$ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
クローンが終わったら、起動します。
初回起動時は色々とダウンロードしたりインストールしたりで、立ち上がるまで時間がかかります。
シェルを叩いたら、ログが流れるのでその中に出てくるURLにアクセスします。
ちゃんと起動できれば、勝手にブラウザが起動して表示してくれるはずです。
$ cd stable-diffusion-webui
$ ./webui.sh
動作確認
とりあえず1枚画像を生成してみます。
画面左上にある Stable Diffusion checkpoint
の横にあるリロードマークをクリックすると、
プルダウンで、 v1-5-pruned-emaonly.safetensors
が選べるようになります。
txt2img
のタブが選択されていることを確認して、その下のテキストボックス(ポジティブプロンプトの入力欄)に適当な文字を入力して、
Generate
をクリックします。
すると、画像が作成されるはずです。
以下はサンプルで生成した画像です。
いい感じにしていく
とりあえず、画像生成する環境はできたのですが、さらに使いやすくするためにエクステンションを追加していきます
エクステンションの追加方法
主に2つのやり方があるのでそれぞれ説明します。
- すでに用意されているものを選択して追加する方法
- githubのurlを指定して追加する方法
すでに用意されているものを選択して追加する方法
- Extentions タブをクリック
- Availableタブをクリック
- Load Fromをクリック
すると、インストールできるもの一覧が出るので、それぞれの右側にあるInstallボタンをクリックする
githubのurlを指定して追加する方法
- Extentions タブをクリック
- Install From URLタブをクリック
- URL for extension's git repository にリポジトリのURLを入力し、Installをクリック
おすすめエクステンション
入れておいて損のない最低限のものを選んでみました
CivitAI Browser+
- 1の方法で追加
- civitai でダウンロードできるモデルなどをStable Diffusion Web UI上でダウンロード、管理できるようになります。
- civitaiを開いてダウンロード、ダウンロードしたファイルをStable Diffusion Web UIの所定の場所に配置という手間を省けます。
- 各モデルのサンプル画像、その他の情報をStable Diffusion Web UI上で閲覧、使用できるようになります。
Infinite image browsing
- 1の方法で追加
- 生成した画像のブラウジングを楽にする
- 生成した画像から各種情報をtxt2imgなどの生成画面に転送することができる
Umi-AI
- 2の方法で追加
- URL:
https://github.com/Klokinator/Umi-AI
- プロンプトの記法を拡張できる
{ a | b | c}
と書くことで、a or b or cのどれかを選択というようなことができるようになる
a1111-sd-webui-tagcomplete
- 2の方法で追加
- URL:
https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git
- プロンプトの入力欄でautocompleteが効くようになる
sd-webui-prompt-all-in-one
- 2の方法で追加
- URL:
https://github.com/Physton/sd-webui-prompt-all-in-one.git
- プロンプトの入力関連のall in on。色々な機能があるが、とりあえず入れれば使い方はなんとなくわかる
sd-webui-prompt-format
- 2の方法で追加
- URL:
https://github.com/Haoming02/sd-webui-prompt-format
- プロンプトの入力欄をフォーマットしてくれる