comfyui-anima-artist-browser
ComfyUI custom node for browsing and selecting up to 3 artist tags, outputting them as a single concatenated string for prompt generation. (Description by CC)
Anima Artist Browser (Anima-2b)
ComfyUI 上でアーティストタグを探しながら、最大 3 つの artist タグを 1 本の文字列として出力できるカスタムノードです。
このノードはコミュニティ製の独立ツールです。
フォークやミラーではなく、別実装の ComfyUI ノードとして整理しています。
元サイトへ接続したり、元サイトへリクエストを送ったりするものではありません。
概要
Anima Artist Browser は、最大 3 人分のアーティストタグを選び、@artist,@artist,@artist 形式の STRING を 1 本だけ出力するノードです。
このノード自体は CLIP エンコードを行いません。
出力された文字列を必要な後段ノードへ接続して使います。
インストール
- このリポジトリをダウンロードまたは clone します
- フォルダを以下に配置します
ComfyUI/custom_nodes/
- ComfyUI を再起動します
ノード名:
Anima Artist Browser
入出力
入力
artist_11 枠目のアーティストタグです。artist_22 枠目のアーティストタグです。artist_33 枠目のアーティストタグです。output_format出力形式です。既定値は従来互換のBrowser default (@artist,@artist)です。weight_1/weight_2/weight_3各 artist スロットの重みです。1.0の場合は出力へ重み表記を追加しません。
出力
artist_string
各出力は次の形式で生成されます。
@artist,@artist,@artist
空のスロットは無視され、選択済みの artist だけが左から順に連結されます。
Anima-Artist-Mixer の AnimaArtistPack.artist_chain へ直接つなぐ場合は、output_format を Mixer comma (artist, artist) または Mixer newline に変更します。Mixer 用形式では先頭の @ を外して出力します。
各スロットの weight_n が 1.0 以外の場合、出力形式に応じて重み表記を追加します。
Browser default: @artist:1.5
Mixer formats: ::artist::1.5
Mixer comma / Mixer newline の重み表記は、Anima-Artist-Mixer の linear injection-layer weight syntax に合わせています。
基本的な使い方
- ブラウザやランダム選択で
artist_1..3を埋めます - 必要に応じて 1 つから 3 つまで artist を選びます
- 出力された
artist_stringを後段ノードへ接続します
例:
Anima Artist Browser
└─ artist_string -> downstream string input
Anima-Artist-Mixer へ接続する場合
Anima-Artist-Mixer を併用する場合は、Anima Artist Browser の artist_string を AnimaArtistPack の artist_chain に接続します。通常プロンプトは Browser 側には含めず、AnimaArtistPack の base_prompt に入力します。
Anima Artist Browser
├─ output_format = Mixer newline
└─ artist_string -> AnimaArtistPack.artist_chain
AnimaArtistPack
├─ clip
├─ artist_chain <- Anima Artist Browser.artist_string
└─ base_prompt <- 通常プロンプト
AnimaArtistCrossAttn
├─ model
└─ artist_pack <- AnimaArtistPack.artist_pack
推奨設定:
output_format = Mixer newline
weight_1/2/3 = 1.0 # 重みなし。必要なスロットだけ変更
weight_n を 1.0 以外にすると、Mixer 用形式では ::artist::weight を出力します。これは Anima-Artist-Mixer の linear injection-layer weight syntax に合わせた表記です。
weight_1 = 1.5
weight_2 = 0.5
weight_3 = 1.0
Mixer newline output:
::artist one::1.5
::artist two::0.5
artist three
ノード上の操作
Artist Browser
スタイルブラウザを開きます。
一覧から選んだアーティストは、空いているスロットに順番に入ります。空きがない場合は現在選択中のスロットを上書きします。
After Queue
After Queue を Next Artist、Random Artist、Favorite Random のいずれかにすると、Queue 実行時は現在のスロット内容で出力しつつ、送信直後に次回用の artist 構成へ更新します。
Random Artist は、現在スロットに入っている artist 数だけを対象にランダム更新します。未使用スロットは空のまま維持されます。
Favorite Random は、favorites に登録済みの artist だけを候補にしてランダム更新します。現在埋まっているスロット数だけを更新し、未使用スロットは空のまま維持されます。
Pin Favorites を On にすると、現在スロットに入っていて favorites 登録済みの artist は固定したまま、残りの枠だけを更新します。
Clear Artist
artist_1..3 をすべて空にします。
スロット表示
ノード下部に S1, S2, S3 の表示が追加され、各スロットに現在どのアーティストが入っているか確認できます。
ハイライトされている行が、現在の操作対象スロットです。
主な機能
ビジュアルスタイルブラウザ
サムネイル付きでアーティストを一覧表示し、視覚的に選択できます。
3 スロット同時管理
1 ノードで最大 3 人分のアーティストを保持し、1 本の artist 文字列として出力できます。
Filled Slot Count Preservation
Random Artist は、現在埋まっているスロット数だけを対象に更新します。
たとえば 2 スロットだけ埋まっている場合は、3 枠目を勝手に増やさず 2 枠だけを再抽選します。
Favorite Random
Favorite Random は、favorites に登録した artist だけから再抽選したい場合のモードです。
favorites が少ない場合は、その件数ぶんまでだけ埋まり、残りは空のままになります。
お気に入り固定ランダム
favorites に登録済みで、かつ現在スロットに入っている artist を固定し、残りだけをランダム追加できます。
Auto Cycle
アーティストを順に切り替えながらキュー実行できます。スタイル探索用です。
スタイルデータ更新
内蔵のアーティストデータベースを手動で更新できます。
フロントエンド構成
リファクタリング後の主な責務は次の通りです。
js/index.jsComfyUI 拡張エントリポイントjs/queue_behavior.jsqueue hook と after-queue 更新js/node_ui.jsノード widget/UI 注入js/node_runtime.jsノード runtime 状態と timerjs/browser.jsブラウザ側 composition root
より詳しい責務分割は ARCHITECTURE.md を参照してください。
注意点
- このノードの出力は
STRINGです KSamplerに直接つなぐことはできません- 出力は artist タグ文字列のみで、base prompt は含みません
Anima-Artist-Mixer連携時の通常プロンプトは、後段のAnimaArtistPackのbase_promptに入力します- 空スロットは空文字を返します
クレジット
Style explorer / dataset concept by @ThetaCursed
https://thetacursed.github.io/Anima-Style-Explorer
このリポジトリは独立実装であり、元リポジトリのフォークやミラーとして運用しない方針です。
データ整理、タグ付け、プレビュー参照の権利は原作者に帰属します。
原作者から修正または削除要請があった場合は尊重します。
元リポジトリに残す謝辞文面は ACKNOWLEDGEMENTS.md にまとめています。
対応環境
- ComfyUI
- Anima 2B
ライセンス
コード: MIT License
データセット: オフライン補完・ブラウズ用途でのみ同梱。権利表記は元プロジェクトに帰属します。