個別のプロンプトは色々なサイトで確認できますが、どう使うかはあまり解説がないように感じます。(まぁ、製作者のgithubに書いてたりはしますが)
そこで、自分用のメモを兼ねて共有します。
Stable Diffusion用です。
ご存じの方も、多いと思いますがAIイラストの黎明期から、"fusion of ○○ and ××"と
いうプロンプトが使われてきました。
これは○○と××の要素を組み合わせるという意味合いになります。
【左の画像】(shirt print butterfly)
こちらは単純にprintを利用して、蝶々柄のシャツを着ているイラストを作成。
【右の画像】(fusion of shirt and butterfly)
Fusionを使ってシャツと蝶々の要素が1つになっているイラストを作成。
シャツに絵として取り込まれているか、要素として取り込まれているかの違いです。
使い方の一例ではありますが、このようなイラストを作成できます。
概念的には、ビキニアーマーやガンブレイドが有名ですね。
個人的にはヘアバンドと動物の耳でコスプレ耳、パジャマと動物で着ぐるみパジャマを生成するのによく使ってます。1.3ぐらい強調しないとあまり効果がないかもしれません。
上記のFusionと似ている記載方法として、[ ]を使った表現があります。
初期状態から使える、基本機能です。
これは、XのステップまではAを描画し、以降はBを描画するというものです。
例えば、A=犬、B=少女、X=0.3とすると、全体ステップ数の30%までは犬を描画しそれ以降は、少女を描画するという指示になります。
いつも使っているイラスト系のモデルではあまりいい結果が出ませんでしたが
なんとなく、キメラっぽい感じが伝わるでしょうか・・・(0.2~0.4で調整)
恐らく少女を描く能力が高すぎるためいい感に交じり合わないと予想。
人から人への変化でも、例えば男女を切り替えることで男性っぽいイケメンのおばあちゃんを生成するとかが可能となる技術です。
ちなみに、Xが1より大きい場合は%ではなくステップ数と認識するようです。
(X=0.3ならステップが30%までの意味、X=15ならステップ15までの意味)
上記のPrompt Editingとほぼ同じような基本機能です。
これは、ステップ1でAを描画、ステップ2でBを描画、ステップ3でAを描写となり循環して交互に描画対象を変更することができます。
例えば、下記はA=鳥とB=猫とした場合のイラストです。要点をつかんでますよね。
実用的な例としては髪色です。赤っぽい銀髪とかを簡単に表現できます。
下記はplatinum、red、yellow hairの実験です。
赤と銀が混じっている様子と、さらに黄色が混じった様子が見て取れます。
ちなみにyellowの例からもわかる通り、3個以上の結合も可能です。
その場合、[A|B|C]ならば1ステップでA、2ステップでB、3ステップでC、4ステップでAとなり循環します。
この技は1つ前に記載した[A:B:X]の表記でも利用することができます。
下記は[platinum:blue:X] hairとして、左から0.1、0.3、0.5と調整しました。
この場合、左の画像は全ステップの10%が経過するまでは銀色に髪を塗り
その後、青く塗っています。青く塗るステップが多いため概ね青い髪色です。
右に行くについて、銀色のステップ割合が増えるのでplatinumに近づいています。
適切な色の名前がわからない場合や入力しても通じない場合でも、比率を調整することで髪色を整えることができます。
面白い表現ですが、注意事項としては要素の強さや色の強さがプロンプトごとに異なり、決め打ちでちょうどいい割合が導き出せないことです。
ここからは、どちらかと言えば混ぜない技術です。
プロンプトで利用できる特別な単語①BREAKと②ANDの紹介です。
使わなくてもどうとでもなりますが、単語を入れ替えるとイラストが破綻する場合などの制御に利用できるかもしれません。
①BREAK (全部大文字)
画像の11 / 75の様に、各プロンプトは75刻みで読み込みます。
この切れ目を任意に入れることができるのがBREAKです。
改行や段落のような存在です。
事前にBREAKを入れることで変な切れ目になることを防いだり、色移りが少なくなる効果が報告されています。(例:red dress BREAK blue hair)
②AND(全部大文字)
ANDは複数のプロンプトを1つと認識させる単語です。
例えば毎回入力するクオリティアップ系プロンプトをまとめれば、トークン数が減るので一つ目の75区切りに全て入れ込むなどしやすくなります。これによりプロンプトの強弱関係も把握しやすくなります。
ただし、効果や品質の低下や所為時間の増大など副作用がある場合も多いようです。
現在のバージョンでは、あまり使われない印象があります。
ここまで、ぱっと思いついた基本機能でできることをまとめてみました。
何か追加があれば、また記載したいと思います!