ChatGPT の Dall-E 3 でプレゼン資料用アイコンを生成しようとしてみる（そこで似た見た目を作ろうとしてみる）【LT・プレゼン】

この記事は、「[LT・プレゼン Advent Calendar 2024](https://qiita.com/advent-calendar/2024/lt)」の 20日目の記事です。

## はじめに
個人の活動で技術コミュニティ活動を行うのですが、そこで登壇をする機会があった際に使うプレゼン資料では、イラスト・アイコンの素材をよく使います。

例えば、以下の素材サイトのものを使ったりします。

●かわいいフリー素材集 いらすとや
　https://www.irasutoya.com/

●アイコン素材ダウンロードサイト「icooon-mono」 | 商用利用可能なアイコン素材が無料(フリー)ダウンロードできるサイト | 6000個以上のアイコン素材を無料でダウンロードできるサイト ICOOON MONO
　https://icooon-mono.com/

スライドでの利用例は、例えば以下です。

![7826ff34-687a-3582-bf29-06c316d672e5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/70969f5c-b9bc-22bd-9a4b-87df0e7bef47.jpeg)

![db901564-5b34-bf63-24a1-1814f4f98cf1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/6787add2-fa30-e80d-dc4e-58aa5989c41a.jpeg)

今回は、素材サイトから入手するのではなく、ChatGPT の Dall-E 3 での生成を試します。

:::note alert 
今回、まずは Dall-E 3 での生成を試してみる、というところだけやっており、生成したものを外部公開資料などに使って問題ないか等という部分は扱っていません。

画像生成AI で出力した画像の実際の利用に関しては、利用する生成AI での利用規約や、用途によって異なる部分だと思われますので、その点はご自身でご確認ください。
:::

## やってみること
今回、アイコン画像を生成するにあたり、以下のような要件でやってみようと思いました。

- アイコンが複数並んだシートを生成する
- 何らかアイコンの画風は指定する
- 似た雰囲気のアイコンを生成しようとしてみる

上記を意識しての画像生成はやったことがなかったため、まずは上記を満たせそうな方法があるか、それに役立ちそうな知見を集めるところからやってみます。

### 参考情報：アイコンが複数並んだシートを生成する
まずは、単一のアイコン画像を生成するのではなく、アイコンがたくさん並んだ画像を出してみます。

適当なキーワードで調べていくと、以下の知見が使えそうな感じがしました。

●画像生成AIを活用したゲーム素材の作成方法：ChatGPT (DALL-E 3)での具体的なやり方 | Tech & Transition Terrace | 生成AI・電池の解説
　https://lib-erty.com/2024/06/06/%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90ai%E3%82%92%E6%B4%BB%E7%94%A8%E3%81%97%E3%81%9F%E3%82%B2%E3%83%BC%E3%83%A0%E7%B4%A0%E6%9D%90%E3%81%AE%E4%BD%9C%E6%88%90%E6%96%B9%E6%B3%95%EF%BC%9Adall-e-3%E3%81%A7/

![910cb0bf-76e7-60c4-0df4-45fe7ea6ffef.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/e8da16b5-ff6e-0dca-d576-3d90eee8dc23.jpeg)

ゲーム素材の画像ではありますが、特定の要素の絵が並んだシートを生成できています。おそらくは、以下の用語が関連していると思われます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/1d5c72fa-0460-26a9-f13e-d1423abf28f7.png)

とりあえず、ここで出てくる「スプライトシート」という用語を使ってみようと思います。

### 参考情報： アイコンの画風の指定
上記の参考情報として見た内容は、個人的に好みな画風が出そうでした。

そこで、上記の素材画像の雰囲気を何らか流用して、アイコンを生成してみようと思いました。

### 似た雰囲気のアイコンを生成
上記の画風に似たアイコン画像を生成しつつ、その後も似た雰囲気のアイコンを生成する方法を探してみます。

もしかしたら、ChatGPT の同一チャットで生成していけば、ある程度は確保される部分かもしれないのがありつつ、何か明示的な対応ができそうな方法がありそうかを探してみました。

Web検索で例えば以下の情報が出てきました。

●ChatGPT(DALL·E 3)で同じ人物の服とか表情とか変えたい #AI - Qiita
　https://qiita.com/htamori/items/169399db1565d6a9671a

●【DALL-E3】ChatGPTで「gen_id」を使って画風を指定、画像生成する方法！ | romptn Magazine
　https://romptn.com/article/23017

「生成ID」「シード」というものを使うと良い、というもののようです。
これが Dall-E 3 でどれくらい効くのかが不明ですが、試してみることにします。

:::note warn
上記の参考にした記事の 3つ目で検証された内容を見ると、「生成ID」「シード」が直接効いているわけでもなさそう、という話があるようです。

今回はひとまず、これら 2つを指定するやり方から始めてみます。
:::

:::note
上記の話について、他の画像生成AI の場合はシードを API で指定できるものがあったりするようです。

以下、シードを指定する項目があるものの例で「Adobe Firefly」や「」です。

●Image Generation - Adobe Firefly API
　https://developer.adobe.com/firefly-services/docs/firefly-api/guides/api/image_generation/V3/
:::

#### Dall-E 3 の API の仕様を見てみる
上記の生成ID・シードといった話について、ふと「API 経由だと指定できるパラメータだったりするのかな」と思ったのがあり、公式の APIドキュメントを見てみました。

●Image generation - OpenAI API
　https://platform.openai.com/docs/guides/images

●API Reference - OpenAI API
　https://platform.openai.com/docs/api-reference/images/createVariation

ざっくり見てみたところ、そういったパラメータを指定する項目はなさそうでした。

#### 余談： OpenAI の画像生成の API
余談になりますが、上記の公式の APIドキュメントの「[Create image variation](https://platform.openai.com/docs/api-reference/images/createVariation)」というものが気になりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/0089f6a3-dbec-ceec-dbde-45fb5a5abd92.png)

以下の「Create image edit」は、ChatGPT上で行える修正指示に該当するやつかな、というのがあってイメージができたのですが、一方で上記の「Create image variation」はバリエーションを増やすということについてはイメージできたものの、どんな仕様・仕組みでそれを増やすのかがイメージできず、気になったところでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/92036705-a593-c2e9-18a8-81dcab4a5ea0.png)

## 実際にアイコン画像を生成する
それでは、実際にアイコン画像を生成してみます。

まずは、以下のような流れで試してみます。

1. 上記の参照記事で行われたのと同じ画像生成をする
1. 生成ID・シードを聞く
1. 上記で確認できた生成ID・シードとプロンプトを入れて画像生成

### お試し1
それではやってみます。

まずは、上記の参照記事で行われたのと同じ画像生成をやってみます。

![185448d9-e74d-2f0e-8d81-d929465307c9.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/c9cc1738-2c41-839b-5b18-b8b18ebf0fbe.jpeg)

次に、生成ID・シードを聞いてみてから、そこで確認できた生成ID・シードとプロンプトを入れて画像生成をやってみます。
※ 参照した記事にあった別の画像生成も試していたため、生成ID・シードのペアが 2セット出てきています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/665d7e61-4066-b586-f620-fb810e540cdb.png)

#### アイコンの生成
それではアイコンの生成です。

以下がプロンプトと出力結果です。

> 【プロンプト】
> 生成ID (Gen ID):●●、ランダムシード (Seed):●● を使って以下の内容の画像を生成して
> 
> プレゼンテーションのスライド作成に使えそうな異なる種類のアイコンがたくさん並んだスプライトシート

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/d65e4e08-0e43-24db-0318-c78b4051c980.png)

> 【プロンプト】
> 生成ID (Gen ID):●●、ランダムシード (Seed):●● を使って以下の内容の画像を生成して
> 
> プレゼンテーションのスライド作成に使えそうな異なる種類のアイコンがたくさん並んだスプライトシートで、以下のアイコンを含むもの
・電源OFFのスマホ、電源ONのスマホ、動画を表示中のスマホ
・電源OFFのPC、電源ONのPC、表計算ソフトを表示しているPC
・マウス、キーボード、プリンタ、ネットワークを表すアイコン
・電波を表すアイコン

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/19086e2f-2768-c97f-27a2-744c0d832c3d.png)

雰囲気は似ているものになっている気もしますが、近いけど同じではないという感じもします。

### お試し2
今度は、最初の画像生成を自前でやって試してみます。

以下は最初のやりとりです。

> 【プロンプト】
> 犬・ネコ・パンダのデフォルメキャラがスマホ・PCを使っているカワイイイラストを生成して。

![da57a0b0-50ba-5062-62bb-9175f8a1ea15.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/f3a8dd25-dafb-2528-1545-721a2835d26b.jpeg)

今回は、実際に使われたプロンプトも見てみます。

![23fda524-49be-a637-13b7-564b4256d79d.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/4b38c08b-696b-de66-504c-38279180eff3.jpeg)

以下のようになっているようでした。

> 【プロンプト】
> A cute illustration featuring a stylized dog, cat, and panda using a smartphone and a PC. The dog is sitting with a smartphone, the cat is lying down in front of a laptop, and the panda is standing while typing on a desktop PC. The characters are drawn in a kawaii style with rounded features and soft pastel colors. The background is a cozy room with warm lighting, books, and plants, creating a friendly and inviting atmosphere.

> 【プロンプト】
> gen_id: ●●
> seed: ●●
> を使って以下の内容の画像を生成して
> 
> プレゼンテーションのスライド作成に使えそうな異なる種類のアイコンがたくさん並んだスプライトシート

> 【プロンプト】
> gen_id: ●●
> seed: ●●
> を使って以下の内容の画像を生成して
> 
> まる、ばつ、注意、みたいなシンボルのアイコンのスプライトシート

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/9af1ce94-7ff2-f1c9-a5f4-c448118ada53.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/67bfbc73-c40e-ceb9-9fa1-7d077bffaf62.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/d8d23e90-1d60-2a69-18c8-e7fa6b0d67eb.png)

それぞれ、実際に使われたプロンプトは以下となるようでした。

> 【プロンプト】
> A sprite sheet featuring a variety of icons suitable for presentation slide creation. The icons include diverse types such as arrows, graphs, documents, light bulbs, gears, charts, checkmarks, people, and communication symbols. Each icon is drawn in a minimalist flat design with a modern and professional style, using a palette of neutral and pastel colors. The icons are evenly spaced in a grid format, with a transparent or white background.

> 【プロンプト】
> A sprite sheet featuring simple symbol icons such as circles, crosses, exclamation marks, and other warning or notification symbols. The icons are designed in a clean, flat style with bold lines and a professional appearance. The symbols include checkmarks, X marks, question marks, alert triangles, and stop signs. Each icon is evenly spaced in a grid format on a transparent or white background, using a color palette of red, green, yellow, and neutral tones.

またしても、個人的には雰囲気は似ていて近いけど、同じではないかもしれないという感じがします。

### お試し3
上で書いた調査時に、ChatGPT の Dall-E 3 では生成ID・シードが効いてない疑惑もありました。

そこで、それらを使わないやり方も試してみます。

#### 生成ID・シードを使わないで試す
とりあえず、アイコンのスプライトシートの作成をひたすら依頼してみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/39e97489-b0ae-4c63-0825-b4a568b8ad03.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/4ac2c1bb-46df-4e40-27c8-448a972f9a40.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/c1c6e9d6-7af1-7d3a-5481-a2da1ae8f83d.png)

なんとなく、先ほど試していたもの程度には統一感があるような...

#### 生成ID・シードを指定してみる
ここで、上記の 3つの画像生成の生成ID・シードを確認して、それで特定の生成ID・シードを使ったプロンプトにしてみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/e8c4cbcf-bd91-75dd-9492-edee9559902a.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/5fefec5e-1111-5ff6-7a68-6ca1660734e1.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/72080620-3a88-a925-77de-c7ce10756b2c.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/ea7b8728-acba-82aa-4588-bd1b1eaf7645.png)

やればやるほど、もうよく分からないなってきた感じがしますｗ

## おわりに
今回、ChatGPT の Dall-E 3 でプレゼン資料用アイコンを生成しようとしてみました。さらに、似た見た目を作ろうとしてみたりもしました。

似た見た目を作るという部分は、うまくいったのかよく分からない感じになりましたが、引き続きいろいろお試しもして探っていこうと思います。

また、OpenAI・ChatGPT以外のサービス・API でも試せればと思います。