@@ -90,6 +90,7 @@ class Arch(Enum):
9090 flux2_9b = "Flux 2 Klein 9B"
9191 illu = "Illustrious"
9292 illu_v = "Illustrious v-prediction"
93+ illu_rf = "Illustrious Rectified Flow"
9394 chroma = "Chroma"
9495 qwen = "Qwen"
9596 qwen_e = "Qwen Edit"
@@ -103,6 +104,8 @@ class Arch(Enum):
103104 @staticmethod
104105 def from_string (string : str , model_type : str = "eps" , filename : str | None = None ):
105106 filename = filename .lower () if filename else ""
107+ if filename and filename .startswith ("chenkin" ):
108+ return Arch .illu_rf
106109 if string == "sd15" :
107110 return Arch .sd15
108111 if string == "sdxl" and model_type == "v-prediction" :
@@ -123,6 +126,8 @@ def from_string(string: str, model_type: str = "eps", filename: str | None = Non
123126 return Arch .illu
124127 if string == "illu_v" :
125128 return Arch .illu_v
129+ if string == "illu_rf" :
130+ return Arch .illu_rf
126131 if string == "chroma" :
127132 return Arch .chroma
128133 if string == "qwen-image" and "edit" in filename :
@@ -175,19 +180,19 @@ def has_controlnet_inpaint(self):
175180
176181 @property
177182 def supports_regions (self ):
178- return self in [Arch .sd15 , Arch .sdxl , Arch .illu , Arch .illu_v ]
183+ return self in [Arch .sd15 , Arch .sdxl , Arch .illu , Arch .illu_v , Arch . illu_rf ]
179184
180185 @property
181186 def supports_lcm (self ):
182187 return self in [Arch .sd15 , Arch .sdxl ]
183188
184189 @property
185190 def supports_clip_skip (self ):
186- return self in [Arch .sd15 , Arch .sdxl , Arch .illu , Arch .illu_v ]
191+ return self in [Arch .sd15 , Arch .sdxl , Arch .illu , Arch .illu_v , Arch . illu_rf ]
187192
188193 @property
189194 def supports_attention_guidance (self ):
190- return self in [Arch .sd15 , Arch .sdxl , Arch .illu , Arch .illu_v ]
195+ return self in [Arch .sd15 , Arch .sdxl , Arch .illu , Arch .illu_v , Arch . illu_rf ]
191196
192197 @property
193198 def supports_cfg (self ):
@@ -204,7 +209,7 @@ def supports_edit(self): # includes text-to-image models that can also edit
204209 @property
205210 def is_sdxl_like (self ):
206211 # illustrious technically uses sdxl architecture, but has a separate ecosystem
207- return self in [Arch .sdxl , Arch .illu , Arch .illu_v ]
212+ return self in [Arch .sdxl , Arch .illu , Arch .illu_v , Arch . illu_rf ]
208213
209214 @property
210215 def is_flux_like (self ):
@@ -223,7 +228,7 @@ def text_encoders(self):
223228 match self :
224229 case Arch .sd15 :
225230 return ["clip_l" ]
226- case Arch .sdxl | Arch .illu | Arch .illu_v :
231+ case Arch .sdxl | Arch .illu | Arch .illu_v | Arch . illu_rf :
227232 return ["clip_l" , "clip_g" ]
228233 case Arch .sd3 :
229234 return ["clip_l" , "clip_g" ]
@@ -257,6 +262,7 @@ def list():
257262 Arch .flux2_9b ,
258263 Arch .illu ,
259264 Arch .illu_v ,
265+ Arch .illu_rf ,
260266 Arch .chroma ,
261267 Arch .qwen ,
262268 Arch .qwen_e ,
@@ -721,6 +727,7 @@ def is_required(kind: ResourceKind, arch: Arch, identifier: ControlMode | Upscal
721727 resource_id (ResourceKind .controlnet , Arch .sdxl , ControlMode .universal ): ["union-sdxl" , "xinsirunion" ],
722728 resource_id (ResourceKind .controlnet , Arch .illu , ControlMode .universal ): ["union-sdxl" , "xinsirunion" ],
723729 resource_id (ResourceKind .controlnet , Arch .illu_v , ControlMode .universal ): ["union-sdxl" , "xinsirunion" ],
730+ resource_id (ResourceKind .controlnet , Arch .illu_rf , ControlMode .universal ): ["union-sdxl" , "xinsirunion" ],
724731 resource_id (ResourceKind .controlnet , Arch .flux , ControlMode .universal ): ["flux.1-dev-controlnet-union-pro-2.0" , "flux.1-dev-controlnet-union-pro" , "flux.1-dev-controlnet-union" , "flux1devcontrolnetunion" ],
725732 resource_id (ResourceKind .controlnet , Arch .qwen , ControlMode .universal ): ["qwen-image-instantx-controlnet-union" ],
726733 resource_id (ResourceKind .controlnet , Arch .sd15 , ControlMode .scribble ): ["control_v11p_sd15_scribble" , "control_lora_rank128_v11p_sd15_scribble" ],
@@ -798,6 +805,7 @@ def is_required(kind: ResourceKind, arch: Arch, identifier: ControlMode | Upscal
798805 resource_id (ResourceKind .vae , Arch .sdxl , "default" ): ["sdxl_vae" ],
799806 resource_id (ResourceKind .vae , Arch .illu , "default" ): ["sdxl_vae" ],
800807 resource_id (ResourceKind .vae , Arch .illu_v , "default" ): ["sdxl_vae" ],
808+ resource_id (ResourceKind .vae , Arch .illu_rf , "default" ): ["sdxl_vae" ],
801809 resource_id (ResourceKind .vae , Arch .sd3 , "default" ): ["sd3" ],
802810 resource_id (ResourceKind .vae , Arch .flux , "default" ): ["flux-" , "flux_" , "flux/" , "flux1" , "ae.s" ],
803811 resource_id (ResourceKind .vae , Arch .flux_k , "default" ): ["flux-" , "flux_" , "flux/" , "flux1" , "ae.s" ],
0 commit comments