【Midjouney】ChatGPTでPermutationのテンプレートを作成する方法!
こんにちは、画像生成AIのプロンプトを研究している じょじお(@jojio‗illust)です。
この記事ではMidjourney(ミッドジャーニー)のパーミュテーション機能とChatGPTを使って、たくさんのプロンプトを一括実行する方法について紹介します。
▲AI画像の大量ファイルをプロンプトと一緒に簡単に整理する方法はこちら。
Stable Diffusionのプロンプトエンジニアリングの基本について理解したい方には、初心者向けのプロンプトガイドを作りましたのでそちらを見てください!
Midjourney(ミッドジャーニー)のパーミュテーション機能のテンプレート作成
前回の記事で、ミッドジャーニーのパーミュテーション機能を紹介しました。
前回の記事では、パーミュテーションは、{}の中に単語を列挙すると、総当たりの組み合わせでプロンプトを実行する機能ということを紹介しました。
複数のプロンプトのバリエーションを一括で実行できる便利な機能なのですが、たくさんのジョブが実行されるテンプレート文は、長い文章になりやすく、手入力することは大変ですし記入ミスの可能性が大いにあります。
パーミュテーションのために{}を使ったプロンプトや、リピートのために「–repeat」を含むプロンプトはテンプレートと呼びます。
パーミュテーションはFast Time時限定の機能ですから、記入ミスによって無駄にFast Hourを消費してしまう可能性があります。これは避けたいですよね。
そこで、ChatGPTにテンプレート作成をヘルプしてもらう方法を考えましたので、ここに紹介したいと思います。
ChatGPT x パーミュテーション(ミッドジャーニー)の概要
ChatGPT x パーミュテーションの概要
今回想定するのは、{}の中だけをChatGPTに作ってもらいます。
その方法として、2つ考えました。
- リストを渡して{}の中を作ってもらう方法
- {}の中をChatGPTに全部作ってもらう方法
ChatGPT x パーミュテーション①
次に紹介するのは、リストの中をChatGPTにおまかせする方法です。
下記のプロンプトを作りました。
the { carrot, tomato, cucumber, lettuce, spinach, broccoli, cauliflower, eggplant, bell pepper, onion } on a white background, in the style of zeiss batis 18mm f/2.8, high-key lighting --ar 1:1 --no text, signature, title, subtitle
このプロンプトは、白背景に野菜を映すプロンプトです。単体で実行すると次のような画像が生成できます。
たくさんの野菜の写真を作りたいので、ChatGPTにお願いすることにします。
ChaGPTのプロンプト
ChatGPTへの投げたプロンプトはこちら↓
下記はとあるスクリプトの構文です。
the { vegetable } on a white background, in the style of zeiss batis 18mm f/2.8, high-key lighting –ar 1:1 –no text, signature, title, subtitle
- vegetableのところに野菜(英語)を複数いれてください。
- そられは、半角カンマと半角スペースで区切ってください。
- 全部で10個入れてください。
- {}の中身以外は固定値です。改変禁止。
ChatGPTから帰ってきたテンプレート。
以下は、野菜を10個、半角カンマと半角スペースで区切って入れたスクリプト構文です。
the { carrot, tomato, cucumber, lettuce, spinach, broccoli, cauliflower, eggplant, bell pepper, onion } on a white background, in the style of zeiss batis 18mm f/2.8, high-key lighting –ar 1:1 –no text, signature, title, subtitle
このスクリプトは、選択された野菜が白い背景にあり、Zeiss Batis 18mm f/2.8のスタイルで描かれ、ハイキー照明が使用され、テキスト、署名、タイトル、サブタイトルがない画像を生成することを意図しています。画像のアスペクト比は1:1です。
ミッドジャーニーでテンプレートを実行する。
▲テンプレートを実行してみます。実行する前に「Show Prompt」でプロンプトを確認します。
▲10個分のプロンプトが生成できています。問題ないようなので先ほどのメッセージに戻り、OKボタンをクリックして実行します。
▲10個のプロンプトが実行されます。
↓生成した画像。
▲AIでつっくった野菜の写真です。
それにしてもMidjourney V5のクオリティはすばらしいね。
ChatGPT x パーミュテーション②
最初に紹介するのは、{}の中に入れる言葉が事前に用意されている状況です。
下記のプロンプトがあります。このプロンプトは、遺跡を飛び回るイーグル(鷹)の壁紙画像をイメージして作りました。
abstract artwork of an eagle in a { PLACE }, playstation 5 screenshot, anime art, plein air lands
apes, storybook-like
単体で実行すると次のような画像が生成されます。
このプロンプトで、イーグルに色々な遺跡の上を飛んでもらいましょう。
次に、遺跡の名前リストを用意しました。
Great Wall of China - 中国の万里の長城
Machu Picchu - ペルーのマチュ・ピチュ
Petra - ヨルダンのペトラ
Pyramids of Giza - エジプトのギーザのピラミッド
Colosseum - イタリアのコロッセウム
Angkor Wat - カンボジアのアンコールワット
Chichen Itza - メキシコのチチェン・イッツァ
Acropolis of Athens - ギリシャのアテネのアクロポリス
Taj Mahal - インドのタージ・マハル
Mont-Saint-Michel - フランスのモン・サン・ミシェル
このリストを使ってChatGPTに、ミッドジャーニーのテンプレートを作ってもらいます。
ChaGPTのプロンプト
下記のChatGPT用のプロンプトを作りました。
下記はとあるスクリプトの構文です。
abstract artwork of an eagle in a { PLACE }, playstation 5 screenshot, anime art, plein air landscapes –ar 1:1
- スクリプト内の{}に、下記のリストの英語名を抜き取り、すべて挿入してください。そられは、半角カンマと半角スペースで区切ってください。
- PLACEという文言は不要なので削除。
- {}の中身以外は固定値です。改変禁止
Great Wall of China – 中国の万里の長城
Machu Picchu – ペルーのマチュ・ピチュ
Petra – ヨルダンのペトラ
Pyramids of Giza – エジプトのギーザのピラミッド
Colosseum – イタリアのコロッセウム
Angkor Wat – カンボジアのアンコールワット
Chichen Itza – メキシコのチチェン・イッツァ
Acropolis of Athens – ギリシャのアテネのアクロポリス
Taj Mahal – インドのタージ・マハル
Mont-Saint-Michel – フランスのモン・サン・ミシェル
ChatGPTの回答はこちら↓
ご指示に従って、スクリプト内の{}にリストの英語名を挿入し、半角カンマと半角スペースで区切りました。
abstract artwork of an eagle in a {Great Wall of China, Machu Picchu, Petra, Pyramids of Giza, Colosseum, Angkor Wat, Chichen Itza, Acropolis of Athens, Taj Mahal, Mont-Saint-Michel}, playstation 5 screenshot, anime art, plein air landscapes –ar 1:1
テンプレートを作成することができました。
ChatGPTに生成した画像↓
パーミュテーション機能の注意点
パーミュテーション機能を使ってみて思ったことを言います。
いきなり大量のスクリプトを実行しない。
パーミュテーション機能はとても便利な機能ですが、なにも検証していないプロンプトを使っていきなり大量のジョブを発行すると、プロンプトに問題があった場合に無駄にファスト時間(Fast hour)を消費してしまう可能性があります。
このため、パーミュテーションを使う前にプロンプトの検証をする方がいいでしょう。
例えば、私は、先ほどの10種類の野菜の名前を使って画像生成した際に、10枚中4枚に、意図しないモノクロの写真が混ざってしまいました。事前検証を行っておけば、ネガティブプロンプトを使うことによってそれが防げたかもしれません。
特定の物や、特定の属性の画像を生成しないようにするにはネガティブプロンプトが便利です。
モノクロの写真を生成しないようにするには、ネガティブプロンプトに「Grayscale(グレースケール)」や「monochrome(モノクロ)」を含めると良いでしょう。
例:the cauliflower on a white background –ar 1:1 –no Grayscale
Fast 時間めっちゃ減る。
パーミュテーション機能のMax40バッチやってみたんですけど、Fast Hourがめっちゃ減りました。
▲40バッチ実行前は24.25時間。
▲実行後23.49時間。
40バッチを実行したところ、Fast Hourが45分減っています。
しかし、同じ時間帯に単発で画像生成を行ってみましたが、1個1分もかからなかったので、もしかしたら単発実行するよりも連続実行する方がFast Hour減りやすいのかもしれません。
まとめ
以上、Midjourney(ミッドジャーニー)のパーミュテーション機能について紹介しました。
最後まで読んでくださってありがとうございます!
この記事がお役に立てましたら、シェアボタンからシェアしていただけたら嬉しいです!
コメント