Document the new remove_extra_comma option in 3 languages and bump the package version (existing-node enhancement, minor bump). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
7.3 KiB
7.3 KiB
- Top
- Node / Image Node / Text Node / XYPlot Node / Float Palet
- Workflow
Node
🍅 Text Node
D2 Regex Replace
- 可使用正規表達式進行替換
- 可指定多個條件
- 可重複使用正規表達式的匹配字串(如\1、\2等)
- 可按「標籤單位」和「整體」指定目標字串
Input
text- 搜索目標字串
modeTag: 將text用換行和「,」分解,個別替換Advanced: 整體替換text
regex_and_output- 搜索字串和輸出字串列表
- 按以下格式填寫
- 輸出字串為空時則刪除匹配部分
- 數量沒有上限
搜索字串 1
--
輸出字串 1
--
搜索字串 2
--
輸出字串 2
Output
text- 替換處理後的文字
Sample
刪除 Pony 系列品質標籤的範例。
Mode: Tag
Input text
score_9, score_8_up, (score_7_up, score_6_up:0.8) , rating_explicit, source_anime, BREAK
1girl, swimsuit
Regex Replace
.*(score_|rating_|source_).*
--
--
BREAK
--
Output text
1girl, swimsuit
D2 Regex Switcher
- 用正規表達式搜索輸入文字,輸出匹配的文字
- 主要目的是切換每個 Checkpoint 的品質標籤
- 在輸入的
text中發現匹配字串時,輸出目標字串和匹配順序(從0開始) - 上圖中接收到
ioliPonyMixV4.safetensors並匹配搜索條件pony,因此輸出score_9 - 因為匹配第一個搜索條件,所以
index輸出0 - 未匹配任何條件時輸出
-1 - 也可進行前後字串連接
Input
text- 搜索目標字串
prefix- 前方連接的字串
suffix- 後方連接的字串
regex_and_output- 搜索字串和輸出字串列表
- 按以下格式填寫
pre_delim- 連接
prefix和regex_and_output時插入的字元 Comma:,/Line break: 換行 /None: 不插入
- 連接
suf_delim- 連接
regex_and_output和suffix時插入的字元
- 連接
搜索字串 1(可使用正規表達式)
--
輸出字串 1
--
搜索字串 2(可使用正規表達式)
--
輸出字串 2
--
--
無匹配時輸出的字串
Output
combined_text- 連接
prefix+ 輸出字串 +suffix的字串
- 連接
prefix/suffix- Input 的直通
使用範例
此例中將匹配的編號(index)傳遞給 Easy Use 的 Text Index Switch 進行切換。
因為不匹配時會變成 -1,所以使用匹配所有字串的正規表達式 .+ 代替默認輸出。
D2 Multi Output
- 以列表形式輸出 seed、cfg 等通用參數的節點
Input
typeFLOAT: 浮點數。用於 CFG 等INT: 整數。用於 steps 等STRING: 字串。用於 sampler 等SEED: 可用隨機數生成按鈕輸入 seed 值
Add Random- 在輸入欄位添加隨機數
- 僅在
type為SEED時顯示
D2 Filename Template / D2 Filename Template2
- 用於通過整合日期和其他節點的參數來創建字串模板的節點
D2 Filename Template2是支援多行的版本- 也可以從陣列、字典和物件中獲取值
- 常用格式的預設功能,如Stable Diffusion webui A1111風格的元數據
- 可以通過編輯
custom_nodes/d2-nodes-comfyui/config/template_config.yaml添加預設
- 可以通過編輯
Input
arg_{數字}- 從其他節點導入值
format%date:{yyyy/MM/dd/hh/mm/ss}%yyyy: 年MM: 月dd: 日hh: 時mm: 分ss: 秒
%{節點名稱}.{key}%- 通過指定節點名稱和項目名稱來獲取值
- 示例:
%Empty Latent Image.width%: 從Empty Latent Image節點獲取width值
%node:{id}.{key}%- 通過指定節點ID和項目名稱來獲取值
- 示例:
%node:8.width%: 從ID為8的節點獲取width值
%arg_{數字}%- 嵌入輸入的值
%arg_{數字}:ckpt_name%- 嵌入移除
.safetensors後的檢查點名稱
- 嵌入移除
%arg_{數字}:preset.{預設名稱}%- 可以通過編輯
custom_nodes/d2-nodes-comfyui/config/template_config.yaml添加預設
- 可以通過編輯
%exec_{數字}[{index}]%- 從輸入到
arg_{數字}的陣列中獲取{index}的值
- 從輸入到
%exec_{數字}['{key}']%- 從輸入到
arg_{數字}的字典中獲取{key}的值
- 從輸入到
%exec_{數字}.{key}%- 從輸入到
arg_{數字}的物件中獲取{key}的值
- 從輸入到
arg_count- 增加或減少輸入項目的數量
normalization- 正規化檔案名稱中的無效字元
使用連接到`arg_N`的節點資訊、節點名稱等來獲取
從匯總了生成參數的物件`d2_pipe`中獲取`steps`、`sampler_name`
使用輸入到`arg_1`的值與預設`a1111`。使用`D2 Pipe`添加檢查點名稱
D2 Prompt
- 您可以從
CHOOSE按鈕選擇LoRA,並插入A1111方式的LoRA提示詞 - 刪除文字中的註解
- 包括行首「#」、行首「//」以及「/」至「/」之間的內容
- 在底部顯示令牌數量(當
token_count為true時生效) - 令牌計數使用"ViT-L/14" CLIP。如果想使用其他CLIP模型,請使用
D2 Token Counter
關於註解快捷鍵
- 所有文字框都可使用註解快捷鍵(ctrl + /)
- 快捷鍵可在
Settings > D2 > shortcutKey中更改 - 如需停用此功能,請刪除上述內容
D2 Prompt Sanitizer
- 整理提示詞字串的節點
- 將
_(底線)轉換為半形空格(long_hair→long hair) - 在每個
,(逗號)之後確保有一個半形空格,並整理前後多餘的空白(a , b→a, b) - 合併多餘的連續逗號,並刪除行首的逗號(
a,, ,b→a, b) - 各項處理皆可獨立切換開關
Input
underscore_to_space:將_轉換為半形空格space_after_comma:整理逗號前後的空白並統一為,(保留換行)remove_extra_comma:將多餘的連續逗號(,,/, ,)合併為一個,並刪除行首的逗號(保留換行)protect_lora:保護以<...>包圍的 LoRA 表記不被轉換(保留<lora:my_lora:1>中的底線)protect_score:保護 Pony 系的品質標籤score_9/score_8_up等不被轉換
D2 Token Counter
- 計算提示詞的標記數量