v1.1.0: Add Filtered Random LoRA Loader, Preview Images, and Duplicate Handling
This commit is contained in:
@@ -7,7 +7,8 @@ A ComfyUI custom node package for randomly selecting and applying LoRAs. Include
|
||||
1. **Random LoRA Loader** - Select from 3 folders simultaneously
|
||||
2. **Filtered Random LoRA Loader** - Single folder with keyword filtering (NEW v1.1.0)
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
---
|
||||
|
||||
@@ -109,7 +110,7 @@ Or manually delete the RandomLoRALoader folder and restart ComfyUI.
|
||||
|
||||
This node works seamlessly with Wildcard Encode (Inspire) for dynamic prompt generation combined with random LoRA selection.
|
||||
|
||||

|
||||

|
||||
|
||||
#### Recommended Connection
|
||||
|
||||
@@ -229,6 +230,7 @@ Each group can be configured individually:
|
||||
|---------|-------------|---------|
|
||||
| `lora_folder_path_X` | LoRA folder absolute path | (empty) |
|
||||
| `include_subfolders_X` | Include subfolders | `true` |
|
||||
| `unique_by_filename_X` | Exclude duplicate filenames | `true` |
|
||||
| `model_strength_X` | MODEL application strength | `"1.0"` |
|
||||
| `clip_strength_X` | CLIP application strength | `"1.0"` |
|
||||
| `num_loras_X` | Number of LoRAs to select | Group 1: `1`, Groups 2/3: `0` |
|
||||
@@ -623,6 +625,8 @@ You can use this node as a simple LoRA syntax remover without applying any LoRAs
|
||||
|
||||
## Filtered Random LoRA Loader (NEW v1.1.0)
|
||||
|
||||

|
||||
|
||||
### Overview
|
||||
|
||||
A single-group LoRA loader with keyword filtering capabilities. Designed for chaining multiple instances together.
|
||||
@@ -643,6 +647,7 @@ A single-group LoRA loader with keyword filtering capabilities. Designed for cha
|
||||
#### Folder Settings
|
||||
- `lora_folder_path` - Single folder path
|
||||
- `include_subfolders` - Include subfolders (default: True)
|
||||
- `unique_by_filename` - Exclude duplicate filenames across subfolders (default: True)
|
||||
|
||||
#### Keyword Filter
|
||||
- `keyword_filter` - Keywords (comma-separated, e.g., "style, anime")
|
||||
@@ -742,6 +747,35 @@ filter_mode: "OR"
|
||||
→ Matches files containing EITHER "style" OR "anime"
|
||||
```
|
||||
|
||||
### Handling Duplicate Filenames
|
||||
|
||||
If the same LoRA filename exists in multiple subfolders (e.g., originals and backups), the `unique_by_filename` option prevents selecting the same LoRA multiple times.
|
||||
|
||||
**Example:**
|
||||
```
|
||||
Folder structure:
|
||||
/LoRA/
|
||||
├── style/anime_v1.safetensors
|
||||
└── backup/anime_v1.safetensors
|
||||
|
||||
unique_by_filename: True (default)
|
||||
→ Only one anime_v1.safetensors will be selected
|
||||
→ First occurrence is kept (/LoRA/style/anime_v1.safetensors)
|
||||
|
||||
unique_by_filename: False
|
||||
→ Both files can be selected
|
||||
→ May result in same LoRA applied twice with different strengths
|
||||
```
|
||||
|
||||
**Log output when duplicates detected:**
|
||||
```
|
||||
[FilteredRandomLoRALoader] Duplicate filename detected: anime_v1.safetensors
|
||||
Keeping: /LoRA/style/anime_v1.safetensors
|
||||
Skipping: /LoRA/backup/anime_v1.safetensors
|
||||
```
|
||||
|
||||
**Recommendation:** Keep default `True` to avoid unintentional duplicate applications.
|
||||
|
||||
### Metadata Search Performance
|
||||
|
||||
**Filename search (Default):**
|
||||
@@ -779,6 +813,8 @@ Randomly selects 1 LoRA containing "anime" in filename
|
||||
|
||||
#### Chaining Multiple Instances
|
||||
|
||||

|
||||
|
||||
```
|
||||
[Filtered Random LoRA Loader A]
|
||||
folder: /loras/all/
|
||||
|
||||
+33
-2
@@ -9,6 +9,7 @@ ComfyUIでLoRAをランダムに選択・適用するカスタムノードパッ
|
||||
|
||||

|
||||

|
||||
|
||||
---
|
||||
|
||||
## ノード概要
|
||||
@@ -215,6 +216,7 @@ LoRA適用: フォルダ指定機能を使用 ✅
|
||||
|------|------|------------|
|
||||
| `lora_folder_path_X` | LoRAフォルダの絶対パス | (空) |
|
||||
| `include_subfolders_X` | サブフォルダを含めるか | `true` |
|
||||
| `unique_by_filename_X` | 重複ファイル名を除外 | `true` |
|
||||
| `model_strength_X` | MODELへの適用強度 | `"1.0"` |
|
||||
| `clip_strength_X` | CLIPへの適用強度 | `"1.0"` |
|
||||
| `num_loras_X` | 選択するLoRA個数 | グループ1: `1`, グループ2/3: `0` |
|
||||
@@ -714,6 +716,7 @@ LoRAを適用せず、単純にLoRA構文削除フィルタとしてこのノー
|
||||
#### フォルダ設定
|
||||
- `lora_folder_path` - フォルダパス(1つ)
|
||||
- `include_subfolders` - サブフォルダを含む(デフォルト: True)
|
||||
- `unique_by_filename` - サブフォルダ間の重複ファイル名を除外(デフォルト: True)
|
||||
|
||||
#### キーワードフィルタ
|
||||
- `keyword_filter` - キーワード(カンマ区切り、例: "style, anime")
|
||||
@@ -730,6 +733,7 @@ LoRAを適用せず、単純にLoRA構文削除フィルタとしてこのノー
|
||||
|
||||
#### 追加プロンプト
|
||||
- `additional_prompt_positive` - 追加ポジティブプロンプト(入力接続 or 直接記述)
|
||||
- `additional_prompt_negative` - 追加ネガティブプロンプト(入力接続 or 直接記述)
|
||||
|
||||
#### seed
|
||||
- `seed` - ランダムシード
|
||||
@@ -812,6 +816,35 @@ filter_mode: "OR"
|
||||
→ "style" OR "anime" のいずれかを含むファイルにマッチ
|
||||
```
|
||||
|
||||
### 重複ファイル名の処理
|
||||
|
||||
同じLoRAファイル名が複数のサブフォルダに存在する場合(例: オリジナルとバックアップ)、`unique_by_filename`オプションで同じLoRAが複数回選択されるのを防ぎます。
|
||||
|
||||
**例:**
|
||||
```
|
||||
フォルダ構成:
|
||||
/LoRA/
|
||||
├── style/anime_v1.safetensors
|
||||
└── backup/anime_v1.safetensors
|
||||
|
||||
unique_by_filename: True(デフォルト)
|
||||
→ anime_v1.safetensorsは1つだけ選択される
|
||||
→ 最初に見つかったものを保持(/LoRA/style/anime_v1.safetensors)
|
||||
|
||||
unique_by_filename: False
|
||||
→ 両方のファイルが選択される可能性あり
|
||||
→ 同じLoRAが異なる強度で2回適用される可能性
|
||||
```
|
||||
|
||||
**重複検出時のログ出力:**
|
||||
```
|
||||
[FilteredRandomLoRALoader] Duplicate filename detected: anime_v1.safetensors
|
||||
Keeping: /LoRA/style/anime_v1.safetensors
|
||||
Skipping: /LoRA/backup/anime_v1.safetensors
|
||||
```
|
||||
|
||||
**推奨:** 意図しない重複適用を避けるため、デフォルトの`True`を維持してください。
|
||||
|
||||
### メタデータ検索のパフォーマンス
|
||||
|
||||
**ファイル名検索(デフォルト):**
|
||||
@@ -875,8 +908,6 @@ filter_mode: "OR"
|
||||
|
||||
#### Wildcard Encodeとの連携
|
||||
|
||||

|
||||
|
||||
```
|
||||
[Wildcard Encode]
|
||||
populated_text: "1girl, beautiful"
|
||||
|
||||
Reference in New Issue
Block a user