Stable Diffusionの最新モデル「SDXL 1.0」と過去モデルの生成画像をひたすら比較して進化を実感してみた

[Supership](https://supership.jp/)の名畑です。[週刊少年ジャンプ](https://www.shonenjump.com/j/)34号に掲載された[小園江ナツキ](https://twitter.com/osonoeosonoe)先生の読切漫画「[殺陣ロール](https://togetter.com/li/2192828)」好きです。

## はじめに

7月27日についに[Stable Diffusion](https://ja.stability.ai/stable-diffusion)の新モデル**SDXL**の**1.0**がリリースされました。当初の予定よりは遅れたものの、**0.9**がリリースされた6月23日から1月程度での高速リリースです。

**SDXL 0.9**の際に「[Stable Diffusionの最新モデルSDXL 0.9と過去モデルで生成画像を比較してみた](https://qiita.com/nabata/items/1b1fbc362d71dc76237b)」という記事で**Stable Diffusion**における生成画像の変遷をまとめましたが、今回も**SDXL 1.0**でどのように変わったのかを記録に残します。

画像の生成はPythonで[stability.aiのAPI](https://api.stability.ai/docs)を呼び出すことで行なっています。

**参考：[ASCII.jp：最新の画像生成AI「Stable Diffusion XL（SDXL）1.0」ついに公開　簡単に試す方法あります](https://ascii.jp/elem/000/004/147/4147167/)**

## 対象モデル

- **Stable Diffusion XL v1.0**
略称 SDXL 1.0 / 2023年7月27日リリース
- **Stable Diffusion XL v0.9**
略称 SDXL 0.9 / 2023年6月23日リリース
- **Stable Diffusion XL Beta v2.2.2**
略称 SDXL Beta / 2023年4月13日リリース
- **Stable Diffusion v2.1**
略称 SD 2.1 / 2022年12月7日リリース

今回はこの4つを比較していきます。
**SDXL 1.0**が最新で、そこから遡っていくと**SDXL 0.9**、**SDXL Beta**、**SD 2.1**の順番です。

## コード

画像生成に用いたPythonのコードは下記です。

```Python
import base64
import os
import requests
import time

engine_id = "stable-diffusion-xl-1024-v1-0"  # SDXL 1.0
# engine_id = "stable-diffusion-xl-1024-v0-9"  # SDXL 0.9
# engine_id = "stable-diffusion-xl-beta-v2-2-2"  # SDXL Beta
# engine_id = "stable-diffusion-512-v2-1"  # SD 2.1

api_host = os.getenv('API_HOST', 'https://api.stability.ai')
api_key = os.getenv("STABILITY_API_KEY")

# API Keyの取得確認
if api_key is None:
    raise Exception("Missing Stability API key.")

# API呼び出し
response = requests.post(
    f"{api_host}/v1/generation/{engine_id}/text-to-image",
    headers={
        "Content-Type": "application/json",
        "Accept": "application/json",
        "Authorization": f"Bearer {api_key}"
    },
    json={
        "Samples": 3,
        "style_preset": "anime",
        "text_prompts": [
            {
                "text": "Japanese moe heroine"
            }
        ],
    },
)

# レスポンス確認
if response.status_code != 200:
    raise Exception("Non-200 response: " + str(response.text))

# レスポンス取得
data = response.json()

# 画像保存
# ファイル名にはタイムスタンプとengine_id、通番を含めています
# 通番は0〜samplesの値 - 1
for i, image in enumerate(data["artifacts"]):
    with open(f"./{engine_id}_{int(time.time())}_{i}.png", "wb") as f:
        f.write(base64.b64decode(image["base64"]))
```

前回同様、画風が違うと比較が難しいため**style\_preset**も指定するようにしています。
全部で8つのプロンプトを試しましたが、最初の3つが**anime**、次の1つが**fantasy-art**、後半4つが**photographic**です。

アカウント作成などの基本的なことは過去記事「[Stable Diffusionでの画像生成をPythonとWeb APIで実装してみた記録](https://qiita.com/nabata/items/153ed75192004420c2e2)」にあるので、自分で試してみたいという方はをぜひご覧ください。画像の生成だけなら[Clipdrop](https://clipdrop.co/)を使った方が手軽ではありますが。

## 画像解像度

APIのデフォルトでは**解像度**(width/height)が**512x512**なのですが、**SDXL 1.0**はこの解像度に対応していないためか、無指定の場合は**1024x1024**で生成されました。**SDXL 0.9**も**1024x1024**で生成されますが、手元にある過去の生成物からして、以前は**512x512**だったのではないかと思います（確信はないですが）。

今回の記事において用いた**SD 2.1**、**SDXL Beta**の画像は**512x512**で生成されています。**SDXL 0.9**と**SDXL 1.0**の画像は**1024x1024**です。
全部を**1024x1024**で統一することも考えたのですがデフォルトに従うことを優先しました。

ただし**SDXL 0.9**と**SDXL 1.0**の画像も手元で**512x512**にリサイズした上で記事に掲載しています。**1024x1024**だと1枚あたりが1MBを超えてしまい、容量が大きすぎると考えたためです。

## 結果

ここからが結果です。

8つのプロンプトで画像を生成しました。

**SD 2.1**、**SDXL Beta**、**SDXL 0.9**の3モデルにつきましては、各3枚ずつの画像を表にまとめています。**SD 2.1**、**SDXL Beta**は前回の記事で生成した画像と同様です。**SDXL 0.9**は**1024x1024**で生成し直しています。

その次に、今回リリースされた**SDXL 1.0**で生成した画像3枚を縦に並べています。

## 日本の萌えヒロイン

「**日本の萌えヒロイン（Japanese moe heroine）**」を**anime**指定で生成しました。

```Python
"style_preset": "anime",
"text_prompts": [
    {
        "text": "Japanese moe heroine"
    }
],
```

### 過去モデル 生成結果(旧 → 新)

| SD 2.1 | SDXL Beta | SDXL 0.9 |
| :---: | :---: | :---: |
| <img alt="sd21_e_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/6994978b-d906-2409-dcaf-11bb1b5579f5.png"> | <img alt="sdxl_beta_e_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/b20a496c-5178-a1a9-a8d2-4a80043dcf6a.png"> | <img alt="sdxl_09_e_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/517ed850-1135-208e-4ed0-f8c5dc051d60.png"> |
| <img alt="sd21_e_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/fbd8de4f-9a28-e8e0-5688-2a66fe70d7f9.png"> | <img alt="sdxl_beta_e_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/64abca94-3849-b53c-b972-6e27a5ae111a.png"> | <img alt="sdxl_09_e_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/b84baaa5-a12d-b978-931e-9145c11ae04c.png"> |
| <img alt="sd21_e_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/38d0aec8-6ebf-f4ec-0de7-68024383fd2c.png"> | <img alt="sdxl_beta_e_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/41b130e1-26b3-5e83-5fed-e401b9aae0e7.png"> | <img alt="sdxl_09_e_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/685d4d16-72e8-8f63-d1b7-4a8fedd2b2ca.png"> |

モデルが新しくなるほどに、画風が**現代の流行り**に近づいているという印象を持ちました。

### 最新モデル SDXL 1.0 生成結果

<img alt="sdxl_1_a_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/d415ce9a-94f5-2efc-5f34-cf2a33e20514.png">
<img alt="sdxl_1_a_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/6940676b-90d9-83dc-4c1d-e1ea716efc6e.png">
<img alt="sdxl_1_a_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/e8a559c2-0117-580c-d66f-03ec00c67862.png">

第一印象としては、構図を含め、かなり絵としてのクオリティが上がったと感じました。より、**現代的な流行**りに近づいた。
ただ、腕など、不自然さが目立ちはしますね


## 日本の人気アニメに登場するスイーツ

次は「**日本の人気アニメに登場するスイーツ（Sweets that appear in popular Japanese anime）**」です。

```Python
"style_preset": "anime",
"text_prompts": [
    {
        "text": "Sweets that appear in popular Japanese anime"
    }
],
```

### 過去モデル 生成結果(旧 → 新)

| SD 2.1 | SDXL Beta | SDXL 0.9 |
| :---: | :---: | :---: |
| <img alt="sd21_g_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/ba0fdb8b-8a67-217d-23fb-226b9ba75fd3.png"> | <img alt="sdxl_beta_g_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/e971cc08-bb54-3163-f902-2900a41c0798.png"> | <img alt="sdxl_09_g_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/5f6d0fb0-d886-057a-3c3c-072a5575110a.png"> |
| <img alt="sd21_g_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/62511000-228a-fd0f-abfa-1e268aebd386.png"> | <img alt="sdxl_beta_g_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/eb2f0ae2-eb67-6444-ad63-dedc860dc74c.png"> | <img alt="sdxl_09_g_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/bb917953-8a34-43bb-0af2-b700415f320c.png"> |
| <img alt="sd21_g_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/ecf11ea0-29ba-ae1f-457c-56e1200c9bc9.png"> | <img alt="sdxl_beta_g_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/e9b677b4-9f38-3e5a-4022-280ad89d96c1.png"> | <img alt="sdxl_09_g_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/be11665a-0134-937a-1e46-cbf391f63f42.png"> |

前例の萌えヒロイン同様、モデルが新しくなるほどに**現代的な絵になる**という印象を受けました。ただ、スイーツの種類が一部日本のアニメっぽくないですかね。

### 最新モデル SDXL 1.0 生成結果

<img alt="sdxl_1_b_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/ff309e2b-9692-b0c7-3e00-f2627af00de6.png">
<img alt="sdxl_1_b_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/f7f505df-a2aa-0b00-650d-6d044c9d7f35.png">
<img alt="sdxl_1_b_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/c1a82e72-af2e-c256-e41a-c6193e305268.png">

スイーツという単語を聞いて私が思い描くものに近づいた、かな。

## 修学旅行中の男子高校生

続いて「**修学旅行中の男子高校生（Male high school student on a school trip）**」です。

```Python
"style_preset": "anime",
"text_prompts": [
    {
        "text": "Male high school student on a school trip"
    }
],
```

### 過去モデル 生成結果(旧 → 新)

| SD 2.1 | SDXL Beta | SDXL 0.9 |
| :---: | :---: | :---: |
| <img alt="sd21_f_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/d4546381-9091-a45d-2336-cc6f62e5af66.png"> | <img alt="sdxl_beta_f_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/e1fd3369-86c2-9df5-b240-42a3cd43ae07.png"> | <img alt="sdxl_09_f_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/d3cc9712-ceae-cb33-da18-b3f2de65a128.png"> |
| <img alt="sd21_f_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/3035027d-c9e7-8a43-e883-a4f22541a116.png"> | <img alt="sdxl_beta_f_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/fc093a4d-21f1-3541-9f0f-a2fc6cebafa7.png"> | <img alt="sdxl_09_f_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/3d8c8447-4ac2-651d-96fb-4acb2228034d.png"> |
| <img alt="sd21_f_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/7bad10fc-0fda-e4cd-7618-bc1ec679c8b3.png"> | <img alt="sdxl_beta_f_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/f6101936-9cf8-9582-7355-6edf45b553c0.png"> | <img alt="sdxl_09_f_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/e0fee887-9673-81ce-31dd-05fb222b6ddf.png"> |

新しいモデルになるほどに**修学旅行っぽさ**が増しているように思います。
ただ、そもそもとして**修学旅行っぽさ**ってなんだろう。

### 最新モデル SDXL 1.0 生成結果

<img alt="sdxl_1_c_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/0c1dcf4a-1dfc-2727-e1f6-e825505cda1b.png">
<img alt="sdxl_1_c_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/c331eab1-7b08-6c2d-c940-c673e95553cb.png">
<img alt="sdxl_1_c_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/e7af6cc0-7624-be17-9a0c-0407a4ffb0c2.png">

乗り物が登場していることなど、さらに**修学旅行っぽさ**が増しているように思います。
ところどころが不自然ではありますが。

##  ギターを演奏するお姫様

次は「**ギターを演奏するお姫様（A princess playing guitar）**」です。
**fantasy-art**を指定してみました。

```Python
"style_preset": "fantasy-art",
"text_prompts": [
    {
        "text": "A princess playing guitar"
    }
],
```

### 過去モデル 生成結果(旧 → 新)

| SD 2.1 | SDXL Beta | SDXL 0.9 |
| :---: | :---: | :---: |
| <img alt="sd21_h_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/54891afc-8689-02df-7440-bd149f53c3bc.png"> | <img alt="sdxl_beta_h_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/550e70fe-36cf-a216-5fed-152e3530c348.png"> | <img alt="sdxl_09_h_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/01cef4a4-90f1-17e0-a294-a5a3ff0b2af8.png"> |
| <img alt="sd21_h_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/e71b30c5-fee1-4191-39b9-d24294070a12.png"> | <img alt="sdxl_beta_h_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/966f72aa-2e3f-b26d-741d-9cbd8ca96ad3.png"> | <img alt="sdxl_09_h_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/0413ef24-da8b-525c-a95c-959ed81c1dc8.png"> |
| <img alt="sd21_h_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/eb78102d-a09b-2fc3-4cd2-8c8a0184bf45.png"> | <img alt="sdxl_beta_h_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/d2fac264-36aa-1ef0-cfdd-86f522c5d599.png"> | <img alt="sdxl_09_h_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/513f6a23-8708-97ff-7adb-a27ea2f33c89.png"> |

好みによるところも多分にあるでしょうが、いわゆるモデルが新しくなるほどに**上手な絵**になっていると感じました。

### 最新モデル SDXL 1.0 生成結果

<img alt="sdxl_1_d_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/e26d3c84-b65e-80ee-2069-7672f3748392.png">
<img alt="sdxl_1_d_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/d5a10ef0-e57c-db31-ccf8-f9a554124ed0.png">
<img alt="sdxl_1_d_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/77ab1685-296c-62e2-3e64-57da519bf639.png">

画風が固定されて感じるのは**style_preset**の影響でしょうか。
**SDXL 0.9**と同様にハイクオリティな絵ですね。

## ノートパソコン上の可愛い妖精

「**ノートパソコン上の可愛い妖精（A cute fairy on top of a white laptop）**」です。
ここからは**photographic**を指定しています。

```Python
"style_preset": "photographic",
"text_prompts": [
    {
        "text": "A cute fairy on top of a white laptop"
    }
],
```

### 過去モデル 生成結果(旧 → 新)

| SD 2.1 | SDXL Beta | SDXL 0.9 |
| :---: | :---: | :---: |
| <img alt="sd21_a_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/dbcef0a9-9b5e-00d5-a790-aef20922fa03.png"> | <img alt="sdxl_beta_a_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/3502d902-92f3-90c9-c65e-68106c58d7e9.png"> | <img alt="sdxl_09_a_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/97337972-c553-865f-340a-56f6f1ebe128.png"> |
| <img alt="sd21_a_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/d276d64c-53db-7c52-03cd-a5c4fb28a249.png"> | <img alt="sdxl_beta_a_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/fcc36fc2-52d7-a749-cf22-83bb820d17da.png"> | <img alt="sdxl_09_a_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/f2d5e076-2dc4-cb80-d329-cb60ea43408d.png"> |
| <img alt="sd21_a_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/d3af90f7-9645-c1ea-d689-0792303ddebb.png"> | <img alt="sdxl_beta_a_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/a12f1248-43c8-101e-23f4-d9b4c273de44.png"> | <img alt="sdxl_09_a_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/7a4b9ca7-0a24-766e-0b29-735b37107390.png"> |

モデルが新しくなるほどに、私の思う**可愛い妖精**に近づいているという印象です。

### 最新モデル SDXL 1.0 生成結果

<img alt="sdxl_1_e_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/41c3ff4e-e408-38ac-ccde-20302af37c1b.png">
<img alt="sdxl_1_e_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/43f4faaa-31d3-e921-1f62-3ab38e483740.png">
<img alt="sdxl_1_e_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/cbe79c4e-8c7b-9719-9796-7a714ab260e2.png">

ノートパソコンあたりの描画がより実物に近づいていますね。妖精が直接ノートパソコンの上にいることですとか。


## 黒いボブヘアで可愛い28歳の日本人女性

私がQiita記事で使う定番プロンプト「**黒いボブヘアで可愛い28歳の日本人女性（28-year-old Japanese pretty woman with black bobbed hair）**」です。

```Python
"style_preset": "photographic",
"text_prompts": [
    {
        "text": "28-year-old Japanese pretty woman with black bobbed hair"
    }
],
```

### 過去モデル 生成結果(旧 → 新)

| SD 2.1 | SDXL Beta | SDXL 0.9 |
| :---: | :---: | :---: |
| <img alt="sd21_b_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/0efdc578-b57d-559f-e9b9-a3dea36e2ec9.png"> | <img alt="sdxl_beta_b_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/7b84c353-0c48-4c9d-f129-b10536cc6fc0.png"> | <img alt="sdxl_09_b_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/bb06b25a-f194-f834-4813-2ff52ba4a4bf.png"> |
| <img alt="sd21_b_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/f9ad4c1b-040f-34f3-28f6-67618bcca8e8.png"> | <img alt="sdxl_beta_b_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/d1702ad3-3d70-9ce5-a313-4a7870fc7eb3.png"> | <img alt="sdxl_09_b_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/0dea6008-7cf4-fb0b-7cbe-413f5503df4f.png"> |
| <img alt="sd21_b_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/a3f57579-678f-ffa2-86c4-df230efebed3.png"> | <img alt="sdxl_beta_b_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/e2fb409e-8459-cc8d-b817-056912471647.png"> | <img alt="sdxl_09_b_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/2cdfe23c-323f-3ceb-13c2-9e96c7673e31.png"> |

新しいモデルになるほどに**上手な人が撮った写真**に近づいていると感じました。

### 最新モデル SDXL 1.0 生成結果

<img alt="sdxl_1_f_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/75ead9ad-6296-1f7f-2e8d-62002693cf1c.png">
<img alt="sdxl_1_f_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/ee43ab0b-b595-6ea2-1df4-8ada21e72bac.png">
<img alt="sdxl_1_f_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/2b0c408a-6b21-cb07-882f-dd5e3d2d09fd.png">

もはやただの思い込みの気もしますが**AIが生成する顔**から**実際にいる女性の顔**に近づいているような印象を持ちました。
あと、髪型も**ボブ**から連想されるものに近いです。

## 1980年代の香港の繁華街

人ではなく景色を生成してみます。「**1980年代の香港の繁華街（Hong Kong downtown in the 1980s）**」です。

```Python
"style_preset": "photographic",
"text_prompts": [
    {
        "text": "Hong Kong downtown in the 1980s"
    }
],
```

### 過去モデル 生成結果(旧 → 新)

| SD 2.1 | SDXL Beta | SDXL 0.9 |
| :---: | :---: | :---: |
| <img alt="sd21_c_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/bf537001-507a-2a92-f2c2-8b5ab2b29b44.png"> | <img alt="sdxl_beta_c_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/66beacde-f5eb-ec77-63aa-66ea163a3535.png"> | <img alt="sdxl_09_c_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/ca125899-a13b-506e-6ca2-68f379510d3b.png"> |
| <img alt="sd21_c_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/2219654b-9e57-b856-4d65-a7cde6769c15.png"> | <img alt="sdxl_beta_c_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/a5693f7d-aa32-0041-4225-472ee0e3dde8.png"> | <img alt="sdxl_09_c_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/54c112dc-0e2c-77b1-c5bc-f1e4c068f9bd.png"> |
| <img alt="sd21_c_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/8fa3878c-7e98-2247-6b30-4f81cb87860d.png"> | <img alt="sdxl_beta_c_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/d6de8ebd-e5b9-bcad-45ea-4380a7add744.png"> | <img alt="sdxl_09_c_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/2eddab46-5af7-3c18-b03c-d40da5bccda8.png"> |

モデルが新しくなるほどにプロンプトの再現度が上がっている印象は受けました。

### 最新モデル SDXL 1.0 生成結果

<img alt="sdxl_1_g_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/ae68da20-4315-442c-cee0-198b44fc24d8.png">
<img alt="sdxl_1_g_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/f3ba296f-6700-0a17-ee3c-c4cef7ced3a0.png">
<img alt="sdxl_1_g_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/ba80cf29-83df-ebcb-9882-3e601420e89e.png">

**写真っぽさ**が増し、また、私が香港を訪れたのは**2010年代**なので何の説得力もないかもしれませんが、**1980年代の香港っぽさ**も増しているように思います。

## 2020年の新宿歌舞伎町

最後になります。
「**2020年の新宿歌舞伎町（Shinjuku Kabukicho in 2020）**」です。

```Python
"style_preset": "photographic",
"text_prompts": [
    {
        "text": "Shinjuku Kabukicho in 2020"
    }
],
```

### 過去モデル 生成結果(旧 → 新)

| SD 2.1 | SDXL Beta | SDXL 0.9 |
| :---: | :---: | :---: |
| <img alt="sd21_d_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/ab39fb9c-9926-eea5-6817-8c9c5d0f1f79.png"> | <img alt="sdxl_beta_d_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/1bf0a318-b747-06c5-b975-edf48066a306.png"> | <img alt="sdxl_09_d_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/5a19caec-e02d-e7ab-334b-73e1243ca061.png"> |
| <img alt="sd21_d_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/fdbed97a-a8b4-3d3b-934a-dbfa20bd963b.png"> | <img alt="sdxl_beta_d_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/46f590ef-3423-02f7-9777-f41e03e70a28.png"> | <img alt="sdxl_09_d_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/29373be0-d393-2857-009e-4dfdaffe9222.png"> |
| <img alt="sd21_d_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/dca13cc0-3e1a-e746-388c-6d5426e29c99.png"> | <img alt="sdxl_beta_d_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/afd003b6-1d7e-518b-d76b-f4ab22033bed.png"> | <img alt="sdxl_09_d_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/d5d268ee-59ac-3e83-6914-9cdcefcb69c0.png"> |

新しいモデルほどに新宿のイメージに近付いているとは思いました。文字だけはどうしても「**それっぽい**」に留まりますね。

### 最新モデル SDXL 1.0 生成結果

<img alt="sdxl_1_h_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/91b71df3-48c2-2bf7-6af3-25f59e42db65.png">
<img alt="sdxl_1_h_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/5917be0e-9080-3c10-f6ec-9b1ed8c93f12.png">
<img alt="sdxl_1_h_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/4ba10d4e-f3f3-b57a-4d54-c2bfebec9bdf.png">

うーん、歌舞伎町に近づいているような、そうでもないような。

## 指定可能なモデル一覧

おまけとして[enginesのlist API](https://api.stability.ai/docs#tag/v1engines/operation/listEngines)で取得した指定可能なモデルのリストを貼っておきます。

```Python
[
    {
        "description": "Real-ESRGAN_x2plus upscaler model",
        "id": "esrgan-v1-x2plus",
        "name": "Real-ESRGAN x2",
        "type": "PICTURE"
    },
    {
        "description": "Stability-AI Stable Diffusion XL v0.9",
        "id": "stable-diffusion-xl-1024-v0-9",
        "name": "Stable Diffusion XL v0.9",
        "type": "PICTURE"
    },
    {
        "description": "Stability-AI Stable Diffusion XL v1.0",
        "id": "stable-diffusion-xl-1024-v1-0",
        "name": "Stable Diffusion XL v1.0",
        "type": "PICTURE"
    },
    {
        "description": "Stability-AI Stable Diffusion v1.4",
        "id": "stable-diffusion-v1",
        "name": "Stable Diffusion v1.4",
        "type": "PICTURE"
    },
    {
        "description": "Stability-AI Stable Diffusion v1.5",
        "id": "stable-diffusion-v1-5",
        "name": "Stable Diffusion v1.5",
        "type": "PICTURE"
    },
    {
        "description": "Stability-AI Stable Diffusion v2.0",
        "id": "stable-diffusion-512-v2-0",
        "name": "Stable Diffusion v2.0",
        "type": "PICTURE"
    },
    {
        "description": "Stability-AI Stable Diffusion 768 v2.0",
        "id": "stable-diffusion-768-v2-0",
        "name": "Stable Diffusion v2.0-768",
        "type": "PICTURE"
    },
    {
        "description": "Stability-AI Stable Diffusion Depth v2.0",
        "id": "stable-diffusion-depth-v2-0",
        "name": "Stable Diffusion v2.0-depth",
        "type": "PICTURE"
    },
    {
        "description": "Stability-AI Stable Diffusion v2.1",
        "id": "stable-diffusion-512-v2-1",
        "name": "Stable Diffusion v2.1",
        "type": "PICTURE"
    },
    {
        "description": "Stability-AI Stable Diffusion 768 v2.1",
        "id": "stable-diffusion-768-v2-1",
        "name": "Stable Diffusion v2.1-768",
        "type": "PICTURE"
    },
    {
        "description": "Stability-AI Stable Diffusion XL Beta v2.2.2",
        "id": "stable-diffusion-xl-beta-v2-2-2",
        "name": "Stable Diffusion v2.2.2-XL Beta",
        "type": "PICTURE"
    },
    {
        "description": "Stable Diffusion x4 Latent Upscaler",
        "id": "stable-diffusion-x4-latent-upscaler",
        "name": "Stable Diffusion x4 Latent Upscaler",
        "type": "PICTURE"
    },
    {
        "description": "Stability-AI Stable Inpainting v1.0",
        "id": "stable-inpainting-v1-0",
        "name": "Stable Inpainting v1.0",
        "type": "PICTURE"
    },
    {
        "description": "Stability-AI Stable Inpainting v2.0",
        "id": "stable-inpainting-512-v2-0",
        "name": "Stable Inpainting v2.0",
        "type": "PICTURE"
    }
]
```

## 最後に

生成画像を見た印象としては「**プロンプトから私がイメージするもの**」にさらに近づいたと感じます。
ただ、向上を感じるのは構図だったり、画風だったりについてであって、**正確性**についてはやはり改善が厳しいのだと感じる部分も多いです。

しかし、少なくとも現時点においては生成AIに最優先で求められるものは正確性ではない気がしているので、正確性を他で補う前提であれば、望まれる進化を辿っているように思えもします。

## 宣伝

[SupershipのQiita Organization](https://qiita.com/organizations/supership-inc)を合わせてご覧いただけますと嬉しいです。他のメンバーの記事も多数あります。

Supershipではプロダクト開発やサービス開発に関わる方を絶賛募集しております。
興味がある方は[Supership株式会社 採用サイト](https://supership.jp/recruit/)よりご確認ください。