RioShiina commited on
Commit
8316bc4
·
verified ·
1 Parent(s): c7b37bb

feat: add MOSS-Image, FLUX.3 Base, fix PiD cleanup and update dependencies

Browse files
README.md CHANGED
@@ -56,6 +56,7 @@ models:
56
  - Comfy-Org/Lumina_Image_2.0_Repackaged
57
  - Comfy-Org/Mage-Flow
58
  - Comfy-Org/Ming-Image
 
59
  - Comfy-Org/NewBie-image-Exp0.1_repackaged
60
  - Comfy-Org/Omnigen2_ComfyUI_repackaged
61
  - Comfy-Org/Ovis-Image
@@ -154,6 +155,7 @@ models:
154
  - black-forest-labs/FLUX.1-Krea-dev
155
  - black-forest-labs/FLUX.1-schnell
156
  - black-forest-labs/flux-3-image-klein
 
157
  - black-forest-labs/flux-3-image-klein-pup
158
  - Boogu/Boogu-Image-0.1-Turbo
159
  - Boogu/Boogu-Image-0.1-Base
@@ -184,6 +186,8 @@ models:
184
  - nvidia/PiD
185
  - nvidia/PixelDiT-1300M-1024px
186
  - OmniGen2/OmniGen2
 
 
187
  - Qwen/Qwen3.8-27B
188
  - Qwen/Qwen-Image
189
  - Qwen/Qwen-Image-2512
 
56
  - Comfy-Org/Lumina_Image_2.0_Repackaged
57
  - Comfy-Org/Mage-Flow
58
  - Comfy-Org/Ming-Image
59
+ - Comfy-Org/MOSS-Image
60
  - Comfy-Org/NewBie-image-Exp0.1_repackaged
61
  - Comfy-Org/Omnigen2_ComfyUI_repackaged
62
  - Comfy-Org/Ovis-Image
 
155
  - black-forest-labs/FLUX.1-Krea-dev
156
  - black-forest-labs/FLUX.1-schnell
157
  - black-forest-labs/flux-3-image-klein
158
+ - black-forest-labs/flux-3-image-klein-base
159
  - black-forest-labs/flux-3-image-klein-pup
160
  - Boogu/Boogu-Image-0.1-Turbo
161
  - Boogu/Boogu-Image-0.1-Base
 
186
  - nvidia/PiD
187
  - nvidia/PixelDiT-1300M-1024px
188
  - OmniGen2/OmniGen2
189
+ - OpenMOSS-Team/MOSS-Image-Base
190
+ - OpenMOSS-Team/MOSS-Image-SFT
191
  - Qwen/Qwen3.8-27B
192
  - Qwen/Qwen-Image
193
  - Qwen/Qwen-Image-2512
chain_injectors/pid_injector.py CHANGED
@@ -290,6 +290,9 @@ def inject(assembler, chain_definition, chain_items):
290
  if input_val[0] == original_vae_decode_id:
291
  node_data['inputs'][input_name] = [pid_vae_decode_id, 0]
292
 
 
 
 
293
  is_vae_loader_referenced = False
294
  if original_vae_loader_id:
295
  for node_id, node_data in assembler.workflow.items():
@@ -306,7 +309,4 @@ def inject(assembler, chain_definition, chain_items):
306
  if original_vae_loader_id in assembler.workflow and not is_vae_loader_referenced:
307
  del assembler.workflow[original_vae_loader_id]
308
 
309
- if original_vae_decode_id in assembler.workflow:
310
- del assembler.workflow[original_vae_decode_id]
311
-
312
  print("[PiD Injector] Successfully injected PiD pipeline and replaced VAE decode/loader.")
 
290
  if input_val[0] == original_vae_decode_id:
291
  node_data['inputs'][input_name] = [pid_vae_decode_id, 0]
292
 
293
+ if original_vae_decode_id in assembler.workflow:
294
+ del assembler.workflow[original_vae_decode_id]
295
+
296
  is_vae_loader_referenced = False
297
  if original_vae_loader_id:
298
  for node_id, node_data in assembler.workflow.items():
 
309
  if original_vae_loader_id in assembler.workflow and not is_vae_loader_referenced:
310
  del assembler.workflow[original_vae_loader_id]
311
 
 
 
 
312
  print("[PiD Injector] Successfully injected PiD pipeline and replaced VAE decode/loader.")
core/pipelines/workflow_recipes/_partials/conditioning/moss-image.yaml ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ nodes:
2
+ pos_prompt:
3
+ class_type: CLIPTextEncode
4
+ title: "moss-image Positive"
5
+ neg_prompt:
6
+ class_type: CLIPTextEncode
7
+ title: "moss-image Negative"
8
+ unet_loader:
9
+ class_type: UNETLoader
10
+ title: "Load Diffusion Model"
11
+ params:
12
+ weight_dtype: "default"
13
+ slg:
14
+ class_type: SkipLayerGuidanceDiTSimple
15
+ title: "SkipLayerGuidanceDiTSimple"
16
+ params:
17
+ double_layers: ""
18
+ single_layers: "22"
19
+ start_percent: 0.0
20
+ end_percent: 0.5
21
+ clip_loader:
22
+ class_type: CLIPLoader
23
+ title: "Load CLIP"
24
+ params:
25
+ type: "moss_image"
26
+ device: "default"
27
+ vae_loader:
28
+ class_type: VAELoader
29
+ title: "Load VAE"
30
+
31
+ connections:
32
+ - from: "unet_loader:0"
33
+ to: "slg:model"
34
+ - from: "slg:0"
35
+ to: "ksampler:model"
36
+ - from: "clip_loader:0"
37
+ to: "pos_prompt:clip"
38
+ - from: "clip_loader:0"
39
+ to: "neg_prompt:clip"
40
+ - from: "pos_prompt:0"
41
+ to: "ksampler:positive"
42
+ - from: "neg_prompt:0"
43
+ to: "ksampler:negative"
44
+ - from: "vae_loader:0"
45
+ to: "vae_decode:vae"
46
+ - from: "vae_loader:0"
47
+ to: "vae_encode:vae"
48
+
49
+ dynamic_lora_chains:
50
+ lora_chain:
51
+ template: "LoraLoader"
52
+ output_map:
53
+ "unet_loader:0": "model"
54
+ "clip_loader:0": "clip"
55
+ input_map:
56
+ "model": "model"
57
+ "clip": "clip"
58
+ end_input_map:
59
+ "model": ["slg:model"]
60
+ "clip": ["pos_prompt:clip", "neg_prompt:clip"]
61
+
62
+ dynamic_conditioning_chains:
63
+ conditioning_chain:
64
+ ksampler_node: "ksampler"
65
+ clip_source: "clip_loader:0"
66
+
67
+ dynamic_vae_chains:
68
+ vae_chain:
69
+ targets:
70
+ - "vae_decode:vae"
71
+ - "vae_encode:vae"
72
+
73
+ dynamic_pid_chains:
74
+ pid_chain:
75
+ ksampler_node: "ksampler"
76
+
77
+ ui_map:
78
+ positive_prompt: "pos_prompt:text"
79
+ negative_prompt: "neg_prompt:text"
80
+ unet_name: "unet_loader:unet_name"
81
+ clip_name: "clip_loader:clip_name"
82
+ vae_name: "vae_loader:vae_name"
requirements.txt CHANGED
@@ -1,5 +1,5 @@
1
  comfyui-frontend-package==1.55.17
2
- comfyui-workflow-templates==0.11.85
3
  comfyui-embedded-docs==0.5.14
4
  torch
5
  torchsde
@@ -21,7 +21,7 @@ alembic
21
  SQLAlchemy>=2.0.0
22
  filelock
23
  av>=17.0.0
24
- comfy-kitchen==0.2.37
25
  comfy-aimdo==0.5.6
26
  requests
27
  simpleeval>=1.0.0
 
1
  comfyui-frontend-package==1.55.17
2
+ comfyui-workflow-templates==0.11.86
3
  comfyui-embedded-docs==0.5.14
4
  torch
5
  torchsde
 
21
  SQLAlchemy>=2.0.0
22
  filelock
23
  av>=17.0.0
24
+ comfy-kitchen==0.2.38
25
  comfy-aimdo==0.5.6
26
  requests
27
  simpleeval>=1.0.0
yaml/constants.yaml CHANGED
@@ -111,6 +111,14 @@ RESOLUTION_MAP:
111
  "3:4 (Classic Portrait)": [896, 1152]
112
  "3:2 (Photography)": [1216, 832]
113
  "2:3 (Photography Portrait)": [832, 1216]
 
 
 
 
 
 
 
 
114
  ming-image:
115
  "1:1 (Square)": [1024, 1024]
116
  "16:9 (Landscape)": [1344, 768]
 
111
  "3:4 (Classic Portrait)": [896, 1152]
112
  "3:2 (Photography)": [1216, 832]
113
  "2:3 (Photography Portrait)": [832, 1216]
114
+ moss-image:
115
+ "1:1 (Square)": [1024, 1024]
116
+ "16:9 (Landscape)": [1344, 768]
117
+ "9:16 (Portrait)": [768, 1344]
118
+ "4:3 (Classic)": [1152, 896]
119
+ "3:4 (Classic Portrait)": [896, 1152]
120
+ "3:2 (Photography)": [1216, 832]
121
+ "2:3 (Photography Portrait)": [832, 1216]
122
  ming-image:
123
  "1:1 (Square)": [1024, 1024]
124
  "16:9 (Landscape)": [1344, 768]
yaml/file_list.yaml CHANGED
@@ -406,14 +406,27 @@ file:
406
  repository_file_path: "control_v11u_sd15_tile_fp16.safetensors"
407
  diffusion_models:
408
  # Flux-3
409
- - filename: "flux3_image_klein_nvfp4.safetensors"
410
  source: "hf"
411
  repo_id: "black-forest-labs/flux-3-image-klein-comfy"
412
- repository_file_path: "diffusion_models/flux3_image_klein_nvfp4.safetensors"
413
  - filename: "flux3_image_klein_sd_nvfp4.safetensors"
414
  source: "hf"
415
  repo_id: "black-forest-labs/flux-3-image-klein-comfy"
416
  repository_file_path: "diffusion_models/flux3_image_klein_sd_nvfp4.safetensors"
 
 
 
 
 
 
 
 
 
 
 
 
 
417
  # Krea-2
418
  - filename: "krea2_turbo_nvfp4.safetensors"
419
  source: "hf"
@@ -938,6 +951,11 @@ file:
938
  repo_id: "Comfy-Org/Qwen-Image-2.1"
939
  repository_file_path: "model_patches/qwen_image_2.1_fun_controlnet_union_int8_convrot.safetensors"
940
  text_encoders:
 
 
 
 
 
941
  # Krea-2
942
  - filename: "qwen3vl_4b_fp8_scaled.safetensors"
943
  source: "hf"
 
406
  repository_file_path: "control_v11u_sd15_tile_fp16.safetensors"
407
  diffusion_models:
408
  # Flux-3
409
+ - filename: "flux3-image-klein-nvfp4.safetensors"
410
  source: "hf"
411
  repo_id: "black-forest-labs/flux-3-image-klein-comfy"
412
+ repository_file_path: "diffusion_models/flux3-image-klein-nvfp4.safetensors"
413
  - filename: "flux3_image_klein_sd_nvfp4.safetensors"
414
  source: "hf"
415
  repo_id: "black-forest-labs/flux-3-image-klein-comfy"
416
  repository_file_path: "diffusion_models/flux3_image_klein_sd_nvfp4.safetensors"
417
+ - filename: "flux3-image-klein-base-nvfp4.safetensors"
418
+ source: "hf"
419
+ repo_id: "black-forest-labs/flux-3-image-klein-comfy"
420
+ repository_file_path: "diffusion_models/flux3-image-klein-base-nvfp4.safetensors"
421
+ # MOSS-Image
422
+ - filename: "moss_image_base_int8_convrot.safetensors"
423
+ source: "hf"
424
+ repo_id: "Comfy-Org/MOSS-Image"
425
+ repository_file_path: "diffusion_models/moss_image_base_int8_convrot.safetensors"
426
+ - filename: "moss_image_sft_int8_convrot.safetensors"
427
+ source: "hf"
428
+ repo_id: "Comfy-Org/MOSS-Image"
429
+ repository_file_path: "diffusion_models/moss_image_sft_int8_convrot.safetensors"
430
  # Krea-2
431
  - filename: "krea2_turbo_nvfp4.safetensors"
432
  source: "hf"
 
951
  repo_id: "Comfy-Org/Qwen-Image-2.1"
952
  repository_file_path: "model_patches/qwen_image_2.1_fun_controlnet_union_int8_convrot.safetensors"
953
  text_encoders:
954
+ # MOSS-Image
955
+ - filename: "qwen3.5_9b_int8_convrot.safetensors"
956
+ source: "hf"
957
+ repo_id: "Comfy-Org/MOSS-Image"
958
+ repository_file_path: "text_encoders/qwen3.5_9b_int8_convrot.safetensors"
959
  # Krea-2
960
  - filename: "qwen3vl_4b_fp8_scaled.safetensors"
961
  source: "hf"
yaml/model_architecture_features.yaml CHANGED
@@ -77,6 +77,11 @@ z-image:
77
  - vae
78
  - pid
79
 
 
 
 
 
 
80
  ming-image:
81
  enabled_chains:
82
  - lora
 
77
  - vae
78
  - pid
79
 
80
+ moss-image:
81
+ enabled_chains:
82
+ - lora
83
+ - pid
84
+
85
  ming-image:
86
  enabled_chains:
87
  - lora
yaml/model_architectures.yaml CHANGED
@@ -2,6 +2,7 @@ architecture_order:
2
  - "FLUX.3"
3
  - "Krea-2"
4
  - "Qwen-Image-2.1"
 
5
  - "Ming-Image"
6
  - "SenseNova-U1.5"
7
  - "Mage-Flow"
@@ -66,6 +67,8 @@ architectures:
66
  "Z-Image":
67
  model_type: "z-image"
68
  controlnet_key: "Z-Image"
 
 
69
  "Ming-Image":
70
  model_type: "ming-image"
71
  "Qwen-Image-2.1":
 
2
  - "FLUX.3"
3
  - "Krea-2"
4
  - "Qwen-Image-2.1"
5
+ - "MOSS-Image"
6
  - "Ming-Image"
7
  - "SenseNova-U1.5"
8
  - "Mage-Flow"
 
67
  "Z-Image":
68
  model_type: "z-image"
69
  controlnet_key: "Z-Image"
70
+ "MOSS-Image":
71
+ model_type: "moss-image"
72
  "Ming-Image":
73
  model_type: "ming-image"
74
  "Qwen-Image-2.1":
yaml/model_defaults.yaml CHANGED
@@ -22,6 +22,11 @@ FLUX.3:
22
  cfg: 1.0
23
  sampler_name: "euler"
24
  scheduler: "simple"
 
 
 
 
 
25
 
26
  Krea-2:
27
  _defaults:
@@ -153,6 +158,13 @@ Z-Image:
153
  steps: 9
154
  cfg: 1.0
155
 
 
 
 
 
 
 
 
156
  Ming-Image:
157
  _defaults:
158
  steps: 12
 
22
  cfg: 1.0
23
  sampler_name: "euler"
24
  scheduler: "simple"
25
+ "FLUX-3-Image-Klein-Base":
26
+ steps: 50
27
+ cfg: 3.5
28
+ sampler_name: "euler"
29
+ scheduler: "simple"
30
 
31
  Krea-2:
32
  _defaults:
 
158
  steps: 9
159
  cfg: 1.0
160
 
161
+ MOSS-Image:
162
+ _defaults:
163
+ steps: 50
164
+ cfg: 3.0
165
+ sampler_name: "euler"
166
+ scheduler: "simple"
167
+
168
  Ming-Image:
169
  _defaults:
170
  steps: 12
yaml/model_list.yaml CHANGED
@@ -4,7 +4,7 @@ Checkpoint:
4
  models:
5
  - display_name: "FLUX.3-Image-Klein"
6
  components:
7
- unet: "flux3_image_klein_nvfp4.safetensors"
8
  clip: "qwen3vl_4b_fp8_scaled.safetensors"
9
  vae: "flux2-vae.safetensors"
10
  - display_name: "FLUX.3-Image-Klein-Distilled"
@@ -12,6 +12,11 @@ Checkpoint:
12
  unet: "flux3_image_klein_sd_nvfp4.safetensors"
13
  clip: "qwen3vl_4b_fp8_scaled.safetensors"
14
  vae: "flux2-vae.safetensors"
 
 
 
 
 
15
  Krea-2:
16
  latent_type: latent
17
  models:
@@ -58,6 +63,19 @@ Checkpoint:
58
  unet: "NoctQA_V1_int8_convrot.safetensors"
59
  vae: "qwen_image_2.1_vae_bf16.safetensors"
60
  clip: "qwen3vl_8b_nvfp4.safetensors"
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  Ming-Image:
62
  latent_type: latent
63
  models:
 
4
  models:
5
  - display_name: "FLUX.3-Image-Klein"
6
  components:
7
+ unet: "flux3-image-klein-nvfp4.safetensors"
8
  clip: "qwen3vl_4b_fp8_scaled.safetensors"
9
  vae: "flux2-vae.safetensors"
10
  - display_name: "FLUX.3-Image-Klein-Distilled"
 
12
  unet: "flux3_image_klein_sd_nvfp4.safetensors"
13
  clip: "qwen3vl_4b_fp8_scaled.safetensors"
14
  vae: "flux2-vae.safetensors"
15
+ - display_name: "FLUX-3-Image-Klein-Base"
16
+ components:
17
+ unet: "flux3-image-klein-base-nvfp4.safetensors"
18
+ clip: "qwen3vl_4b_fp8_scaled.safetensors"
19
+ vae: "flux2-vae.safetensors"
20
  Krea-2:
21
  latent_type: latent
22
  models:
 
63
  unet: "NoctQA_V1_int8_convrot.safetensors"
64
  vae: "qwen_image_2.1_vae_bf16.safetensors"
65
  clip: "qwen3vl_8b_nvfp4.safetensors"
66
+ MOSS-Image:
67
+ latent_type: flux2_latent
68
+ models:
69
+ - display_name: "MOSS-Image-SFT"
70
+ components:
71
+ unet: "moss_image_sft_int8_convrot.safetensors"
72
+ clip: "qwen3.5_9b_int8_convrot.safetensors"
73
+ vae: "flux2-vae.safetensors"
74
+ - display_name: "MOSS-Image-Base"
75
+ components:
76
+ unet: "moss_image_base_int8_convrot.safetensors"
77
+ clip: "qwen3.5_9b_int8_convrot.safetensors"
78
+ vae: "flux2-vae.safetensors"
79
  Ming-Image:
80
  latent_type: latent
81
  models:
yaml/pid.yaml CHANGED
@@ -1,7 +1,7 @@
1
  PiD:
2
  - filepath: "pid_1.5_flux2_1024_to_4096_4step_int8_convrot.safetensors"
3
  latent_format: "flux"
4
- architectures: ["flux3", "flux2", "flux2-kv", "ideogram-4", "lens", "ernie-image"]
5
  - filepath: "pid_1.5_qwenimage_1024_to_4096_4step_int8_convrot.safetensors"
6
  latent_format: "qwenimage"
7
  architectures: ["anima-3.8b-v1.1", "anima-3.8b", "anima", "qwen-image", "krea-2"]
 
1
  PiD:
2
  - filepath: "pid_1.5_flux2_1024_to_4096_4step_int8_convrot.safetensors"
3
  latent_format: "flux"
4
+ architectures: ["flux3", "flux2", "flux2-kv", "ideogram-4", "lens", "ernie-image", "moss-image"]
5
  - filepath: "pid_1.5_qwenimage_1024_to_4096_4step_int8_convrot.safetensors"
6
  latent_format: "qwenimage"
7
  architectures: ["anima-3.8b-v1.1", "anima-3.8b", "anima", "qwen-image", "krea-2"]