Stability AIの最新サービス「Stable Image Ultra」とStable Diffusionの過去モデル(2022年〜)の生成画像をひたすら比較して進化を実感してみた

[Supership](https://supership.jp/)の名畑です。[創刊50周年記念 花とゆめ展](https://www.hanayume-ten.com/)は、歴史を感じながら、自分の思い出を重ねられる、素晴らしい展示でした。本当に名作揃い。

## はじめに

2023年7月に「[Stable Diffusionの最新モデル「SDXL 1.0」と過去モデルの生成画像をひたすら比較して進化を実感してみた](https://qiita.com/nabata/items/a9b3e759bc09c20581f6)」という記事を書きました。[Stability AI](https://ja.stability.ai/)による画像生成AIモデルである[Stable Diffusion](https://ja.stability.ai/stable-diffusion)の各バージョンでの出力結果を比較してみるという内容でした。
 
あれから1年経ちましたので、同じように、現時点での最新モデルと過去のモデルを比較しようというのが今回の主旨となります。2022年〜2024年までを比較して進化を実感しようというものです。

最新の画像生成手段としては**Stable Image Ultra**を用います。

> Our most advanced text to image generation service, Stable Image Ultra creates the highest quality images with unprecedented prompt understanding. Ultra excels in typography, complex compositions, dynamic lighting, vibrant hues, and overall cohesion and structure of an art piece. Made from the most advanced models, including Stable Diffusion 3, Ultra offers the best of the Stable Diffusion ecosystem.
> 
> 参考：[API Reference](https://platform.stability.ai/docs/api-reference#tag/Generate/paths/~1v2beta~1stable-image~1generate~1ultra/post)

日本語訳すると以下です。

> 私たちの最も高度なテキストから画像生成サービスであるStable Image Ultraは、これまでにないプロンプトの理解力で最高品質の画像を作成します。Ultraはタイポグラフィ、複雑な構図、動的な照明、鮮やかな色合い、そして芸術作品全体の一貫性と構造において卓越しています。Stable Diffusion 3を含む最先端のモデルを使用して作られており、UltraはStable Diffusionエコシステムの最高を提供します。

Ultra自体はモデル名ではなくサービス名であり、Stable Diffusion 3を含む最先端モデルを使用して最高品質な画像を出力してくれます。

画像の生成はPythonでAPIを呼び出すことで行なっています。

## 対象モデル / サービス

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

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

モデルが配布されているものについても学習や調整といった類のことは一切せず、**Web API**のレスポンスをそのまま比べます。

## API Key

[Developer Platform](https://platform.stability.ai/)でAPI Keyを発行する必要があります。価格は[Pricing](https://platform.stability.ai/pricing)をご参照ください。

ハードコーディングを避けるため、環境変数にでも保存しておきましょう。今回は**STABILITY\_API\_KEY**という名称で保存されていると仮定して進めます。

```
export STABILITY_API_KEY =ここに取得したAPI keyを書く
```

## コード

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

```Python
import os
import requests
import time

api_host = os.getenv('API_HOST', 'https://api.stability.ai')
api_key = os.getenv("STABILITY_API_KEY")
prompt = "ここにプロンプトを記述する"

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

# API呼び出し
response = requests.post(
    f"{api_host}/v2beta/stable-image/generate/ultra",
    headers={
        "Accept": "image/*",
        "Authorization": f"Bearer {api_key}"
    },
    files={"none": ''},
    data={
        "prompt": prompt,
        "output_format": "png",
    },
)

# 画像保存。ファイル名にはタイムスタンプを含めています
if response.status_code == 200:
    with open(f"./{int(time.time())}.png", "wb") as file:
        file.write(response.content)
else:
    raise Exception(str(response.json()))
```

過去のAPIでは**style\_preset**というパラメータで**anime**や**photographic**等のスタイル指定が可能だったのですが、**Ultra**にはそれがありません。そのため、プロンプトに直接スタイルを含める形を今回はとります。

以下はスタイルの指定例です。

```python
# 過去の指定
json={
    "style_preset": "anime",
    "text_prompts": [
        {
            "text": "Japanese moe heroine"
        }
    ],
}

# Ultraでの指定
data={
    "prompt": "anime style, sweets that appear in popular Japanese anime",
}
```

## 画像解像度

画像は**512x512**にリサイズした上で記事に掲載しています。容量を考慮してのものです。

## 結果

ここからが結果です。

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

**SD 2.1**、**SDXL Beta**、**SDXL 1.0**の3モデルにつきましては、各3枚ずつの画像を表にまとめています。先述の[過去記事](https://qiita.com/nabata/items/a9b3e759bc09c20581f6)で生成した画像を流用しています。

その次に**Ultra**で生成した画像3枚を縦に並べています。

## 日本の萌えヒロイン

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

```Python
prompt = "anime style, Japanese moe heroine"
```

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

まずは過去のモデルでの結果です。

| SD 2.1(2022.12) | SDXL Beta(2023.4) | SDXL 1.0(2023.7) |
| :---: | :---: | :---: |
| <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_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="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_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="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_1_a_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/e8a559c2-0117-580c-d66f-03ec00c67862.png"> |

パッと見ただけでもかなりの変化、進化が伝わるかと思います。

### 最新 Ultra 生成結果

次に最新の**Ultra**での結果です。

![ultra_a_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/7335f07d-0e3f-ecce-c631-0bafb21d0ecc.png)
![ultra_a_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/01625a1b-eb65-4c36-979a-5652fc924373.png)
![ultra_a_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/261a2814-8206-823e-7f9f-5ea13c9caf65.png)

プロンプトへの忠実度が上がっているというか、余計なものが描かれなくなった感があります。これは以降に結果を紹介する他のプロンプトでも共通の印象です。

それと、言語化は難しいですが、絵としての描き込みなのか構図なのか、あるいはただの私の好みの問題かもしれませんが、高品質になったと感じます。


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

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

```Python
prompt = "anime style, sweets that appear in popular Japanese anime"
```

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

| SD 2.1(2022.12) | SDXL Beta(2023.4) | SDXL 1.0(2023.7) |
| :---: | :---: | :---: |
| <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_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="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_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="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_1_b_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/c1a82e72-af2e-c256-e41a-c6193e305268.png"> |

### 最新 Ultra 生成結果

![ultra_b_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/f5f74b41-5da3-a857-2f89-7767a542911a.png)
![ultra_b_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/e1882f1c-b63b-61b4-b613-4a8b22d21ecb.png)
![ultra_b_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/cae9c7e1-31be-9747-6ad5-5d3c4b8e453f.png)

スイーツだけを描いてくれています。
また、過去の生成物と比べると、実際にありそうです。

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

「**修学旅行中の男子高校生（Male high school student on a school trip）**」です。こちらも**anime**指定となります。

```Python
prompt = "anime style, male high school student on a school trip"
```

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

| SD 2.1(2022.12) | SDXL Beta(2023.4) | SDXL 1.0(2023.7) |
| :---: | :---: | :---: |
| <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_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="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_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="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_1_c_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/e7af6cc0-7624-be17-9a0c-0407a4ffb0c2.png"> |

### 最新 Ultra 生成結果

![ultra_c_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/93b3e916-6082-d0ac-1155-8fd818326458.png)
![ultra_c_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/b10c2570-909c-2bc7-f00d-d3ab032d7554.png)
![ultra_c_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/afc2cb97-cfb7-3403-8656-f370f5c92df2.png)

構図の違いによるものも大きいでしょうが、体型をはじめとして、不自然が減ったと思います。

前回の記事でも書きましたが、修学旅行中かどうかという判断はなかなか難しい。

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

次は「**ギターを演奏するお姫様（A princess playing guitar）**」です。
ここから2プロンプトは**fantasy-art**を指定しています。

```Python
prompt = "fantasy-art style, a princess playing guitar"
```

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

| SD 2.1(2022.12) | SDXL Beta(2023.4) | SDXL 1.0(2023.7) |
| :---: | :---: | :---: |
| <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_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="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_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="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_1_d_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/77ab1685-296c-62e2-3e64-57da519bf639.png"> |

### 最新 Ultra 生成結果

![ultra_d_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/6b2f5606-c8aa-515b-581d-0c5d7bc5c8ec.png)
![ultra_d_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/75f8b865-1586-c977-8a92-159f2186b74f.png)
![ultra_d_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/7a03fa21-1e68-ffbc-6de9-3751ea63c2d7.png)

これも言語化は難しいですが、絵としての描き込み等の差なのか、高品質と感じられます。

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

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

```Python
prompt = "photographic style, a cute fairy on top of a white laptop"
```

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

| SD 2.1(2022.12) | SDXL Beta(2023.4) | SDXL 1.0(2023.7) |
| :---: | :---: | :---: |
| <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_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="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_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="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_1_e_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/cbe79c4e-8c7b-9719-9796-7a714ab260e2.png"> |

### 最新 Ultra 生成結果

![ultra_e_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/ad5207bc-496f-fb55-2208-d5c403ce7c6a.png)
![ultra_e_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/c2298a3d-1769-19d5-4850-78ccd7b446e4.png)
![ultra_e_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/15ed06ea-bc21-ee08-412c-131321fd6119.png)

妖精がより前面に出されたからか、かなり印象が変わりましたね。

手足の位置など、他のプロンプトに比べて違和感が目立ちます。

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

「**黒いボブヘアで可愛い28歳の日本人女性（28-year-old Japanese pretty woman with black bobbed hair）**」です。

```Python
prompt = "photographic style, 28-year-old Japanese pretty woman with black bobbed hair"
```

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

| SD 2.1(2022.12) | SDXL Beta(2023.4) | SDXL 1.0(2023.7) |
| :---: | :---: | :---: |
| <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_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="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_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="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_1_f_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/2b0c408a-6b21-cb07-882f-dd5e3d2d09fd.png"> |

### 最新 Ultra 生成結果

![ultra_f_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/8a87567a-bd0a-fda9-3459-65fef5b6664d.png)
![ultra_f_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/ebb7386d-adf3-6273-df4f-152a578115a2.png)
![ultra_f_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/1276e620-7e06-c8d6-7fe3-03376699f40f.png)

より自然になった、でしょうか。
顔からAIっぽさが減って日本人っぽさが増した気がします。
気のせいだろうか。
見すぎてよくわからなくなってきました。

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

「**1980年代の香港の繁華街（Hong Kong downtown in the 1980s）**」です。

```Python
prompt = "photographic style, Hong Kong downtown in the 1980s"
```

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

| SD 2.1(2022.12) | SDXL Beta(2023.4) | SDXL 1.0(2023.7) |
| :---: | :---: | :---: |
| <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_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="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_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="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_1_g_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/ba80cf29-83df-ebcb-9882-3e601420e89e.png"> |

### 最新 Ultra 生成結果

![ultra_g_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/99a1df67-df49-9409-8ece-762d07b09c9a.png)
![ultra_g_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/e5ebe15e-51b2-3786-6bc8-f8dd1e33aa92.png)
![ultra_g_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/58e5b546-d268-95d4-b108-3a5234cd94f3.png)

画像として自然になったように思います。

## 2020年の新宿歌舞伎町

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

```Python
prompt = "photographic style, Shinjuku Kabukicho in 2020"
```

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

| SD 2.1(2022.12) | SDXL Beta(2023.4) | SDXL 1.0(2023.7) |
| :---: | :---: | :---: |
| <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_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="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_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="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_1_h_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/4ba10d4e-f3f3-b57a-4d54-c2bfebec9bdf.png"> |

### 最新 Ultra 生成結果

![ultra_h_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/f85b9410-6d10-00f7-2f7b-856a27148b30.png)
![ultra_h_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/555622cc-b0c6-ae22-9e57-9003c35216d0.png)
![ultra_h_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/f89fa6ee-011d-862e-87c6-eb8d86157c6f.png)

文字が正しくないという問題は以前として残っていますが、より写真っぽさというか、現実味は増した感があります。

## 最後に

説明するのはなかなか難しいですが

- プロンプトにない要素の描画が減った
- AIっぽさが減った
- 描き込みが増えた

というのが今回の印象です。
定性的な話なので、他の方はまったく違う印象を持つかもしれません。

なんにせよ、こうして並べてみると、かなりの進化を実感はします。
1年半でここまで変わるとは驚きだというのは本音です。

## 宣伝

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

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