見出し画像

Stable DiffusionのPrompt S/Rで複数の単語をまとめて置換する

Stable DiffusionのX/Y/Z Promptの対象の一つである、Prompt S/Rで複数の単語をまとめて置き換える方法を紹介します。

例えば、「女の子が部屋のベッド・ホテルのベッド・お城のベッドにいる画像を比較したい!」ケースを考えます。
お城のベッドにいるときだけキャンドルも灯したい場合、Prompt S/Rはどのように設定したらいいでしょうか?

間違った指定方法(単語をカンマとスペースで区切る)

単語をカンマとスペースで区切り、複数まとめて置き換えたい単語を、単にダブルクォートで囲った場合です。

in the bedroom, in the hotel bedroom, "in the castle bedroom, candle right" 

in the castle bedroomとcandle rightが別々になってしまいました。

in the bedroom, in the hotel bedroom, "in the castle bedroom, candle right"

正しい指定方法(置換候補どうしはカンマだけで区切る)

in the bedroom,in the hotel bedroom,"in the castle bedroom, candle right" 

置換候補どうしのカンマの後のスペースを削除するとうまくいきました。

in the bedroom,in the hotel bedroom,"in the castle bedroom, candle right"

カンマの後にスペースがあると、カンマ+スペースがダブルクォートよりも優先して置換候補どうしの区切り文字(セパレータ)として認識されてしまう、ということだと思います。
ちなみに、"" で囲った中はカンマの後にスペースがあっても大丈夫です。

まとめ

カンマの後にスペースがあると、Prompt S/Rが思ったように機能しないことがあることが分かりました。

この記事が気に入ったらサポートをしてみませんか?