26 Commits
Author SHA1 Message Date
严浪 93eb3f553b 功能修改 2024-05-28 17:04:42 +08:00
严浪 3f8651fea2 BUG修改,功能优化 2024-05-19 22:28:27 +08:00
严浪 9bc0f3d23d 宽高自适应 2024-05-17 09:35:28 +08:00
严浪 a59c79abe7 功能优化,姿态编辑提交提示词输入 2024-05-15 17:37:48 +08:00
严浪 802b8011b9 功能优化 2024-05-10 11:39:09 +08:00
严浪 e80cee4af3 说明修改 2024-05-05 14:58:54 +08:00
严浪 4084513f72 插件功能优化 2024-05-03 21:48:31 +08:00
严浪 e3b06e9863 新增多IPAdapter多参考图遮罩功能节点 2024-04-24 22:11:32 +08:00
严浪 c514485fd1 名称修改 2024-04-23 14:24:38 +08:00
严浪 3d23917893 功能优化 2024-04-22 16:42:54 +08:00
严浪 838ca7bed3 添加备注 2024-04-22 15:01:41 +08:00
严浪 8fcc318dc0 微信公众号应用开发,和网页支持 2024-04-21 17:26:34 +08:00
严浪 5121da825f 功能优化 2024-04-16 15:21:12 +08:00
严浪 dceb8dd644 功能修改,节点增加 2024-04-13 13:14:46 +08:00
严浪 c21efaea1f BUG修改 2024-04-08 15:01:17 +08:00
严浪 b2f6d1adf6 修改execution.py说明 2024-04-08 09:32:22 +08:00
严浪 74250a52fb 循环插件修改,风格节点优化 2024-04-08 09:16:47 +08:00
严浪 ec0c82eb87 添加姿态编辑配套节点,修改BUG 2024-04-06 22:20:18 +08:00
严浪 7ebde46f36 Merge branch 'master' of https://gitee.com/yanlang0123/ComfyUI_Lam 2024-04-04 14:35:54 +08:00
严浪 824a646e31 删除多余按钮 2024-04-04 14:35:46 +08:00
yanlang0123 0413b82422 删除文件 tags/十八禁.yml 2024-04-01 05:51:38 +00:00
严浪 1035574185 BUG修改 2024-04-01 13:45:56 +08:00
严浪 3c149ca288 新增手控制功能 2024-04-01 13:33:02 +08:00
严浪 3ec9764a9d 功能优化 2024-03-29 16:16:01 +08:00
严浪 c7ea1838f1 功能优化 2024-03-29 14:56:25 +08:00
严浪 99b767a327 多脸部识别,骨骼编辑器 2024-03-22 11:12:13 +08:00
397 changed files with 284830 additions and 414 deletions
+133 -8
View File
@@ -38,11 +38,136 @@ https://github.com/comfyanonymous/ComfyUI/releases/download/latest/ComfyUI_windo
Extraction Code: b4yy
Extract to the directory ..\ComfyUI\models\roop-face-swap
6. Modify the execution.py file in the comfyUI root directory. Modify the content, search for "Return type mismatch between linked nodes," find the corresponding line, and replace
```python
if r[val[1]] != type_input:
```
with
```python
if type_input !="*" and r[val[1]] != type_input:
```
6. Modify the execution.py file in the comfyUI root directory.
搜索 “def recursive_execute”
位置参考图如下:
![Alt text](修改位置.png)
新增内容:
```python
#循环添加代码----------开始----------
def get_del_keys(key, prompt,uniqueIds):
keys=[]
for k,v in prompt.items():
if k in uniqueIds :
continue
for k1,v1 in v['inputs'].items():
if type(v1)==list and v1[0]==key:
keys.append(k)
keys=keys+get_del_keys(k,prompt,uniqueIds)
return keys
#循环添加代码-----------结束---------
```
```python
#循环添加代码----------开始----------
startNum=None
startData={}
delKeys=[]
backhaul={}
clTypes=['ForInnerEnd','IfInnerExecute','DoWhileEnd']
oldPrompt=None
if class_type in clTypes:
oldPrompt=copy.deepcopy(prompt)
if class_type=='ForInnerEnd':
startNum=prompt[unique_id]['inputs']['total'][0]
inputNum=prompt[unique_id]['inputs']['obj'][0]
maxKeyStr=sorted(list(prompt.keys()), key=lambda x: int(x.split(':')[0]))[-1]
maxKey = int(maxKeyStr.split(':')[0])
delKeys=list(set(get_del_keys(startNum,prompt,[startNum,unique_id])))
delKeys.append(startNum)
delKeys = list(filter(lambda x: x != inputNum, delKeys))
for key in delKeys:
outputs.pop(key, None)
startInput=prompt[startNum]['inputs']
if isinstance(startInput['total'],list) or isinstance(startInput['stop'],list) or isinstance(startInput['i'],list):
result = recursive_execute(server, prompt, outputs, startNum, extra_data, executed, prompt_id, outputs_ui, object_storage)
if result[0] is not True:
return result
for x in startInput:
input_data = startInput[x]
if isinstance(input_data, list):
startData[x]=outputs[input_data[0]][input_data[1]][0]
else:
startData[x]=input_data
for i in range(startData['i']+1,startData['total'],startData['stop']):
prompt[str(maxKey+i)]=prompt[inputNum]
prompt[unique_id]['inputs']['obj'+str(i)]=[str(maxKey+i),prompt[unique_id]['inputs']['obj'][-1]]
if i==startInput['i']+1:
backhaul['obj'+str(i)]=prompt[unique_id]['inputs']['obj']
else:
backhaul['obj'+str(i)]=[str(maxKey+i-startInput['stop']),prompt[unique_id]['inputs']['obj'][-1]]
elif class_type=='DoWhileEnd':
startNum=prompt[unique_id]['inputs']['start'][0]
inputNum=prompt[unique_id]['inputs']['ANY'][0]
delKeys=list(set(get_del_keys(startNum,prompt,[startNum,unique_id])))
delKeys.append(startNum)
delKeys.append(inputNum)
#循环添加代码-----------结束---------
```
```python
#循环添加代码----------开始----------
if class_type=='ForInnerEnd' and x !='obj' and x.startswith('obj'):
if startNum!=None:
if isinstance(prompt[startNum]['inputs']['i'],list):
prompt[startNum]['inputs']['i']=startData['i']+startData['stop']
else:
prompt[startNum]['inputs']['i']=prompt[startNum]['inputs']['i']+startData['stop']
prompt[startNum]['inputs']['obj']=backhaul[x]
for key in delKeys:
outputs.pop(key, None)
#循环添加代码-----------结束---------
```
```python
#判断选择添加代码-----------开始---------
if class_type=='DoWhileEnd' and x == 'ANY':
any=outputs[inputNum][prompt[unique_id]['inputs']['ANY'][1]][0]
i=0
while any:
for key in delKeys:
outputs.pop(key, None)
i=i+1
outputs['i']=[[i]]
prompt[startNum]['inputs']['i']=['i',0]
result = recursive_execute(server, prompt, outputs, input_unique_id, extra_data, executed, prompt_id, outputs_ui, object_storage)
if result[0] is not True:
return result
any=outputs[inputNum][prompt[unique_id]['inputs']['ANY'][1]][0]
if class_type=='IfInnerExecute' and x=='ANY':
if outputs[input_unique_id][output_index][0]:
inputs['IF_FALSE']=oldPrompt[unique_id]['inputs']['IF_TRUE']
else:
inputs['IF_TRUE']=oldPrompt[unique_id]['inputs']['IF_FALSE']
#判断选择添加代码-----------结束---------
```
```python
#循环添加代码----------开始----------
if class_type=='ForInnerEnd' or class_type=='DoWhileEnd':
prompt[startNum]['inputs']=oldPrompt[startNum]['inputs']
prompt[unique_id]['inputs']=oldPrompt[unique_id]['inputs']
outputs.pop(startNum, None)
result = recursive_execute(server, prompt, outputs, startNum, extra_data, executed, prompt_id, outputs_ui, object_storage)
if result[0] is not True:
return result
if class_type=='IfInnerExecute':
prompt[unique_id]['inputs']=oldPrompt[unique_id]['inputs']
#循环添加代码-----------结束---------
```
搜索 “def validate_prompt
```python
'''优化输出开始'''
inputKeys=[]
for k,v in prompt.items():
for k1,v1 in v['inputs'].items():
if type(v1)==list and len(v1)==2:
inputKeys.append(v1[0])
for x in prompt:
class_ = nodes.NODE_CLASS_MAPPINGS[prompt[x]['class_type']]
if hasattr(class_, 'OUTPUT_NODE') and class_.OUTPUT_NODE == True and x not in inputKeys:
outputs.add(x)
'''优化输出结束'''
```
+102 -22
View File
@@ -42,56 +42,136 @@ https://github.com/xinntao/facexlib/releases/download/v0.2.2/parsing_parsenet.pt
解压到 ..\ComfyUI\models\roop-face-swap 目录
6. 修改comfyUI根目录下的execution.py文件,修改内容为,搜索“Return type mismatch between linked nodes”找到对应行,
替换
```python
if r[val[1]] != type_input:
```
为
```python
if type_input !="*" and r[val[1]] != type_input:
```
6. 修改comfyUI根目录下的execution.py文件,修改内容
搜索 “def recursive_execute”
位置参考图如下:
![Alt text](修改位置.png)
新增内容:
```python
#循环添加代码----------开始----------
def get_del_keys(key, prompt):
def get_del_keys(key, prompt,uniqueIds):
keys=[]
for k,v in prompt.items():
if k in uniqueIds :
continue
for k1,v1 in v['inputs'].items():
if type(v1)==list and v1[0]==key:
keys.append(k)
keys=keys+get_del_keys(k,prompt)
keys=keys+get_del_keys(k,prompt,uniqueIds)
return keys
#循环添加代码-----------结束---------
```
```python
#循环添加代码----------开始----------
#循环添加代码----------开始----------
startNum=None
startData={}
delKeys=[]
backhaul={}
clTypes=['ForInnerEnd','IfInnerExecute','DoWhileEnd']
oldPrompt=None
if class_type in clTypes:
oldPrompt=copy.deepcopy(prompt)
if class_type=='ForInnerEnd':
startNum=prompt[unique_id]['inputs']['total'][0]
inputNum=prompt[unique_id]['inputs']['images'][0]
startInput=prompt[startNum]['inputs']
maxKey = int(sorted(list(prompt.keys()), key=lambda x: int(x))[-1])
delKeys=list(set(get_del_keys(startNum,prompt)))
inputNum=prompt[unique_id]['inputs']['obj'][0]
maxKeyStr=sorted(list(prompt.keys()), key=lambda x: int(x.split(':')[0]))[-1]
maxKey = int(maxKeyStr.split(':')[0])
delKeys=list(set(get_del_keys(startNum,prompt,[startNum,unique_id])))
delKeys.append(startNum)
delKeys = list(filter(lambda x: x != inputNum, delKeys))
for i in range(startInput['i']+1,startInput['total'],startInput['stop']):
for key in delKeys:
outputs.pop(key, None)
startInput=prompt[startNum]['inputs']
if isinstance(startInput['total'],list) or isinstance(startInput['stop'],list) or isinstance(startInput['i'],list):
result = recursive_execute(server, prompt, outputs, startNum, extra_data, executed, prompt_id, outputs_ui, object_storage)
if result[0] is not True:
return result
for x in startInput:
input_data = startInput[x]
if isinstance(input_data, list):
startData[x]=outputs[input_data[0]][input_data[1]][0]
else:
startData[x]=input_data
for i in range(startData['i']+1,startData['total'],startData['stop']):
prompt[str(maxKey+i)]=prompt[inputNum]
prompt[unique_id]['inputs']['images'+str(i)]=[str(maxKey+i),prompt[unique_id]['inputs']['images'][-1]]
prompt[unique_id]['inputs']['obj'+str(i)]=[str(maxKey+i),prompt[unique_id]['inputs']['obj'][-1]]
if i==startInput['i']+1:
backhaul['obj'+str(i)]=prompt[unique_id]['inputs']['obj']
else:
backhaul['obj'+str(i)]=[str(maxKey+i-startInput['stop']),prompt[unique_id]['inputs']['obj'][-1]]
elif class_type=='DoWhileEnd':
startNum=prompt[unique_id]['inputs']['start'][0]
inputNum=prompt[unique_id]['inputs']['ANY'][0]
delKeys=list(set(get_del_keys(startNum,prompt,[startNum,unique_id])))
delKeys.append(startNum)
delKeys.append(inputNum)
#循环添加代码-----------结束---------
```
```python
#循环添加代码----------开始----------
if class_type=='ForInnerEnd' and x !='images' and x.startswith('images'):
if class_type=='ForInnerEnd' and x !='obj' and x.startswith('obj'):
if startNum!=None:
prompt[startNum]['inputs']['i']=prompt[startNum]['inputs']['i']+prompt[startNum]['inputs']['stop']
if isinstance(prompt[startNum]['inputs']['i'],list):
prompt[startNum]['inputs']['i']=startData['i']+startData['stop']
else:
prompt[startNum]['inputs']['i']=prompt[startNum]['inputs']['i']+startData['stop']
prompt[startNum]['inputs']['obj']=backhaul[x]
for key in delKeys:
outputs.pop(key, None)
#循环添加代码-----------结束---------
```
```
```python
#判断选择添加代码-----------开始---------
if class_type=='DoWhileEnd' and x == 'ANY':
any=outputs[inputNum][prompt[unique_id]['inputs']['ANY'][1]][0]
i=0
while any:
for key in delKeys:
outputs.pop(key, None)
i=i+1
outputs['i']=[[i]]
prompt[startNum]['inputs']['i']=['i',0]
result = recursive_execute(server, prompt, outputs, input_unique_id, extra_data, executed, prompt_id, outputs_ui, object_storage)
if result[0] is not True:
return result
any=outputs[inputNum][prompt[unique_id]['inputs']['ANY'][1]][0]
if class_type=='IfInnerExecute' and x=='ANY':
if outputs[input_unique_id][output_index][0]:
inputs['IF_FALSE']=oldPrompt[unique_id]['inputs']['IF_TRUE']
else:
inputs['IF_TRUE']=oldPrompt[unique_id]['inputs']['IF_FALSE']
#判断选择添加代码-----------结束---------
```
```python
#循环添加代码----------开始----------
if class_type=='ForInnerEnd' or class_type=='DoWhileEnd':
prompt[startNum]['inputs']=oldPrompt[startNum]['inputs']
prompt[unique_id]['inputs']=oldPrompt[unique_id]['inputs']
outputs.pop(startNum, None)
result = recursive_execute(server, prompt, outputs, startNum, extra_data, executed, prompt_id, outputs_ui, object_storage)
if result[0] is not True:
return result
if class_type=='IfInnerExecute':
prompt[unique_id]['inputs']=oldPrompt[unique_id]['inputs']
#循环添加代码-----------结束---------
```
搜索 “def validate_prompt
```python
'''优化输出开始'''
inputKeys=[]
for k,v in prompt.items():
for k1,v1 in v['inputs'].items():
if type(v1)==list and len(v1)==2:
inputKeys.append(v1[0])
for x in prompt:
class_ = nodes.NODE_CLASS_MAPPINGS[prompt[x]['class_type']]
if hasattr(class_, 'OUTPUT_NODE') and class_.OUTPUT_NODE == True and x not in inputKeys:
outputs.add(x)
'''优化输出结束'''
```
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
{}
+116
View File
@@ -0,0 +1,116 @@
wechat:
appid: wx1c2b19f7af1d6241 #公众号appid
secret: 915d587b5ae4e148e100429e11ca4d60 #公众号秘钥
serverAddress: http://139.9.53.208/ #服务器地址 微信公众配置地址的前缀
freeSize: 3 #免费使用次数
isEnterprise: false #是否为企业微信
adminNo: b0pOVFM2dnRsZkdLeWl2Zlk2bG9MTFNjUTNGUQ== #管理员微信编号启动会后可发送我的编号获取
adminWeChat: yanlang123456 #管理员微信号
access_token: '' #不用填系统用于保存临时值
access_token_expires_at: 0 #默认0
commands: #功能列表
图生视频:
filename: img2video.json #功能流程图json文件
params: #参数列表
image: #参数名称(几个固定参数名称必须如下:图片:image 随机种子:seed 正向提示词:prompt 反向提示词:negative)
isRequired: true #是否必填
keys: #参数对应json中对应的key
- '38'
- inputs
- image_path
zhName: 图片 #参数中文名称
motion_bucket:
default: 127
isRequired: true
keys:
- '12'
- inputs
- motion_bucket_id
max: 200
min: 0
type: number
zhName: 运动量
seed:
default: -1
isRequired: true
keys:
- '3'
- inputs
- seed
type: text
zhName: 随机种子
replyText: 请发送您的图片发送“ok”开始任务,如:“ok” #指令说明回复
文生图:
filename: text2img.json
params:
ckpt:
isRequired: false
keys:
- '4'
- inputs
- ckpt_name
options: #选项参数
冷却混合料SD1.5: chilloutmix_NiPrunedFp32Fix.safetensors #中文名称:英文名称
卡通动画片SD1.5: yamer_Cartoon_xenoArcadiaCD.safetensors
无法控制的SDXL: juggernautXL_version6Rundiffusion.safetensors
梦想塑造者SD1.5: dreamshaper_8.safetensors
zhName: 基础模型
height:
default: 512 #默认值
isRequired: false
keys:
- '14'
- inputs
- height
max: 1024 #最大值
min: 512 #最小值
type: number #类型(输入型参数目前只支持 number/text)
zhName: 高度
lora:
isRequired: false
keys:
- '10'
- inputs
- lora_name
options:
SD1.5-LCM加速: lcm-lora-sdv1-5.safetensors
SDXL-LCM加速: lcm-lora-sdxl.safetensors
zhName: LoRA
negative:
isRequired: false
keys:
- '7'
- inputs
- text
zhName: 反向提示词
prompt:
isRequired: true
keys:
- '20'
- inputs
- text_trans
zhName: 正向提示词
seed:
default: -1
isRequired: true
keys:
- '3'
- inputs
- seed
type: text
zhName: 随机种子
width:
default: 512
isRequired: false
keys:
- '14'
- inputs
- width
max: 1024
min: 512
type: number
zhName: 宽度
replyText: 请发送您的中文或英文提示词用“ok”结束,如:“一只小狗ok”
query_commands: #查询指令(固定)
- 查询排队情况
- 我的编号
+284
View File
@@ -0,0 +1,284 @@
wechat:
appid: wxa50ed345b253964d #公众号appid
secret: 327ac9ba06d214d2fcfe2e9ed0520684 #公众号秘钥
serverAddress: http://119.123.205.233/ #服务器地址 微信公众配置地址的前缀
freeSize: 3 #免费使用次数
isEnterprise: true #是否为企业微信
adminNo: b0pOVFM2dnRsZkdLeWl2Zlk2bG9MTFNjUTNGUQ== #管理员微信编号启动会后可发送我的编号获取
adminWeChat: yanlang123456 #管理员微信号
access_token: '' #不用填系统用于保存临时值
access_token_expires_at: 0 #默认0
commands: #功能列表
简笔画:
filename: line2drawing.json
type: paint-board
params:
ckpt:
isRequired: false
keys:
- '1'
- inputs
- ckpt_name
options: #选项参数
卡通动画片SD1.5: yamer_Cartoon_xenoArcadiaCD.safetensors
冷却混合料SD1.5: chilloutmix_NiPrunedFp32Fix.safetensors #中文名称:英文名称
梦想塑造者SD1.5: dreamshaper_8.safetensors
zhName: 基础模型
prompt:
isRequired: false
keys:
- '17'
- inputs
- text_trans
zhName: 正向提示词
seed:
default: -1
isRequired: true
keys:
- '8'
- inputs
- seed
type: text
zhName: 随机种子
image:
isRequired: true
keys:
- '15'
- inputs
- image
type: text
zhName: 输入图片
水彩画:
filename: color2painting.json
type: paint-board
params:
ckpt:
isRequired: false
keys:
- '4'
- inputs
- ckpt_name
options: #选项参数
卡通动画片SD1.5: yamer_Cartoon_xenoArcadiaCD.safetensors
冷却混合料SD1.5: chilloutmix_NiPrunedFp32Fix.safetensors #中文名称:英文名称
梦想塑造者SD1.5: dreamshaper_8.safetensors
zhName: 基础模型
prompt:
isRequired: false
keys:
- '27'
- inputs
- text_trans
zhName: 正向提示词
seed:
default: -1
isRequired: true
keys:
- '3'
- inputs
- seed
type: text
zhName: 随机种子
denoise:
default: 0.65 #默认值
isRequired: false
keys:
- '3'
- inputs
- denoise
max: 100 #最大值
min: 0 #最小值
original: 1 #原始最大值(用来换算滑块比例)
type: number #类型(输入型参数目前只支持 number/text)
zhName: 重绘幅度
image:
isRequired: true
keys:
- '25'
- inputs
- image
type: text
zhName: 输入图片
图片修改:
filename: imageEdit.json
params:
image:
isRequired: true
keys:
- '48'
- inputs
- image_path
zhName: 图片
prompt:
isRequired: true
keys:
- '47'
- inputs
- text_trans
zhName: 正向提示词
seed:
default: -1
isRequired: true
keys:
- '37:1'
- inputs
- noise_seed
type: text
zhName: 随机种子
replyText: 请发送您的图片发送正向提示词用“ok”结尾开始任务,如:“漫画风格ok”
风格转绘:
filename: img2imgStyle.json
replyText: 请上传需转绘的图片和参考风格图发送“ok”开始任务,如:“ok” #指令说明回复
params:
image: #参数名称(几个固定参数名称必须如下:图片:image 随机种子:seed 正向提示词:prompt 反向提示词:negative)
isRequired: true #是否必填
keys: #参数对应json中对应的key
- '110'
- inputs
- image_path
zhName: 待转绘图
type: image
styleImage: #参数名称(几个固定参数名称必须如下:图片:image 随机种子:seed 正向提示词:prompt 反向提示词:negative)
isRequired: true #是否必填
keys: #参数对应json中对应的key
- '111'
- inputs
- image_path
zhName: 风格参考图
type: image
default: 发送图片
文生二维码:
filename: text2qrcode.json
replyText: 请发送二维码内容,和提示词发送“ok”开始任务,如:“花朵ok” #指令说明回复
params:
prompt:
isRequired: true
keys:
- '75'
- inputs
- text_trans
zhName: 正向提示词
seed:
default: -1
isRequired: true
keys:
- '3'
- inputs
- seed
type: text
zhName: 随机种子
qrText:
default: "https://u.wechat.com/EEy4mPvfXdYO-MvStE4S2m0"
isRequired: true
keys:
- '16'
- inputs
- text
type: text
zhName: 二维码内容
图生视频:
filename: img2video.json #功能流程图json文件
params: #参数列表
image: #参数名称(几个固定参数名称必须如下:图片:image 随机种子:seed 正向提示词:prompt 反向提示词:negative)
isRequired: true #是否必填
keys: #参数对应json中对应的key
- '38'
- inputs
- image_path
zhName: 图片 #参数中文名称
motion_bucket:
default: 127
isRequired: true
keys:
- '12'
- inputs
- motion_bucket_id
max: 200
min: 0
type: number
zhName: 运动量
seed:
default: -1
isRequired: true
keys:
- '3'
- inputs
- seed
type: text
zhName: 随机种子
replyText: 请发送您的图片发送“ok”开始任务,如:“ok” #指令说明回复
文生图:
filename: text2img.json
params:
ckpt:
isRequired: false
keys:
- '4'
- inputs
- ckpt_name
options: #选项参数
冷却混合料SD1.5: chilloutmix_NiPrunedFp32Fix.safetensors #中文名称:英文名称
卡通动画片SD1.5: yamer_Cartoon_xenoArcadiaCD.safetensors
无法控制的SDXL: juggernautXL_version6Rundiffusion.safetensors
梦想塑造者SD1.5: dreamshaper_8.safetensors
zhName: 基础模型
height:
default: 512 #默认值
isRequired: false
keys:
- '14'
- inputs
- height
max: 1024 #最大值
min: 512 #最小值
type: number #类型(输入型参数目前只支持 number/text)
zhName: 高度
lora:
isRequired: false
keys:
- '10'
- inputs
- lora_name
options:
SD1.5-LCM加速: lcm-lora-sdv1-5.safetensors
SDXL-LCM加速: lcm-lora-sdxl.safetensors
zhName: LoRA
negative:
isRequired: false
keys:
- '7'
- inputs
- text
zhName: 反向提示词
prompt:
isRequired: true
keys:
- '20'
- inputs
- text_trans
zhName: 正向提示词
seed:
default: -1
isRequired: true
keys:
- '3'
- inputs
- seed
type: text
zhName: 随机种子
width:
default: 512
isRequired: false
keys:
- '14'
- inputs
- width
max: 1024
min: 512
type: number
zhName: 宽度
replyText: 请发送您的中文或英文提示词用“ok”结束,如:“一只小狗ok”
query_commands: #查询指令(固定)
- 查询排队情况
- 我的编号
+192
View File
@@ -0,0 +1,192 @@
{
"3": {
"inputs": {
"seed": 611578276912800,
"steps": 8,
"cfg": 1,
"sampler_name": "euler_ancestral",
"scheduler": "normal",
"denoise": 0.65,
"model": [
"21",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"19",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "K采样器"
}
},
"4": {
"inputs": {
"ckpt_name": "yamer_Cartoon_xenoArcadiaCD.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Checkpoint加载器(简易)"
}
},
"6": {
"inputs": {
"text": [
"27",
0
],
"clip": [
"21",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP文本编码器"
}
},
"7": {
"inputs": {
"text": [
"28",
0
],
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP文本编码器"
}
},
"8": {
"inputs": {
"samples": [
"3",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE解码"
}
},
"9": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"8",
0
]
},
"class_type": "SaveImage",
"_meta": {
"title": "保存图像"
}
},
"10": {
"inputs": {
"lora_name": "lcm-lora-sdv1-5.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"4",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "LoRA加载器"
}
},
"19": {
"inputs": {
"pixels": [
"25",
0
],
"vae": [
"23",
0
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE编码"
}
},
"21": {
"inputs": {
"lora_name": "可爱少女厚涂风.safetensors",
"strength_model": 0,
"strength_clip": 1,
"model": [
"10",
0
],
"clip": [
"10",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "LoRA加载器"
}
},
"23": {
"inputs": {
"vae_name": "clearvae_v23.safetensors"
},
"class_type": "VAELoader",
"_meta": {
"title": "VAE加载器"
}
},
"25": {
"inputs": {
"image": ""
},
"class_type": "ETN_LoadImageBase64",
"_meta": {
"title": "Load Image (Base64)"
}
},
"27": {
"inputs": {
"text_trans": ""
},
"class_type": "ZhPromptTranslator",
"_meta": {
"title": "正向提示词"
}
},
"28": {
"inputs": {
"text_trans": ""
},
"class_type": "ZhPromptTranslator",
"_meta": {
"title": "反向提示词"
}
}
}
+262
View File
@@ -0,0 +1,262 @@
{
"4": {
"inputs": {
"ckpt_name": "cosxl_edit.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Checkpoint加载器(简易)"
}
},
"6": {
"inputs": {
"text": [
"47",
0
],
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP文本编码器"
}
},
"7": {
"inputs": {
"text": "",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP文本编码器"
}
},
"8": {
"inputs": {
"samples": [
"37:8",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE解码"
}
},
"9": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"8",
0
]
},
"class_type": "SaveImage",
"_meta": {
"title": "保存图像"
}
},
"41": {
"inputs": {
"width": 960,
"height": 0,
"interpolation": "nearest",
"keep_proportion": true,
"condition": "always",
"image": [
"48",
0
]
},
"class_type": "ImageResize+",
"_meta": {
"title": "图像缩放"
}
},
"42": {
"inputs": {
"image": [
"48",
0
]
},
"class_type": "GetImage_(Width&Height) _O",
"_meta": {
"title": "GetImage_(Width&Height) _O"
}
},
"44": {
"inputs": {
"expression": "p0>960",
"p0": [
"42",
0
]
},
"class_type": "MultiParamFormula",
"_meta": {
"title": "多参代码表达式"
}
},
"46": {
"inputs": {
"ANY": [
"44",
0
],
"IF_TRUE": [
"41",
0
],
"IF_FALSE": [
"48",
0
]
},
"class_type": "IfInnerExecute",
"_meta": {
"title": "判断选择"
}
},
"47": {
"inputs": {
"text_trans": "秋天"
},
"class_type": "ZhPromptTranslator",
"_meta": {
"title": "中文翻译"
}
},
"48": {
"inputs": {
"image_path": "./ComfyUI/input/example.png",
"RGBA": "false",
"filename_text_extension": "true"
},
"class_type": "LamLoadPathImage",
"_meta": {
"title": "加载网络图片或本地图片"
}
},
"37:0": {
"inputs": {
"sampler_name": "euler"
},
"class_type": "KSamplerSelect",
"_meta": {
"title": "K采样器选择"
}
},
"37:1": {
"inputs": {
"noise_seed": 173148692406184
},
"class_type": "RandomNoise",
"_meta": {
"title": "随机噪波"
}
},
"37:3": {
"inputs": {
"scheduler": "normal",
"steps": 20,
"denoise": 1,
"model": [
"4",
0
]
},
"class_type": "BasicScheduler",
"_meta": {
"title": "基础调度器"
}
},
"37:6": {
"inputs": {
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"vae": [
"4",
2
],
"pixels": [
"46",
0
]
},
"class_type": "InstructPixToPixConditioning",
"_meta": {
"title": "InstructPixToPix条件"
}
},
"37:7": {
"inputs": {
"cfg_conds": 5,
"cfg_cond2_negative": 1.5,
"model": [
"4",
0
],
"cond1": [
"37:6",
0
],
"cond2": [
"37:6",
1
],
"negative": [
"7",
0
]
},
"class_type": "DualCFGGuider",
"_meta": {
"title": "双CFG引导"
}
},
"37:8": {
"inputs": {
"noise": [
"37:1",
0
],
"guider": [
"37:7",
0
],
"sampler": [
"37:0",
0
],
"sigmas": [
"37:3",
0
],
"latent_image": [
"37:6",
2
]
},
"class_type": "SamplerCustomAdvanced",
"_meta": {
"title": "自定义采样器(高级)"
}
}
}
+651
View File
@@ -0,0 +1,651 @@
{
"3": {
"inputs": {
"seed": 20,
"steps": 25,
"cfg": 6,
"sampler_name": "dpmpp_2m",
"scheduler": "karras",
"denoise": 0.9,
"model": [
"105",
0
],
"positive": [
"64",
0
],
"negative": [
"64",
1
],
"latent_image": [
"64",
2
]
},
"class_type": "KSampler",
"_meta": {
"title": "K采样器"
}
},
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Checkpoint加载器(简易)"
}
},
"6": {
"inputs": {
"text": [
"72",
0
],
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP文本编码器"
}
},
"7": {
"inputs": {
"text": "blurry, noisy, messy, glitch, distorted, malformed, ill, horror, naked, nipples",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP文本编码器"
}
},
"8": {
"inputs": {
"samples": [
"3",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE解码"
}
},
"29": {
"inputs": {
"width": 960,
"height": 0,
"interpolation": "nearest",
"keep_proportion": true,
"condition": "always",
"multiple_of": 0,
"image": [
"110",
0
]
},
"class_type": "ImageResize+",
"_meta": {
"title": "图像缩放"
}
},
"48": {
"inputs": {
"preset": "STANDARD (medium strength)",
"model": [
"4",
0
]
},
"class_type": "IPAdapterUnifiedLoader",
"_meta": {
"title": "IPAdapter加载器"
}
},
"50": {
"inputs": {
"interpolation": "LANCZOS",
"crop_position": "pad",
"sharpening": 0,
"image": [
"111",
0
]
},
"class_type": "PrepImageForClipVision",
"_meta": {
"title": "CLIP视觉图像处理"
}
},
"51": {
"inputs": {
"strength": 0.55,
"start_percent": 0,
"end_percent": 0.75,
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"control_net": [
"52",
0
],
"image": [
"83",
0
]
},
"class_type": "ControlNetApplyAdvanced",
"_meta": {
"title": "ControlNet应用(高级)"
}
},
"52": {
"inputs": {
"control_net_name": "control_v11p_sd15_lineart.pth"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "ControlNet加载器"
}
},
"55": {
"inputs": {
"strength": 1,
"start_percent": 0,
"end_percent": 0.3,
"positive": [
"51",
0
],
"negative": [
"51",
1
],
"control_net": [
"56",
0
],
"image": [
"57",
0
]
},
"class_type": "ControlNetApplyAdvanced",
"_meta": {
"title": "ControlNet应用(高级)"
}
},
"56": {
"inputs": {
"control_net_name": "control_v11f1p_sd15_depth.pth"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "ControlNet加载器"
}
},
"57": {
"inputs": {
"ckpt_name": "depth_anything_vits14.pth",
"resolution": 960,
"image": [
"71",
0
]
},
"class_type": "DepthAnythingPreprocessor",
"_meta": {
"title": "DA深度预处理器"
}
},
"63": {
"inputs": {
"interpolation": "LANCZOS",
"crop_position": "pad",
"sharpening": 0,
"image": [
"71",
0
]
},
"class_type": "PrepImageForClipVision",
"_meta": {
"title": "CLIP视觉图像处理"
}
},
"64": {
"inputs": {
"positive": [
"55",
0
],
"negative": [
"55",
1
],
"vae": [
"4",
2
],
"pixels": [
"71",
0
]
},
"class_type": "InstructPixToPixConditioning",
"_meta": {
"title": "InstructPixToPix条件"
}
},
"69": {
"inputs": {
"image": [
"110",
0
]
},
"class_type": "GetImage_(Width&Height) _O",
"_meta": {
"title": "GetImage_(Width&Height) _O"
}
},
"70": {
"inputs": {
"expression": "p0>960",
"p0": [
"69",
0
]
},
"class_type": "MultiParamFormula",
"_meta": {
"title": "多参代码表达式"
}
},
"71": {
"inputs": {
"ANY": [
"70",
0
],
"IF_TRUE": [
"29",
0
],
"IF_FALSE": [
"110",
0
]
},
"class_type": "IfInnerExecute",
"_meta": {
"title": "判断选择"
}
},
"72": {
"inputs": {
"model": "wd-v1-4-moat-tagger-v2",
"threshold": 0.35,
"character_threshold": 1,
"exclude_tags": "",
"image": [
"71",
0
]
},
"class_type": "WD14Tagger|pysssss",
"_meta": {
"title": "WD14反推提示词"
}
},
"76": {
"inputs": {
"preset": "PLUS FACE (portraits)",
"model": [
"103",
0
]
},
"class_type": "IPAdapterUnifiedLoader",
"_meta": {
"title": "IPAdapter加载器"
}
},
"83": {
"inputs": {
"coarse": "disable",
"image": [
"71",
0
]
},
"class_type": "LineArtPreprocessor",
"_meta": {
"title": "LineArt艺术线预处理器"
}
},
"86": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"8",
0
]
},
"class_type": "SaveImage",
"_meta": {
"title": "保存图像"
}
},
"88": {
"inputs": {
"expression": "p0[p1:p1+1]",
"p0": [
"108",
0
],
"p1": [
"89",
1
]
},
"class_type": "MultiParamFormula",
"_meta": {
"title": "多参代码表达式"
}
},
"89": {
"inputs": {
"total": [
"90",
0
],
"stop": 1,
"i": 0
},
"class_type": "ForInnerStart",
"_meta": {
"title": "计次内循环首"
}
},
"90": {
"inputs": {
"expression": "len(p0)",
"p0": [
"108",
1
]
},
"class_type": "MultiParamFormula",
"_meta": {
"title": "多参代码表达式"
}
},
"91": {
"inputs": {
"expression": "p0[p1]",
"p0": [
"108",
1
],
"p1": [
"89",
1
]
},
"class_type": "MultiParamFormula",
"_meta": {
"title": "多参代码表达式"
}
},
"92": {
"inputs": {
"total": [
"89",
0
],
"obj": [
"97",
0
]
},
"class_type": "ForInnerEnd",
"_meta": {
"title": "计次内循环尾"
}
},
"94": {
"inputs": {
"ANY": [
"95",
0
],
"IF_TRUE": [
"96",
0
],
"IF_FALSE": [
"89",
3
]
},
"class_type": "IfInnerExecute",
"_meta": {
"title": "判断选择"
}
},
"95": {
"inputs": {
"expression": "p0==0",
"p0": [
"89",
1
]
},
"class_type": "MultiParamFormula",
"_meta": {
"title": "多参代码表达式"
}
},
"96": {
"inputs": {
"preset": "FACEID PLUS V2",
"lora_strength": 0.39,
"provider": "CPU",
"model": [
"76",
0
],
"ipadapter": [
"76",
1
]
},
"class_type": "IPAdapterUnifiedLoaderFaceID",
"_meta": {
"title": "IPAdapterFaceID加载器"
}
},
"97": {
"inputs": {
"weight": 1,
"weight_faceidv2": 2,
"weight_type": "linear",
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "V only",
"model": [
"94",
0
],
"ipadapter": [
"96",
1
],
"image": [
"88",
0
],
"attn_mask": [
"91",
0
]
},
"class_type": "IPAdapterFaceID",
"_meta": {
"title": "应用IPAdapterFaceID"
}
},
"102": {
"inputs": {
"weight": 1,
"weight_type": "style transfer",
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "V only",
"model": [
"48",
0
],
"ipadapter": [
"48",
1
],
"image": [
"50",
0
]
},
"class_type": "IPAdapterAdvanced",
"_meta": {
"title": "应用IPAdapter(高级)"
}
},
"103": {
"inputs": {
"weight": 1,
"weight_type": "composition",
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "V only",
"model": [
"102",
0
],
"ipadapter": [
"48",
1
],
"image": [
"63",
0
]
},
"class_type": "IPAdapterAdvanced",
"_meta": {
"title": "应用IPAdapter(高级)"
}
},
"104": {
"inputs": {
"expression": "len(p0)>0",
"p0": [
"108",
1
]
},
"class_type": "MultiParamFormula",
"_meta": {
"title": "多参代码表达式"
}
},
"105": {
"inputs": {
"ANY": [
"104",
0
],
"IF_TRUE": [
"92",
1
],
"IF_FALSE": [
"103",
0
]
},
"class_type": "IfInnerExecute",
"_meta": {
"title": "判断选择"
}
},
"108": {
"inputs": {
"crop_padding_factor": 0.25,
"analysis_models": [
"109",
0
],
"image": [
"71",
0
]
},
"class_type": "ImageCropFaces",
"_meta": {
"title": "多人面部裁剪"
}
},
"109": {
"inputs": {
"library": "insightface",
"provider": "CPU"
},
"class_type": "FaceAnalysisModels",
"_meta": {
"title": "面部分析模型"
}
},
"110": {
"inputs": {
"image_path": "./ComfyUI/input/example.png",
"RGBA": "false",
"filename_text_extension": "true"
},
"class_type": "LamLoadPathImage",
"_meta": {
"title": "需转绘的图"
}
},
"111": {
"inputs": {
"image_path": "./ComfyUI/input/example.png",
"RGBA": "false",
"filename_text_extension": "true"
},
"class_type": "LamLoadPathImage",
"_meta": {
"title": "风格参考图片"
}
}
}
+142
View File
@@ -0,0 +1,142 @@
{
"3": {
"inputs": {
"seed": 801899397770458,
"steps": 4,
"cfg": 1,
"sampler_name": "lcm",
"scheduler": "karras",
"denoise": 1,
"model": [
"14",
0
],
"positive": [
"12",
0
],
"negative": [
"12",
1
],
"latent_image": [
"12",
2
]
},
"class_type": "KSampler"
},
"8": {
"inputs": {
"samples": [
"3",
0
],
"vae": [
"15",
2
]
},
"class_type": "VAEDecode"
},
"12": {
"inputs": {
"width": [
"30",
0
],
"height": [
"30",
1
],
"video_frames": 25,
"motion_bucket_id": 127,
"fps": 6,
"augmentation_level": 0,
"clip_vision": [
"15",
1
],
"init_image": [
"38",
0
],
"vae": [
"15",
2
]
},
"class_type": "SVD_img2vid_Conditioning"
},
"14": {
"inputs": {
"min_cfg": 1,
"model": [
"33",
0
]
},
"class_type": "VideoLinearCFGGuidance"
},
"15": {
"inputs": {
"ckpt_name": "AnimateLCM-SVD-xt-1-1_fp16_comfy.safetensors"
},
"class_type": "ImageOnlyCheckpointLoader"
},
"25": {
"inputs": {
"frame_rate": 8,
"loop_count": 0,
"filename_prefix": "AnimateDiff",
"format": "video/h265-mp4",
"pingpong": false,
"save_image": true,
"Sync playback": null,
"images": [
"8",
0
]
},
"class_type": "VHS_VideoCombine"
},
"30": {
"inputs": {
"image": [
"31",
0
]
},
"class_type": "Get image size"
},
"31": {
"inputs": {
"upscale_method": "nearest-exact",
"scale_by": 0.7000000000000001,
"image": [
"38",
0
]
},
"class_type": "ImageScaleBy"
},
"33": {
"inputs": {
"lora_name": "lcm-lora-sdv1-5.safetensors",
"strength_model": 1,
"model": [
"15",
0
]
},
"class_type": "LoraLoaderModelOnly"
},
"38": {
"inputs": {
"image_path": "http://127.0.0.1:8188/view?filename=ComfyUI_00402_.png&type=input&subfolder=&rand=0.9232966295130483",
"RGBA": "false",
"filename_text_extension": "true"
},
"class_type": "LamLoadPathImage"
}
}
+239
View File
@@ -0,0 +1,239 @@
{
"1": {
"inputs": {
"ckpt_name": "yamer_Cartoon_xenoArcadiaCD.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Checkpoint加载器(简易)"
}
},
"2": {
"inputs": {
"width": [
"16",
0
],
"height": [
"16",
1
],
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "空Latent"
}
},
"3": {
"inputs": {
"text": [
"17",
0
],
"clip": [
"1",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP文本编码器"
}
},
"4": {
"inputs": {
"text": [
"18",
0
],
"clip": [
"1",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP文本编码器"
}
},
"6": {
"inputs": {
"control_net_name": "control_v11p_sd15_lineart.pth"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "ControlNet加载器"
}
},
"7": {
"inputs": {
"strength": 1,
"conditioning": [
"3",
0
],
"control_net": [
"6",
0
],
"image": [
"22",
0
]
},
"class_type": "ControlNetApply",
"_meta": {
"title": "ControlNet应用"
}
},
"8": {
"inputs": {
"seed": 275540587861329,
"steps": 8,
"cfg": 1,
"sampler_name": "lcm",
"scheduler": "karras",
"denoise": 1,
"model": [
"14",
0
],
"positive": [
"7",
0
],
"negative": [
"4",
0
],
"latent_image": [
"2",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "K采样器"
}
},
"9": {
"inputs": {
"samples": [
"8",
0
],
"vae": [
"1",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE解码"
}
},
"14": {
"inputs": {
"lora_name": "lcm-lora-sdv1-5.safetensors",
"strength_model": 1,
"model": [
"1",
0
]
},
"class_type": "LoraLoaderModelOnly",
"_meta": {
"title": "LoRA加载器(仅模型)"
}
},
"15": {
"inputs": {
"image": ""
},
"class_type": "ETN_LoadImageBase64",
"_meta": {
"title": "Load Image (Base64)"
}
},
"16": {
"inputs": {
"image": [
"22",
0
]
},
"class_type": "GetImage_(Width&Height) _O",
"_meta": {
"title": "GetImage_(Width&Height) _O"
}
},
"17": {
"inputs": {
"text_trans": ""
},
"class_type": "ZhPromptTranslator",
"_meta": {
"title": "正向提示词"
}
},
"18": {
"inputs": {
"text_trans": ""
},
"class_type": "ZhPromptTranslator",
"_meta": {
"title": "反向提示词"
}
},
"19": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"9",
0
]
},
"class_type": "SaveImage",
"_meta": {
"title": "保存图像"
}
},
"20": {
"inputs": {
"channel": "red",
"image": [
"15",
0
]
},
"class_type": "ImageToMask",
"_meta": {
"title": "图像到遮罩"
}
},
"21": {
"inputs": {
"mask": [
"20",
0
]
},
"class_type": "InvertMask",
"_meta": {
"title": "遮罩反转"
}
},
"22": {
"inputs": {
"mask": [
"21",
0
]
},
"class_type": "MaskToImage",
"_meta": {
"title": "遮罩到图像"
}
}
}
+125
View File
@@ -0,0 +1,125 @@
{
"3": {
"inputs": {
"seed": 1068764177227380,
"steps": 5,
"cfg": 1,
"sampler_name": "lcm",
"scheduler": "normal",
"denoise": 1,
"model": [
"10",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"5",
0
]
},
"class_type": "KSampler"
},
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple"
},
"5": {
"inputs": {
"width": [
"14",
0
],
"height": [
"14",
1
],
"batch_size": 1
},
"class_type": "EmptyLatentImage"
},
"6": {
"inputs": {
"text": [
"20",
0
],
"clip": [
"10",
1
]
},
"class_type": "CLIPTextEncode"
},
"7": {
"inputs": {
"text": "undefined",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode"
},
"8": {
"inputs": {
"samples": [
"3",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode"
},
"9": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"8",
0
]
},
"class_type": "SaveImage"
},
"10": {
"inputs": {
"lora_name": "lcm-lora-sdv1-5.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"4",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader"
},
"14": {
"inputs": {
"aspect_ratio": "1152×896 ∣ 9:7",
"width": 512,
"height": 512
},
"class_type": "AspectRatio"
},
"20": {
"inputs": {
"text_trans": "一只小狗"
},
"class_type": "ZhPromptTranslator"
}
}
+235
View File
@@ -0,0 +1,235 @@
{
"3": {
"inputs": {
"seed": 1092890374757226,
"steps": 8,
"cfg": 1,
"sampler_name": "lcm",
"scheduler": "normal",
"denoise": 1,
"model": [
"74",
0
],
"positive": [
"73",
0
],
"negative": [
"73",
1
],
"latent_image": [
"42",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "K采样器"
}
},
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Checkpoint加载器(简易)"
}
},
"6": {
"inputs": {
"text": [
"75",
0
],
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP文本编码器"
}
},
"7": {
"inputs": {
"text": "",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP文本编码器"
}
},
"8": {
"inputs": {
"samples": [
"3",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE解码"
}
},
"9": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"8",
0
]
},
"class_type": "SaveImage",
"_meta": {
"title": "保存图像"
}
},
"16": {
"inputs": {
"text": "https://u.wechat.com/EEy4mPvfXdYO-MvStE4S2m0",
"version": 2,
"box_size": 30,
"border": 5
},
"class_type": "QRCode",
"_meta": {
"title": "二维码生成"
}
},
"35": {
"inputs": {
"image": [
"16",
0
]
},
"class_type": "GetImage_(Width&Height) _O",
"_meta": {
"title": "GetImage_(Width&Height) _O"
}
},
"41": {
"inputs": {
"control_net_name": "明暗控制controlNet.safetensors"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "ControlNet加载器"
}
},
"42": {
"inputs": {
"width": [
"35",
0
],
"height": [
"35",
1
],
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "空Latent"
}
},
"47": {
"inputs": {
"control_net_name": "control_v1p_sd15_qrcode_monster_v2.safetensors"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "ControlNet加载器"
}
},
"72": {
"inputs": {
"strength": 0.3,
"start_percent": 0,
"end_percent": 1,
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"control_net": [
"47",
0
],
"image": [
"16",
0
]
},
"class_type": "ControlNetApplyAdvanced",
"_meta": {
"title": "ControlNet应用(高级)"
}
},
"73": {
"inputs": {
"strength": 0.3,
"start_percent": 0.1,
"end_percent": 0.9,
"positive": [
"72",
0
],
"negative": [
"72",
1
],
"control_net": [
"41",
0
],
"image": [
"16",
0
]
},
"class_type": "ControlNetApplyAdvanced",
"_meta": {
"title": "ControlNet应用(高级)"
}
},
"74": {
"inputs": {
"lora_name": "lcm-lora-sdv1-5.safetensors",
"strength_model": 1,
"model": [
"4",
0
]
},
"class_type": "LoraLoaderModelOnly",
"_meta": {
"title": "LoRA加载器(仅模型)"
}
},
"75": {
"inputs": {
"text_trans": "汽车修理店,车轮"
},
"class_type": "ZhPromptTranslator",
"_meta": {
"title": "中文翻译"
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Some files were not shown because too many files have changed in this diff Show More