※改造、配布について作者様の許可は取ってあります。
2023/4月くらいまでのVerしか追従できていません。
あんまり需要なさげだし更新しんどいので止めます。
JSさわれる人はJSファイルのコメント見ればわかると思いますので自前で更新お願いします…。
どんなもの?
共通の効果:チェックボックスの状態に関係なく強制的にNPに入力されます。
条件は2つです。
【ymlファイル名の先頭にNP_が付いている場合】→全ての単語がNPへ
NP_汎用.yml、NP_背景用.yml、NP_キャラ用.yml などが対象になります。
【ymlファイル名に関係なく単語の先頭に++がついている場合】→特定の単語がNPへ
++1girl、++worst quality などが対象になります。
そもそもEasyPromptSelecterって?
ざっくり言うとプロンプトを予めファイルに登録しておいて、ボタンをポチポチするだけでプロンプト入力欄にどんどん記入できるものです。
作者様のわかりやすい解説がありますので、ご確認ください。
改造jsの導入方法
EasyPromptSelecterはインストールされている前提で話を進めます。
ファイルDL
↓こちらは2023/3/26の本体アプデ前で使えるものです。
↓2023/3/26以降の最新版の本体とExtensionを使っている方はこちらを使ってください。
既存ファイルへ上書き
ファイルをDLして出てきた.jsファイルを下記のフォルダ内へ上書きします。
元のファイルを取っておきたい場合は元のファイル名を_backとかにしておけば大丈夫です。
stable-diffusion-webui\extensions\sdweb-easy-prompt-selector\javascript
ymlファイルの書き方
ymlファイル全体をNPへ強制入力にしたい場合
ファイル名の先頭にNP_を入れるだけです。ymlファイル内は変更しなくてOKです。
例:NP_汎用.yml
特定の単語だけをNPへ強制入力にしたい場合
ymlファイル名は何でもOKです。
ymlファイル内の単語の先頭に++(半角です)を追加してください。
整列して入れないといけないとか順番とかはないので必要な所にごちゃ混ぜで入れてOKです。
例:++1girl、++teen
頭の文字++だと嫌なんだけど
170行目の++を好きな文字へ変更し、文字数が変わる場合は172行目のslice(2)の数字を文字と同じ数に変更してください。
addTag(tag) {
//NP処理追記
const txtFlag = tag.startsWith("++") ? true : false
this.toNegative = txtFlag ? true : this.negativeFlag ? true : false
tag = txtFlag ? tag.slice(2) : tag
以上です。なにかバグとかあればTwitterとかでご連絡ください。