Skip to content

Latest commit

 

History

History
124 lines (79 loc) · 6.33 KB

File metadata and controls

124 lines (79 loc) · 6.33 KB

English | 日本語 (Japanese)

ComfyUI-SingleLinePicker

リストからワンクリックでテキストを選択できるComfyUIのカスタムノードです。LoRAやプロンプトの切り替え作業を劇的に改善します。

screecshot01

Nodes

SLP List View

入力されたテキストを個々の行のリストとして表示します。選択された行を出力します。

出力は文字列ですが、すべてのインプットに繋ぐことができるのでコンボボックスにも接続できます。

表示されるテキストは、複数行テキストを出力する適当なノードからINPUTのtextに繋げることで反映されます。最初の実行時やテキストの内容が変わると選択状態がリセットされ、何も出力しません。ノードを選択したときに出てくるツールボックスから部分実行を行えば全体の工程を行わずにテキストが流れ込みます。内容が固定の場合は一度読み込まれたら接続を切っても大丈夫です。

ノード情報パネルのParametersでsource_textを直接編集することでも内容を変更できます。

ノードのコンテクストメニューに「Get Lora List」項目が追加されます。これを選ぶとインストールしているLoRAの一覧を取得しリストに表示します。

ノードのコンテクストメニューに「Upload File...」項目が追加されます。これを選ぶとローカルファイルから内容を設定できます。.csv, .tsv, .txtファイルに対応しています。.csv.tsvは1列目を表示テキスト2列目を出力されるテキストと解釈して処理します(後述のセクションモードになります)。

辞書モード:テキストの一行目に#dictと記入すると2行目以降をコロンを挟んで「表示テキスト: 出力されるテキスト」と解釈して処理します。長い文章を簡潔なタイトルで把握することができます。

例:

#dict
first:output value
second:other value
third:last value

セクションモード:テキストの一行目に#sectionと記入すると2行目以降を「[表示テキスト](改行)出力されるテキスト」の連続と解釈して処理します。表示テキストの行全体を角括弧で囲み、次の行から出力されるテキストを記入します。出力されるテキストは改行を含めることができます。

例:

#section
[first]
output value
[second]
other
value
[third]
last value

screecshot02

csv, tsvやテキストファイル群から整形済みテキストを生成するPythonスクリプトが付属しています。出力テキストをSLP List Viewで読める形式にすると、二重構造のリストを再現することができます。SLP List Viewを2つ繋げて最初のノードに適用することで、カテゴリーを選んでから項目を選ぶようなことができるようになります。付属スクリプトで簡単に作ることができます。

screecshot05

Warning

Nodes 2.0 にはまだ対応していません。

SLP Lora Loader / SLP Lora Loader (Model Only)

デフォルトのローダーとほぼ同じです。LoRAファイルの指定部分がコンボボックスではなくテキストになっています。

出力パラメータstemを持っています。LoRAファイルの拡張子を除いたファイル名を出力します。次節のSLP Filename Prefixで利用できます。

SLP Filename Prefix

「画像を保存」などのファイルを書き出すノードはfilename_prefix(ファイル名_プレフィックス)パラメータを持ち%date:%方式で現在の日付時刻を設定できます。ただしこれはフロントエンドで前処理されるため、実行中の出力と組み合わせることが難しいのです。filename_prefixにインプット接続しても日付時刻の処理はされません。

それを解決するためにこのノードでは、日付時刻の処理に加えてプレースホルダによる文字列置き換えを行った結果を出力します。「画像を保存」などのfilename_prefixに有効な値を渡すことができます。

プレースホルダは$1 $2 $3 $4と最大4個作ることができ、それぞれ同名のインプットで置き換えられます。入力は文字列と数値に対応しています。

screecshot03

SLP Directory Contents

ローカルのフォルダの内容を読み込み改行で区切られた文字列として出力します。

  • path: 対象のフォルダ
  • is_full_path: フルバスで出力するかファイル名だけ出力するか
  • SLP_format: SLP List View に最適化したフォーマットで出力するかどうか
  • prefix: 出力に追加するプレフィクス

例: pathComfyUI_models/loras/myLora などと指定し、is_full_pathFalseSLP_formatTrueprefixmyLora/ と指定すると、lorasのサブフォルダだけを読み込み、Lora Loader に出力できるパス形式になります。

Installation

ComfyUI/custom_nodesgit clone する

git clone https://github.com/hetima/ComfyUI-SingleLinePicker.git

もしくは ComfyUI Manager から探してインストールしてください。

必要な追加 pip パッケージはありません。

Changelog

1.3.1

  • カスタムノード SLP Directory Contents を追加
  • SLP List Viewの出力をすべての入力に接続できるようにした

1.2.2

  • Get Lora List コンテクストメニューを追加
  • Upload File... コンテクストメニューを追加

1.2.1

  • ノード表示名を SLP List View に変更

1.2.0

  • #sectionモードを追加
  • ヘルパースクリプト slp_buld_csv.pyslp_build_folder.py を追加 - SLP List View 同士の接続に対応

1.1.0

  • カスタムノード SLP Filename Prefix を追加

1.0.0

  • 最初のリリース