Browse by type

Booruスタイルタグを自動補完するためのAUTOMATIC1111 Stable Diffusion WebUI用拡張機能
[![Github Release][release-shield]][release-url] [![stargazers][stargazers-shield]][stargazers-url] [![contributors][contributors-shield]][contributors-url] [![forks][forks-shield]][forks-url] [![issues][issues-shield]][issues-url]
[変更内容][release-url] • 確認されている問題 • [バグを報告する][issues-url] • [機能追加に関する要望][issues-url]
Tag AutocompleteはStable Diffusion向けの人気のweb UIである、AUTOMATIC1111 web UIの拡張機能として利用できます。
主にアニメ系イラストを閲覧するための掲示板「Danbooru」などで利用されているタグの自動補完ヒントを表示するための拡張機能となります。
例えばWaifu DiffusionやNAIから派生した多くのモデルやマージなど、Stable Diffusionモデルの中にはこの情報を使って学習されたものもあるため、プロンプトに正確なタグを使用することで、多くのケースで構図を改善した思い通りの画像が生成できるようになります。
組み込みの利用可能な拡張機能リストを使ってインストールしたり、下記の説明に従って手動でファイルをcloneしたり、Releasesにあるパッケージ済みのバージョンを使うことができます。
タグの自動補完は組み込まれている補完内容をサポートしています: - 🏷️ Danbooru & e621 tags (投稿数上位100k、2022年11月現在) - ✳️ ワイルドカード - ➕ Extra networks filenames, including - Textual Inversion embeddings - Hypernetworks - LoRA - LyCORIS / LoHA - 🪄 Chants(詠唱) (長いプロンプトプリセット用のカスタムフォーマット) - 🏷️ "Extra file", カスタマイズ可能なextra tagsセット
さらに、サードパーティの拡張機能にも対応しています:
クリックして開く
クリックすると開きます
基本的な使い方 (キーボード操作を用いたもの):
https://user-images.githubusercontent.com/34448969/200128020-10d9a8b2-cea6-4e3f-bcd2-8c40c8c73233.mp4
ワイルドカードをサポート:
https://user-images.githubusercontent.com/34448969/200128031-22dd7c33-71d1-464f-ae36-5f6c8fd49df0.mp4
タグカラーを含むDarkモードとLightモードに対応:


git clone "https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git" extensions/tag-autocomplete
(第2引数でフォルダ名を指定可能なので、好きな名前を指定しても良いでしょう)
自動補完は、https://github.com/AUTOMATIC1111/stable-diffusion-webui-wildcards 、または他の類似のスクリプト/拡張機能で使用されるワイルドカードファイルでも利用可能です。補完は __ (ダブルアンダースコア) と入力することで開始されます。最初にワイルドカードファイルのリストが表示され、1つを選択すると、そのファイル内の置換オプションが表示されます。
これにより、スクリプトによって置換されるカテゴリを挿入するか、または直接1つを選択して、ワイルドカードをカテゴリ化されたカスタムタグシステムのようなものとして使用することができます。

ワイルドカードはすべての拡張機能フォルダと、古いバージョンをサポートするための scripts/wildcards フォルダで検索されます。これは複数の拡張機能からワイルドカードを組み合わせることができることを意味しています。ワイルドカードをグループ化した場合、ネストされたフォルダもサポートされます。
これら3つのタイプの補完は、<と入力することで行われます。デフォルトでは3つとも混在して表示されますが、以下の方法でさらにフィルタリングを行うことができます:
- <e: は、embeddingsのみを表示します。
- <l: は、LoRAとLyCORISのみを表示します。
- または <lora: と <lyco: で入力することも可能です
- <h: 、または <hypernet: はHypernetworksのみを表示します
Stable Diffusion 1.xまたは2.xモデル用にそれぞれトレーニングされたembeddingsは、他のタイプとの互換性がありません。有効なembeddingsを見つけやすくするため、若干の色の違いも含めて「v1 Embedding」と「v2 Embedding」で分類しています。また、<v1/2または<e:v1/2に続けて実際の検索のためのキーワードを入力すると、v1またはv2embeddingsのみを含むように検索を絞り込むことができます。
例:

Chants(詠唱)は、より長いプロンプトプリセットです。この名前は、中国のユーザーによる初期のプロンプト集からヒントを得たもので、しばしば「呪文書」(原文は「Spellbook」「Codex」)などと呼ばれていました。
このような文書から得られるプロンプトのスニペットは、このような理由から呪文や詠唱と呼ばれるにふさわしいものでした。
EmbeddingsやLoraと同様に、この機能は <, <c:, <chant: コマンドを入力することで発動します。例えば、プロンプトボックスに <c:HighQuality と入力して選択すると、次のようなプロンプトテキストが挿入されます:
(masterpiece, best quality, high quality, highres, ultra-detailed),
Chants(詠唱)は、以下のフォーマットに従ってJSONファイルで追加することができます::
Chant format (click to expand)
[
{
"name": "Basic-NegativePrompt",
"terms": "Negative,Low,Quality",
"content": "(worst quality, low quality, normal quality)",
"color": 3
},
{
"name": "Basic-HighQuality",
"terms": "Best,High,Quality",
"content": "(masterpiece, best quality, high quality, highres, ultra-detailed)",
"color": 1
},
{
"name": "Basic-Start",
"terms": "Basic, Start, Simple, Demo",
"content": "(masterpiece, best quality, high quality, highres), 1girl, extremely beautiful detailed face, ...",
"color": 5
}
]
このファイルが拡張機能の tags フォルダ内にある場合、settings内の"Chant file"ドロップダウンから選択することができます。
chantオブジェクトは4つのフィールドを持ちます:
- name - 表示される名称
- terms - 検索キーワード
- content - 実際に挿入されるプロンプト
- color - 表示される色。通常のタグと同じカテゴリーカラーシステムを使用しています。
https://github.com/Klokinator/Umi-AI は、Unprompted や Dynamic Wildcards に似た、機能豊富なワイルドカード拡張です。
例えば <[preset][--female][sfw][species]> はプリセットカテゴリーを選び、女性関連のタグを除外し、さらに次のカテゴリーで絞り込み、実行時にこれらすべての条件に一致するランダムなフィルインを1つ選び出します。補完は <[] とそれに続く新しい開く括弧、例えば <[xyz][] で始まり、 > で閉じるまで続きます。
タグの自動補完は、これらのオプションをスマートに提案していきます。つまり、カテゴリータグの追加を続けても、その前に来たものと一致する結果だけが表示されるのです。 また、タグの投稿数の代わりに、そのコンボから選択可能なフィルインタグの数を表示し、大規模になる初期内容に対して迅速な概要とフィルタリングを可能にします。
ほとんどの功績は@ctwrsによるものです。この方はUmiの開発者の一人として多くの貢献をしています。
この拡張機能には多くの設定とカスタマイズ機能が組み込まれています。ほとんどのことははっきりしていますが、詳細な説明は以下のセクションをクリックしてください。
Tag filename
スクリプトが使用するメインのタグファイルとなります。デフォルトでは danbooru.csv と e621.csv が含まれており、ここにカスタムタグを追加することもできますが、大半のモデルはこの2つ以外(主にdanbooru)では学習していないため、あまり意味はありません。
拡張機能の他の機能(ワイルドカードやLoRA補完など)を使いたいが、通常のタグには興味がない場合は、Noneに設定することも可能です。
"Active in" の設定
タグのオートコンプリートがどこにアタッチされ、変更を受け付けるかを指定します。 ネガティブプロンプトはtxt2imgとimg2imgの設定に従うので、"親 "がアクティブな場合にのみアクティブとなります。
Black / Whitelist
このオプションは、タグのオートコンプリートをグローバルにオフにすることができますが、特定のモデルに対してのみ有効または無効にしたい場合もあります。
例えば、あなたのモデルのほとんどがアニメモデルである場合、boorタグでトレーニングされておらず、その恩恵を受けないフォトリアリスティックモデルをブラックリストに追加し、これらのモデルに切り替えた後に自動的に無効にすることができます。モデル名(拡張子を含む)とwebuiハッシュ(短い形式と長い形式の両方)の両方を使用できます。
Blacklistは指定したすべてのモデルを除外しますが、Whitelistはこれらのモデルに対してのみ有効で、デフォルトではオフのままです。例外として、空のホワイトリストは無視されます(空のブラックリストと同じです)。
カーソルで補完ポップアップを移動
このオプションは、IDEで行われるような、カーソルの位置に追従するフローティングポップアップを有効または無効にします。スクリプトはポップアップが右側でつぶれないように十分なスペースを確保しようとしますが、長いタグでは必ずしもうまくいきません。無効にした場合、ポップアップは左側に表示されます。
結果の数
一度に表示する結果の量を設定できます。
Show all resultsが有効な場合、Maximum resultsで指定された数で切り捨てられるのではなく、スクロール可能なリストが表示されます。パフォーマンス上の理由から、この場合はすべてを一度に読み込むのではなく、ブロック単位で読み込みます。ブロックの大きさはHow many results to load at onceによって決まります。一番下に到達すると、次のブロックがロードされます(しかし、そんなことはめったには起こらないと思います)。
特筆すべきこととして、Show all results が使用される場合でも、Maximum results は影響を及ぼします。これは、スクロールが開始される前のポップアップの高さを制限するからです。
補完の遅れについて
設定によっては、リアルタイムのタグ補完は計算量が多くなることがあります。
このオプションは debounce による遅延をミリ秒単位で設定します(1000ミリ秒 = 1秒)。このオプションは、入力が非常に速い場合に特に有効です。
"Search for" に関する設定
特定の補完タイプを有効または無効にします。
Umi AIワイルドカードは、使用目的が似ているため、異なるフォーマットを使用しますが、ここでは通常のワイルドカードオプションに含まれます。
"?" Wiki links
このオプションがオンになっている場合、タグの横に ? リンクが表示されます。これをクリックすると、danbooruまたはe621のそのタグのWikiページを開こうとします。
⚠️ 警告:
Danbooruとe621は外部サイトであり、多くのNSFWコンテンツを含んでいます。このため、このオプションはデフォルトで無効になっています。
補完設定
これらの設定で、テキストの挿入方法を指定できます。
Booruのサイトでは、タグにスペースの代わりにアンダースコアを使用することがほとんどですが、Stable diffusionで使用されているCLIPエンコーダーは自然言語でトレーニングされているため、前処理中にほとんどのモデルがこのアンダースコアをスペースに置き換えました。したがって、デフォルトではタグのオートコンプリートも同じようになります。
括弧は、プロンプトの特定の部分をより注目/重視するために、Webuiの制御文字として使用されるため、デフォルトでは括弧を含むタグはエスケープされます (\( \)) 。
最後の設定によりますが、タグのオートコンプリートはタグを挿入した後にカンマとスペースを追加します。
ワイルドカードのパス補完
ワイルドカードのいくつかのコレクションは、ネストしたサブフォルダに整理されています。
それらは、"hair/colors/light/... " や "clothing/male/casual/... " などのように、ファイルへのフルパスとともにリストアップされています。
このような場合、手動でフルパスを入力するのは難しいことが多いのですが、それでもリストをさらにスクロールする前に選択範囲を狭めたいものです。
この場合、選択する結果がすべてのパスであれば、Tab(またはChooseSelectedOrFirstのカスタムホットキー)でパスの部分補完をトリガーすることが可能です。
この設定は、補完に使用するモードを決定します:
- 次のフォルダレベルまで:
- パス内の次の/まで補完し、選択したものを進む方向として優先します
- オプションを直接選択したい場合は、Enter キーまたは ChooseSelected ホットキーを使用してスキップし、完全に補完します。
- 最初の差分まで:
- 結果内の最初の違いまで補完し、追加の情報を待ちます
- 例:"/sub/folder_a/..." と "/sub/folder_b/..." がある場合、"su" と入力した後に補完すると、"/sub/folder_" まですべてを挿入し、a または b を入力して明確にするまでそこで停止します。
- 矢印キーで何かを選択した場合(EnterキーやTabキーを押すかどうかに関係なく)、それをスキップして完全に補完します。
- 常に全て:
- 名前が示すように、部分的な補完動作を無効にし、通常のタグのようにすべての状況下で完全なパスを挿入します。
Alias 設定
タグはしばしば複数の別名(Alias)で参照されます。Search by aliasがオンになっている場合、それらは検索結果に含まれ、正しいタグがわからない場合に役立ちます。この場合でも、挿入時にリンクされている実際のタグに置き換えられます。
Only show alias セットは、エイリアスのみを表示したい場合、またはそのエイリアスがマップするタグも表示したい場合に使用します。
(<alias> ➝ <actual>として表示されます)
翻訳設定
Tag Autocompleteは、別のファイル(Translation filename)で指定されたタグの翻訳をサポートしています。つまり、英語のタグ名が分からなくても、自身の言語の翻訳ファイルがあれば、それを代わりに使うことができます。
また、コミュニティで使用されている古いファイルのためのレガシーフォーマットオプションや、プロンプト全体のライブ翻訳プレビューなど実験的な機能もあります。
詳細については、以下の 翻訳に関するセクション を参照してください。
Extra ファイル設定
ここで指定したように、通常の結果の前後に追加される追加タグのセットを指定します。一般的に使用される品質タグ (masterpiece, best quality, など) のような小さなカスタムタグセットに便利です。
長いプリセットやプロンプト全体を補完したい場合は、代わりに Chants(詠唱) を参照してください。
Chant ファイル名
Chantとは、長いプリセット、あるいはプロンプト全体を一度に選択して挿入できるもので、Webuiに内蔵されているスタイルのドロップダウンに似ています。Chantにはいくつかの追加機能があり、より速く使用することができます。
詳しくは上記のChants(詠唱)のセクションを参照してください。
Hotkeys
ほとんどのキーボードナビゲーション機能のホットキーをここで指定できます。
https://www.w3.org/TR/uievents-key/#named-key-attribute-value
機能の説明 - Move Up / Down:次のタグを選択 - Jump Up / Down:一度に5箇所移動する。 - Jump to Start / End: リストの先頭または末尾にジャンプ - ChooseSelected ハイライトされたタグを選択するか、何も選択されていない場合はポップアップを閉じます。 - ChooseSelectedOrFirst:上記と同じですが、何も選択されていない場合、デフォルトで最初の結果が選択されます。 - Close ポップアップを閉じる
![hotkeys](https://gith
$ claude mcp add a1111-sd-webui-tagcomplete \
-- python -m otcore.mcp_server <graph>