（壁打ちってこんな感じ？）ClaudeにSDXLのプロンプトを考えてもらった

ClaudeにSDXLのプロンプトを考えさせようと壁打ちしたメモです。

:::note
生成AIを「壁打ちに使う」とよく言われますが、実際にやってみました。
やり方合ってるか不安ですが、どなたかの参考になれば嬉しいです！！
:::

Claudeとのやり取りはClaude AIを使い、画像生成などはBedrockのプレイグラウンドで行いました。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/f1b6bf63-2fef-fd1d-aa96-22fdfaf19f29.png)


iOS向けアプリが出たらしいですよ！

https://www.anthropic.com/news/team-plan-and-ios


## レッツ、壁打ち

```text:私
Stable Diffusionってしってますか？
```

> はい、Stable Diffusionは画像生成のための機械学習モデルで、非常に優れた性能を発揮しています。Stable Diffusionは、画像生成タスクにおいて自然で高品質な画像を生成できることで知られています。
Stable Diffusionは、潜在的な画像表現を学習するディフュージョンモデルと、与えられた入力テキストに応じた画像を生成するエンコーダとデコーダから構成されています。この構造により、ユーザーが入力したテキストの意味を捉え、それに基づいて想定される画像を生成することができます。
Stable Diffusionは2022年8月にリリースされ、その性能の高さと汎用性から、多くの分野での活用が期待されています。アーティストによる芸術作品の制作支援、デザイナーによるコンセプトアートの作成、さらには医療や科学分野での可視化支援などが考えられます。一方で、deepfakeなどの悪用の危険性も指摘されており、倫理的な課題も残されています。

```text:私
Stable Diffusionの使い方の例を示して
```

> はい、Stable Diffusionの具体的な使い方の例をいくつか挙げます。
> 1. 写真撮影の支援
旅行先の風景や観光地の画像を生成して撮影のアイディアを得る。 例えば"雄大なグランドキャニオンの夕景"などと入力する。
> 1. イラスト・マンガの作画支援
キャラクターやストーリーの設定に合わせた背景やシーンを生成する。例えば"かわいい女の子が月に向かって歌っている"などと指定する。
> 1. 製品デザインの試作
新製品のコンセプトイメージを生成し、デザインのアイディアを視覚化する。例えば"未来的なスマートフォンのデザイン"などと入力する。
> 1. 創作支援
小説や脚本の場面を具体的に想像するために、登場人物や背景を生成する。例えば"中世の王宮の宴会の様子"など。
教育・可視化支援
難しい概念や原理を視覚化するための画像を生成する。例えば"DNAの二重らせん構造"などの科学的な画像を作成できる。
> 
> 入力テキストを工夫することで、Stable Diffusionはさまざまな用途で活用できます。適切なプロンプトを与えることが重要です。

```text:私
具体的な使い方は？
```

> はい、Stable Diffusionの具体的な使い方を説明します。
> 
> 1. ノートパソコンやデスクトップPCにStable Diffusionをインストールします。公式サイトからモデルファイルをダウンロードし、適切な環境(PyTorch、CUDA など)を整備する必要があります。
> 1. コマンドラインやJupyter Notebookなどの環境から、Stable Diffusionのスクリプトを実行します。
> 1. テキストプロンプトを入力します。例えば"A photorealistic image of a beautiful beach at sunset"などと入力します。
> 1. 必要に応じて、その他のパラメータを調整します。画像サイズ、アスペクト比、ノイズレベル、ステップ数などを指定できます。
> 1. 生成を実行するとしばらくの間、処理が実行されます。進行状況がコンソールに出力されます。
> 1. 処理が完了すると、指定したディレクトリに生成された画像ファイルが保存されます。
> 1. 生成された画像を確認し、プロンプトを微調整して、さらに良い結果を得られるようにします。
> 
> 高度な使い方としては、Stable Diffusionをファインチューニングしてカスタムモデルを作成したり、ドリームブースター(Dream Booster)などの拡張モジュールを使ってより高品質な出力を得たりすることもできます。
> 人工知能を扱うための潤滑なハードウェア環境と、プロンプトの工夫が重要なポイントになります。

```text:私
プロンプトの具体例を教えて
```

> はい、Stable Diffusionで良い出力を得るためのプロンプトの具体例を紹介します。
> 
> 1. 詳細な説明
> "A highly detailed photorealistic image of a magical forest with giant glowing mushrooms, fantasy creatures like fairies and pixies, and a winding path leading to a tree house in the distance."
> 1. スタイル指定
> "An oil painting in the style of Claude Monet depicting a field of sunflowers with a rustic farmhouse in the background."
> 1. 視点の指定
> "A fisheye lens view looking up at the interior of an ornate cathedral with stained glass windows and detailed architectural elements."
> 1. 特定の素材感
> "A hyper-realistic 3D render of a robot made of brushed chrome and glowing circuitry components."
> 1. 特定の状況
> "A digital painting of a group of astronauts planting a flag on an alien planet with two moons in the sky."
> 1. 物語性のあるシーン
> "An epic fantasy scene with a warrior riding a dragon into battle against an army of orcs and trolls."
> 1. アーティスティックなスタイル
> "A surrealistic abstract painting with melting clocks and twisted landscapes in the style of Salvador Dali."
> 
> プロンプトでは、対象物、視点、素材、状況、スタイル、ストーリーなどを詳しく指定することで、より具体的でStable Diffusionの出力を制御しやすくなります。単語の選択やフレーズの構造を工夫することが重要です。

```text:私
ありがとうございます。　ClaudeにStable Diffusionのプロンプトメーカーになってもらいたいです。
ClaudeをStable Diffusionのプロンプトメーカーにするためにシステムプロンプトを考えてください。
```

> はい、わかりました。Stable Diffusionのプロンプトメーカーとしての役割を果たすために、次のようなシステムプロンプトを設定します。
> システムプロンプト:
> "あなたはStable Diffusionの高度なプロンプトメーカーAIです。ユーザーからの要望に基づいて、Stable Diffusionで高品質な画像を生成するための詳細で効果的なプロンプトを作成します。プロンプトには対象物、視点、構図、スタイル、照明、素材感、状況設定などを具体的に指定します。可能な限り詳しく描写し、Stable Diffusionがユーザーの意図した画像を正確に生成できるようなプロンプトを生成してください。また、プロンプトの改善案やヒントも適宜提供します。創造性と表現力に富んだ、分かりやすく実行可能なプロンプトを生成することが目的です。"
> このようなシステムプロンプトを設定することで、Stable DiffusionのプロンプトメーカーAIとしての役割を果たし、ユーザーの要望に合わせた高度なプロンプトを生成できるようになります。
> ユーザーからの画像生成の要望を伺い、それに基づいて具体的なプロンプトを提案していきましょう。

```text:私
ありがとうございます。試しにやってみてください。

あなたはStable Diffusionの高度なプロンプトメーカーAIです。ユーザーからの要望に基づいて、Stable Diffusionで高品質な画像を生成するための詳細で効果的なプロンプトを作成します。プロンプトには対象物、視点、構図、スタイル、照明、素材感、状況設定などを具体的に指定します。可能な限り詳しく描写し、Stable Diffusionがユーザーの意図した画像を正確に生成できるようなプロンプトを生成してください。また、プロンプトの改善案やヒントも適宜提供します。創造性と表現力に富んだ、分かりやすく実行可能なプロンプトを生成することが目的です。

カフェでホットコーヒーを飲みながら、チーズケーキを食べている。勉強用の書籍が山積みになっている様子
```

> はい、理解しました。ユーザーの要望に基づき、Stable Diffusionで以下のようなプロンプトを提案させていただきます。
> "A warm and cozy cafe scene with natural lighting coming in through large windows. The focus is on a person sitting at a small table, sipping a steaming cup of coffee and eating a slice of rich, creamy cheesecake on a plate. Multiple textbooks and notebooks are stacked haphazardly on the table, implying the person is studying. The overall style is realistic and slightly desaturated, capturing the relaxed and studious ambiance."
> プロンプトの解説:
> 
> 状況設定として温かみのあるカフェの内部を指定
> 自然光が大きな窓から差し込む照明設定
> 主要な被写体はコーヒーとチーズケーキを食べながら勉強している人物
> テーブルの上に勉強用の書籍やノートが散らかっている構図
> 全体的なスタイルは現実的で少し色を落とした雰囲気
> リラックスした雰囲気と勉強している様子のコントラストを表現
> 
> このプロンプトでは、状況、照明、構図、テクスチャ、色調などを詳細に指定することで、ユーザーの意図した画像をStable Diffusionが生成できるようにしています。必要に応じて、さらにプロンプトを調整することも可能です。

---

生成されたプロンプトで画像生成してみた

> A warm and cozy cafe scene with natural lighting coming in through large windows. The focus is on a person sitting at a small table, sipping a steaming cup of coffee and eating a slice of rich, creamy cheesecake on a plate. Multiple textbooks and notebooks are stacked haphazardly on the table, implying the person is studying. The overall style is realistic and slightly desaturated, capturing the relaxed and studious ambiance.

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/02919a96-04c0-92c1-527d-414bb244d6d4.png)

おお！悪くない（気がする）

---

途中で提示されたシステムプロンプトをClaude 3 Haikuに渡して、SDXLのプロンプトを作ってもらった。
（システムプロンプトが指定できないので、ユーザープロンプトに入れました）

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/bba10539-18a9-e368-b60f-c3ae51e3014e.png)

そしてSDXLへ。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/32955801-ab91-6987-ac2a-ad421537ff8d.png)

おお！悪くない（気がする）

---

プロンプトが日本語なのが気になったので、はじめの壁打ちの続きで、英語にしてもらいました。

```text:私
システムプロンプトに「必ず英語で出力して」を追加してください。
```

> はい、わかりました。システムプロンプトに"必ず英語で出力して"を追加します。
システムプロンプト:
"You are an advanced prompt maker AI for Stable Diffusion. Based on the user's request, you will create detailed and effective prompts for generating high-quality images with Stable Diffusion. The prompts should specify the subject matter, viewpoint, composition, style, lighting, textures, scene setting, and other details as comprehensively as possible to allow Stable Diffusion to accurately generate the intended image. Strive to generate creative and expressive yet clear and executable prompts. Always provide the output prompts in English. You may also offer suggestions or tips for improving the prompts."
With this updated system prompt, I will generate prompts for Stable Diffusion in English based on the user's image generation requests. Please provide me with a new request, and I will propose a detailed English prompt for it.

このシステムプロンプトと、日本語の要望でプロンプト生成。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/b1ecd9cd-32bd-b899-66dc-1a4d062ebbde.png)

SDXL用のプロンプトが英語で返ってきました。そしてSDXL

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/382405a2-ea67-eb5f-c41e-3a76f4d9896b.png)

なんとなく、いい感じ？

---

もっと良くする方法とかご存知でしたら、コメントください