【入門①】Stable Diffusion Web UI の使い方

## この記事の前提

<b>この記事は以下の記事に従って Web UI を使う環境を構築したことを前提としています。</b>他のやり方(ローカル環境、Google Colab 等)で構築された方は読み替えるか、以下の記事通りに環境を構築してからお読みください。

https://qiita.com/javacommons/items/0f58a5cfe07c757dc54a

## 準備

### 1. Stable Diffusion Web UI を起動します

### 2. BlueberryMix-1.0 モデルを選択します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/79c8b86a-2e1e-de29-644e-0f2724546b0d.png)

### 3.「txt2img」タブが選択されていることを確認します

Web UI 起動直後は「txt2img」タブが選択されています。それ以降タブを切り替えた場合には「txt2img」タブで作業したくなったら戻る(再度「txt2img」タブを選択しなおす)必要があります。

## 「プロンプト」と「ネガティブプロンプト」の基本

Paperspace でセットアップした環境では、「BlueberryMix」「chilled_remix」「Chilloutmix」の3モデルが使えるのですが、「プロンプト」と「ネガティブプロンプト」の設定で最も「癖(くせ)」のある「BlueberryMix」に合わせておけば他の2つのモデルにも対応できます。

### プロンプト(Prompt)

BlueberryMix の場合、実写(フォトリアル)的な画像を生成するには、プロンプトの先頭に以下の文字列を追加しておく必要があります(そうでない場合、3D CG もしくは、2.5次元と呼ばれるような画像になってしまうことがあります)。

```text:プロンプトの先頭に追加してください
(photo:2.0),(photorealistic:1.5),
masterpiece, best quality,ultra-detailed, ultra highres, 8k resolution,
```

### ネガティブプロンプト(Negative prompt)

BlueberryMix の場合、実写(フォトリアル)的な画像を生成するには、ネガティブプロンプトの先頭に以下の文字列を追加しておく必要があります(そうでない場合、3D CG もしくは、2.5次元と呼ばれるような画像になってしまうことがあります)。

```text:ネガティブプロンプトの先頭に追加してください
(low quality, worst quality:1.4),
```

## 生成する画像のサイズ

上記3モデルを含めて、現在配布されているモデルの多くは 512x512 ピクセルで学習されているので、このサイズを大きく逸脱するようなサイズの画像を生成しようとすると「破綻」してしまうことが多くなります。
また、Twitter や Instagram に投稿することを考えると正方形(512x512)または縦長(4:5)のサイズ(512x640)で生成するのが良策だと思われます。
この記事では、縦長(4:5)のサイズ(512x640)を用います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/36861154-c0e5-30fb-aa57-21e1df1ae1f3.png)

## いよいよ画像生成

### プロンプト、ネガティブプロンプトの準備

『「プロンプト」と「ネガティブプロンプト」の基本』の章に従って、必須のプロンプト先頭部を、「Prompt」「Negative Prompt」の欄にコピペしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/d08e898d-ccde-fbad-6a42-9b858a7f057f.png)

### 1st Try

プロンプトに「a girl」を足して「Generate」をクリックします。プロンプトは単語や熟語をカンマで区切りますが、半角空白や改行をいれてもかまいません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/847b64e5-3928-54b3-2aa9-a7d092ea38de.png)

私のところではこんな画像が生成されました。なんか顔がくずれてますね：

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/95bd1a61-88e3-d6c6-b938-40138265e71a.png)

### 2nd Try

こんどは多くの場合に顔が美しくなる呪文『(perfect face,highly detailed eyes:1.4)』を入れてみます：

```text:2nd Tryのプロンプト
(photo:2.0),(photorealistic:1.5),
masterpiece, best quality,ultra-detailed, ultra highres, 8k resolution,
(perfect face,highly detailed eyes:1.4),

a girl
```

私のところではこんな画像が生成されました：

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/a7814c8f-9327-4c14-ffab-33e577364bc9.png)

## 画像のアップスケール

【入門①】では、プロンプトの必須指定項目と顔が美しくなる呪文をお教えしたところで、512x640 の画像を2倍・4倍と(AIを使って)アップスケールする方法をお教えします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/8b9b5251-f2f3-8463-0307-d25b8d9be8fd.png)

「Extras」タブに自動遷移しますので、以下のように設定して「Generate」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/f85ce163-eced-7657-0150-ee763f588169.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/780c01d1-53a5-79dd-d7aa-95e8a8e17f09.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/e35e8062-096d-d2f6-95f1-b06dd92a4c25.png)

## 最後に

今回の【入門①】はここまでにしておきましょう。

### 「2nd Try」の設定で19回試行してみた結果(Batch count=19)：

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/339da871-f3b9-bb9d-8bcb-3f30d8b2d219.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/894a0d2e-6aec-b481-2cd6-f2398f79660a.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/d7a593d3-8bc8-0dd2-84cf-c02b60990565.png)

今回生成した画像(アップスケール後の1024x1280のもの)を張り付けておきます。それでは！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140610/e5234fef-205a-9a14-459d-fa6863dfafd2.png)