English | 日本語 | 繁体中文
- Top
- Node / Image Node / Text Node / XYPlot Node / Float Palet
- Workflow
# Node
## :tomato: Sampler Nodes
### D2 KSampler / D2 KSampler(Advanced)
#### 與標準KSampler的差異
- 直接輸出圖像(不需要VAE Decoder)
- 可以用STRING格式輸入提示詞
- 支援A1111方式的LoRA載入提示詞
- 例如:``
- 格式請參考 `D2 Load Lora`
- 註:當在`D2 KSampler Advanced`中輸入`positive_cond` / `negative_cond`時,LoRA將不會套用到CLIP。只會套用到MODEL。
- 有專用的Controlnet輸入,可以簡單地應用
- 支援整合生成參數的 `d2_pipe`
- 可以從 `D2 XY Plot`、`D2 XY Plot Easy`、`D2 XY Plot Easy Mini` 簡單接收
- 可以從 `D2 Checkpoint Loader` 或 `D2 Load Diffusion Model Set` 一併接收 `model` / `clip` / `vae`
- 可以簡單地將參數傳遞給 `D2 Save Image Eagle`
- 可以更改提示詞權重算法(weight_interpretation)
#### 注意事項
- 當連接 `d2_pipe` 時,`d2_pipe` 的參數優先
- 例如,如果在 `D2 KSampler` 中指定 **steps:20**,在 `D2 XYPlot Easy` 中指定 **steps:15**,在連接 `d2_pipe` 的情況下,將採用 `D2 XYPlot Easy` 的 **steps:15**。
- 但 `model` / `clip` / `vae` / `positive_cond` / `negative_cond` 會**優先使用直接連接的輸入**(與 `positive` / `negative` 相同)。只有在沒有直接連接時才使用 `d2_pipe` 的值。
#### Input
- 與標準KSampler相同
- `model` / `clip` / `latent_image` / `seed` / `steps` / `cfg` / `sampler_name` / `scheduler` / `denoise`
- `model` / `clip` 現在可以從 `d2_pipe` 傳入,因此兩者皆為 optional(可選連接)
- D2 KSampler中新增
- `vae`:可從 `d2_pipe` 傳入,因此為 optional(可選連接)
- `cnet_stack`:用於連接 `D2 Controlnet Loader`
- `d2_pipe`:整合的生成參數。從 `D2 XY Plot` 等節點接收
- `preview_method`:生成時的預覽顯示方式
- `positive` / `negative`:STRING格式的提示詞
- D2 KSampler Advanced中新增
- `token_normalization` / `weight_interpretation`
- 提示詞權重調整方法。可在 D2 KSampler Advanced 中使用
- 使用需要安裝 [Advanced CLIP Text Encode](https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb/)
#### Output
- 與標準KSampler相同
- `LATENT`
- D2 KSampler中新增
- `IMAGE`:生成的圖像
- `MODEL` / `CLIP`:已套用LoRA
- `positive` / `negative`:輸入的直接傳遞
- `formatted_positive`:已刪除A1111方式LoRA格式的positive提示詞
- `positive_cond` / `negative_cond`:已套用Controlnet的CONDITIONING
- 由於 Controlnet 的圖像是針對整張圖像,若傳給 FaceDetailer 等裁切圖像局部後重繪的節點,裁切範圍與 Controlnet 的位置可能錯位,導致圖像崩壞
- `d2_pipe`:整合的生成參數
- D2 KSampler 內部建立的 CONDITIONING 不會存入 `d2_pipe` 的 `positive_cond` / `negative_cond`。會直接傳遞輸入的值(未輸入時為空)
---
### D2 Pipe
- 用於修改和提取 `d2_pipe` 內容的節點
- `d2_pipe` 用於在 D2 XY Plot Easy、D2 KSampler、D2 Save Image Eagle 等節點中批量傳遞參數
- 除了 `ckpt_name` / `positive` / `negative` / `seed` / `steps` / `cfg` / `sampler_name` / `scheduler` / `denoise` / `width` / `height` 之外,現在也支援 `model` / `clip` / `vae` / `positive_cond` / `negative_cond` 的輸入/輸出
- 為這些項目連接直接輸入時,會覆寫 `d2_pipe` 中對應的項目。若沒有連接,則直接傳遞 `d2_pipe` 的值
---
## :tomato: Loader Node
### D2 Checkpoint Loader
- 輸出模型檔案完整路徑的 Checkpoint Loader
- 當檔案名稱包含「vpred」時,可以自動套用 v_prediction 設定
#### Input
- `d2_pipe`
- 此節點本身不使用,但會將 `model` 等加入接收到的 `d2_pipe`
- `ckpt_name`
- 檢查點名稱
- `auto_vpred`
- `true`: 當檔案名稱包含「vpred」時,自動套用 v_prediction 設定
- `sampling` / `zsnr`
- 與 ModelSamplingDiscrete 相同的設定(詳細不明)
- `multiplier`
- 與 RescaleCFG 相同的設定(詳細不明)
#### Output
- `model` / `clip` / `vae`
- 與一般的 CheckpointLoader 相同。
- `ckpt_name` / `ckpt_hash` / `ckpt_fullpath`
- 檢查點名稱、雜湊值和完整路徑。
- `d2_pipe`
- 整合了 `model` / `clip` / `vae` / `ckpt_name`。可用單一連線連接到 `D2 KSampler`。
---
### D2 Load Diffusion Model
- 輸出模型檔案完整路徑和檔案名稱的 Load Diffusion Model
#### Input
- `d2_pipe`
- 此節點本身不使用,但會將 `model` 等加入接收到的 `d2_pipe`
- `unet_name` / `weight_dtype`: 與標準的 `Load Diffusion Model` 相同
#### Output
- `model`
- 與標準的 Load Diffusion Model 相同。
- `ckpt_name` / `ckpt_hash` / `ckpt_fullpath`
- 檢查點名稱、雜湊值和完整路徑。
- 雖然實際上是 `unet_name`,但為了與 `D2 Checkpoint Loader` 保持一致,命名為 `ckpt_name`
- `d2_pipe`
- 整合了 `model` / `ckpt_name`。可以連接到 `D2 KSampler`。
- 由於此節點不載入 VAE / CLIP,`d2_pipe` 中只包含 `model`(`clip` / `vae` 需要另外連接)
---
### D2 Load Diffusion Model Set
- 將 `Load Diffusion Model` + `Load VAE` + `Load CLIP` 整合為一的載入器
- 一併載入 `model` / `clip` / `vae`,並可作為 `d2_pipe` 輸出
- 只要用單一 `d2_pipe` 連線連接到 `D2 KSampler`,就不需要個別連接 `model` / `clip` / `vae`
#### Input
- `d2_pipe`
- 此節點本身不使用,但會將 `model` 等加入接收到的 `d2_pipe`
- `unet_name` / `weight_dtype`:與標準的 `Load Diffusion Model` 相同
- `vae_name`:與標準的 `Load VAE` 相同
- `clip_name` / `clip_type`:與標準的 `Load CLIP` 相同
#### Output
- `model` / `clip` / `vae`
- 與各標準載入器相同。
- `ckpt_name` / `ckpt_hash` / `ckpt_fullpath`
- Diffusion Model 名稱、雜湊值和完整路徑。
- 雖然實際上是 `unet_name`,但為了與 `D2 Checkpoint Loader` 保持一致,命名為 `ckpt_name`
- `d2_pipe`
- 整合了 `model` / `clip` / `vae` / `ckpt_name`。可用單一連線連接到 `D2 KSampler`。
---
### D2 Controlnet Loader
- 連接到 `D2 KSampler` 可建立簡單工作流程的 Controlnet Loader
- 可透過 `controlnet_type` 在 `StableDiffusion`(一般的 Controlnet)與 `Anima`(kohya-ss 的 Anima-LLLite)之間切換
- 使用 `Anima` 需要事先安裝 [ComfyUI-Anima-LLLite](https://github.com/kohya-ss/ComfyUI-Anima-LLLite)
#### Input
- `controlnet_type`
- `StableDiffusion`:一般的 Controlnet
- `Anima`:kohya-ss 的 Anima-LLLite(需要 [ComfyUI-Anima-LLLite](https://github.com/kohya-ss/ComfyUI-Anima-LLLite))
- `cnet_stack`
- 用於連接 `D2 Controlnet Loader`
#### Output
- `cnet_stack`
- 用於連接 `D2 KSampler` 或 `D2 Controlnet Loader`
---
### D2 Merge Cnet
- 將多個 `cnet_stack` 整合為一的節點
- 輸入會依照 `cnet_stack_count` 的數量增減
- 未連接的輸入會被忽略,因此只連接其中一部分也能使用
- 適合在使用多個 Controlnet 時,只想停用特定 Controlnet 的情況
#### Input
- `cnet_stack_count`
- 要輸入的 `cnet_stack` 數量(1〜10)
- `cnet_stack_1` 〜 `cnet_stack_10`
- 連接 `D2 Controlnet Loader` 等的 `cnet_stack`
#### Output
- `cnet_stack`
- 用於連接 `D2 KSampler` 或 `D2 Controlnet Loader`
---
### D2 Load Lora
- 可以通過文本指定Lora的Lora加載器
- 也可以指定model_weight / clip_weight
- 有兩種模式:使用與StableDiffusion webui A1111相同格式的模式(a1111)和僅列出LoRA名稱的模式(simple)
- 具體使用方法請參考範例工作流程
#### Input
- `mode`
- `a1111`: 可以使用與StableDiffusion webui A1111相同格式的模式
- `simple`: 僅列出LoRA名稱的簡單模式。在此模式下,不使用輸出中的`STRING`
#### Output
- `MODEL` / `CLIP`: 已套用LoRA的MODEL、CLIP
- `prompt`: 直接輸出輸入的文字
- `formatted_prompt`: 已刪除LoRA指定部分的文字
#### 不同模式下的格式差異
**mode: a1111**
表示為``。
```
```
**mode: simple**
前後不需要裝飾
```
lora_name:1
```
#### 如何指定Weight
按照`{lora_name}:{model_weight}:{clip_weight}`的格式書寫。
```
foo:0.8:1
```
如果未指定clip_weight,則應用與model_weight相同的值。
以下具有相同含義。
```
foo:0.8
foo:0.8:0.8
```
如果未指定weight,則應用"1"
以下具有相同含義。
```
foo
foo:1:1
```
#### 如何在simple模式下指定多個LoRA
用換行分隔
```
foo:0.5
bar
```
當在一行中寫入兩種類型時,用","分隔
```
foo:0.5,bar
```
#### 註釋
以"//"或"#"開頭的行將被忽略。
```
//foo:0.5
#bar
```
---
## :tomato: Size Node
### D2 Get Image Size
- 同時執行尺寸的輸出和顯示
---
### D2 Size Selector
- 可從預設中選擇圖像尺寸的節點
- 也可從圖像獲取尺寸
- 可從 `Ceil / Float / None` 中選擇數值的捨入方式
#### Input
- `images`
- 用於從圖像獲取尺寸
- 需要將 `preset` 設為 `custom`
- `preset`
- 尺寸預設
- 使用下方的 `width` `height` 或 `images` 的尺寸時需要設為 `custom`
- 要修改預設時請編輯 `/custom_nodes/D2-nodes-ComfyUI/config/sizeselector_config.yaml`
- `width` / `height`
- 寬高尺寸
- 需要將 `preset` 設為 `custom`
- `swap_dimensions`
- 交換 width / height
- `upscale_factor`
- 傳遞給其他調整尺寸節點的數值,此節點不做任何處理
- `prescale_factor`
- 以此倍率調整尺寸後輸出 width / height
- `round_method`
- `Round`: 四捨五入
- `Floor`: 無條件捨去
- `None`: 不處理
- `batch_size`
- 設定給 empty_latent 的批次大小
#### Output
- `width / height`
- 將輸入的 `width`、`height` 乘以 `prescale_factor`
- `upscale_factor` / `prescale_factor`
- 直通輸入值
- `batch_size`
- 直通輸入值
- `empty_latent`
- 輸出以指定尺寸和批次大小創建的 latent
---
### D2 Image Resize
- 圖像和遮罩的縮放和旋轉
- 縮放可指定到小數點後3位
- 可選擇四捨五入、無條件捨去、無條件進位處理小數點
- 可使用放大模型進行放大
- 可輸出 Latent(需要 VAE)
- 旋轉選項:90 / 180 / 270 度
---
### D2 Resize Calculator
- 可選擇四捨五入、無條件捨去、無條件進位
---
## :tomato: Refiner Node
### D2 Refiner Steps
- 輸出用於 Refiner 的 steps 的節點
#### Input
- `steps`
- 總步數
- `start`
- 第一個 KSampler 的開始步數
- `end`
- 第一個 KSampler 的結束步數
#### Output
- `steps` / `start` / `end`
- Input 的直通
- `refiner_start`
- 第二個 KSampler 的開始步數
---
### D2 Refiner Steps A1111
- 用於 img2img 的 Refiner,可指定 denoise 的節點
#### Input
- `steps`
- 總步數
- `denoise`
- 指定 img2img 的 denoise
- `switch_at`
- 在總步數的多少比例時切換到下一個 KSampler
#### Output
- `steps`
- Input 的直通
- `start`
- 第一個 KSampler 的開始步數
- `end`
- 第一個 KSampler 的結束步數
- `refiner_start`
- 第二個 KSampler 的開始步數
---
### D2 Refiner Steps Tester
- 用於確認步數的節點
---
## :tomato: Merge Node
### D2 Model and CLIP Merge SDXL
- 將 ModelMergeSDXL 和 CLIPMergeSimple 結合的節點
- 為了便於在 XYPlot 中使用,可以用逗號分隔指定各個權重
- 在此圖中指定了 `0.85,0.85,1,1,0.4,0.4,1,0.4,0.4,0.4,1,0.4,0.4,0.4,0,0.55,0.85,0.85,0.85,0.85,0.85,0.85,1,1,0.65`
---
### D2 Any Delivery
- 可以將多個元素一起傳遞的節點
- 連接 `D2 Any Delivery` 節點,將數據作為包裝傳遞
- 可以通過在 `_label` 中寫入來動態添加必要的輸入和輸出
- 因為 ComfyUI 更新後 ComfyUI-0246 的 `Highway` 變得不可用而創建
- 如果原版更新了,可能使用原版會更好
#### Input
- `_package`
- 從其他 `D2 Any Delivery` 節點接收的包裝
- `_label`
- 定義輸入和輸出
- 像 `>width; >height; ` 開頭的項目作為輸入添加
- 以 `<` 開頭的項目作為輸出添加
- 可以用 `;` 分隔指定多個項目
- `_update`
- 根據 `_label` 的內容更新輸入和輸出
#### Output
- `_package`
- 傳遞給其他 D2_AnyDelivery 節點的包裝
- 存儲在輸入中接收的所有值
- 在 `_label` 中用 `<` 指定的項目
- 輸出從 `_package` 中提取的值
#### _label 範例
添加 `width` `height` 到輸入
```
>width; >height
```
添加 `width` `height` 到輸出
```
prompt; >seed;
- 以文字定義多個參數的預設組合,從下拉選單選擇一個即可整組輸出的節點
- 適用於依各 Checkpoint 切換建議的 `steps` / `cfg` 等成組設定
- 在 `preset_text` 填入格式後按下 `_update`,即可重建輸出插槽與下拉選單
#### Input
- `preset`
- 下拉選單。目前選擇的預設
- `preset_text` 第 3 行以後的標題會成為選項
- `preset_name`
- 從外部以字串接收預設名稱的輸入(forceInput)
- 當已連接且非空字串時,會優先於 `preset`(下拉選單的選擇)
- `preset_text`
- 預設定義文字(格式如下)
- 預設已填入範例,可直接試用
- `_update`
- 依 `preset_text` 的內容更新輸出插槽與下拉選單
#### Output
- 會依 `preset_text` 第 1 行定義的名稱各自建立輸出插槽
- 所選預設的值會依第 2 行指定的型別轉換後輸出
#### preset_text 格式
```
steps;cfg
INT;FLOAT
Anima;15;1.5
Illustrious;20;5.0
```
- 第 1 行:輸出名稱(以 `;` 分隔)
- 第 2 行:輸出型別(`INT` / `FLOAT` / `STRING` / `BOOLEAN`)
- 第 3 行以後:`標題;值1;值2…`(每個預設一行)。標題(第一個儲存格)為必填,留空會發生錯誤
在上述範例中,選擇 `Anima` 會輸出 `steps`=15、`cfg`=1.5。
#### 限制
- `STRING` 的值中不能使用分隔符號 `;`
- 不支援將 Primitive 節點連接到 `preset` 下拉選單(因 ComfyUI 的限制,選項不會顯示)。重新載入、載入工作流程、子圖(subgraph)輸入皆可正常運作
---
### D2 Save Audio Eagle
- 將音頻文件發送到 Eagle 的節點
- 文件也會同時保存到常規文件夾,請注意硬碟剩餘空間
#### Input
- `audio`
- 要保存的音頻
- `filename_prefix`
- 保存文件名
- `eagle_folder`
- Eagle 的保存目標文件夾名稱
- `format`
- 從 FLAC / MP3 / Opus 中選擇
- `mp3_quality`
- `format` 為 `mp3` 時使用的位元率
- `opus_quality`
- `format` 為 `Opus` 時使用的位元率
- `memo_text`
- 保存到 Eagle 備註欄的文字
#### Output
- `audios`
- 將輸入的音頻原樣輸出
- `filenames`
- 保存的音頻文件完整路徑陣列(`ARRAY`)