bizyengine 1.2.39__py3-none-any.whl → 1.2.41__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,42 @@
1
1
  from bizyengine.core import BizyAirBaseNode
2
2
 
3
3
 
4
+ class WanImageToVideo(BizyAirBaseNode):
5
+ MAX_RESOLUTION = 960
6
+
7
+ @classmethod
8
+ def INPUT_TYPES(s):
9
+ return {
10
+ "required": {
11
+ "positive": ("CONDITIONING",),
12
+ "negative": ("CONDITIONING",),
13
+ "vae": ("VAE",),
14
+ "width": (
15
+ "INT",
16
+ {"default": 832, "min": 16, "max": s.MAX_RESOLUTION, "step": 16},
17
+ ),
18
+ "height": (
19
+ "INT",
20
+ {"default": 480, "min": 16, "max": s.MAX_RESOLUTION, "step": 16},
21
+ ),
22
+ "length": (
23
+ "INT",
24
+ {"default": 81, "min": 1, "max": s.MAX_RESOLUTION, "step": 4},
25
+ ),
26
+ "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096}),
27
+ },
28
+ "optional": {
29
+ "clip_vision_output": ("CLIP_VISION_OUTPUT",),
30
+ "start_image": ("IMAGE",),
31
+ },
32
+ }
33
+
34
+ RETURN_TYPES = ("CONDITIONING", "CONDITIONING", "LATENT")
35
+ RETURN_NAMES = ("positive", "negative", "latent")
36
+ CATEGORY = "WanI2V"
37
+ # FUNCTION = "encode"
38
+
39
+
4
40
  class Wan_Model_Loader(BizyAirBaseNode):
5
41
  @classmethod
6
42
  def INPUT_TYPES(cls):
@@ -8,6 +8,22 @@ import bizyengine.core as bizyair
8
8
  from bizyengine.core.common.env_var import BIZYAIR_DEBUG
9
9
  from bizyengine.core.data_types import BIZYAIR_TYPE_MAP
10
10
 
11
+ # Invert BIZYAIR_TYPE_MAP for reverse lookup
12
+ INVERTED_BIZYAIR_TYPE_MAP = {v: k for k, v in BIZYAIR_TYPE_MAP.items()}
13
+
14
+ import importlib
15
+ import warnings
16
+
17
+ try:
18
+ comfy_nodes = importlib.import_module("nodes")
19
+ except ModuleNotFoundError:
20
+ warnings.warn("Importing comfyui.nodes failed!")
21
+ comfy_nodes = type(
22
+ "nodes",
23
+ (object,),
24
+ {"NODE_DISPLAY_NAME_MAPPINGS": {}, "NODE_CLASS_MAPPINGS": {}},
25
+ )
26
+
11
27
 
12
28
  def get_bizyair_display_name(class_type: str) -> str:
13
29
  bizyair_cls_prefix = bizyair.nodes_base.PREFIX
@@ -15,35 +31,69 @@ def get_bizyair_display_name(class_type: str) -> str:
15
31
  return f"{bizyair_logo}{bizyair_cls_prefix} {bizyair.NODE_DISPLAY_NAME_MAPPINGS.get(class_type, class_type)}"
16
32
 
17
33
 
18
- def workflow_convert(inputs: dict):
34
+ def revert_bizyair_display_name(class_type: str) -> str:
35
+ comfy_class_type = class_type[len(f"{bizyair.nodes_base.PREFIX}_") :]
36
+ return comfy_nodes.NODE_DISPLAY_NAME_MAPPINGS.get(
37
+ comfy_class_type, comfy_class_type
38
+ )
39
+
40
+
41
+ def workflow_convert(inputs: dict, comfy2bizyair: bool = True):
19
42
  nodes = inputs["nodes"]
20
43
  for node in nodes:
21
44
  class_type = node["type"]
22
45
  node_inputs = node.get("inputs")
23
46
  node_outputs = node.get("outputs")
24
- bizyair_cls_type = f"{bizyair.nodes_base.PREFIX}_{class_type}"
25
47
  is_converted = False
26
- if bizyair_cls_type in bizyair.NODE_CLASS_MAPPINGS:
27
- node["type"] = bizyair_cls_type
28
- display_name = get_bizyair_display_name(class_type)
48
+
49
+ # check if the node is a bizyair node
50
+ new_class_type = class_type
51
+ if not comfy2bizyair:
52
+ if (
53
+ len(class_type) > len(f"{bizyair.nodes_base.PREFIX}_")
54
+ and class_type[len(f"{bizyair.nodes_base.PREFIX}_") :]
55
+ in comfy_nodes.NODE_CLASS_MAPPINGS
56
+ ):
57
+ new_class_type = class_type[len(f"{bizyair.nodes_base.PREFIX}_") :]
58
+ elif (
59
+ comfy2bizyair
60
+ and f"{bizyair.nodes_base.PREFIX}_{class_type}"
61
+ in bizyair.NODE_CLASS_MAPPINGS
62
+ ):
63
+ new_class_type = f"{bizyair.nodes_base.PREFIX}_{class_type}"
64
+
65
+ if new_class_type != class_type:
66
+ node["type"] = new_class_type
67
+ display_name = (
68
+ get_bizyair_display_name(class_type)
69
+ if comfy2bizyair
70
+ else revert_bizyair_display_name(class_type)
71
+ )
29
72
  node["properties"]["Node name for S&R"] = display_name
73
+
74
+ type_mapping = (
75
+ BIZYAIR_TYPE_MAP if comfy2bizyair else INVERTED_BIZYAIR_TYPE_MAP
76
+ )
30
77
  if node_inputs:
31
78
  for input_node in node_inputs:
32
79
  input_type = input_node["type"]
33
- input_node["type"] = BIZYAIR_TYPE_MAP.get(input_type, input_type)
80
+ input_node["type"] = type_mapping.get(input_type, input_type)
34
81
  if node_outputs:
35
82
  for output_node in node_outputs:
36
83
  output_type = output_node["type"]
37
- output_node["type"] = BIZYAIR_TYPE_MAP.get(output_type, output_type)
84
+ output_node["type"] = type_mapping.get(output_type, output_type)
85
+
38
86
  is_converted = True
87
+
39
88
  if BIZYAIR_DEBUG:
40
89
  pprint.pprint(
41
90
  {
42
91
  "original_class_type": class_type,
43
- "bizyair_cls_type": bizyair_cls_type,
92
+ "new_class_type": new_class_type,
44
93
  "is_converted": is_converted,
45
94
  }
46
95
  )
96
+
47
97
  return inputs
48
98
 
49
99
 
@@ -51,7 +101,13 @@ def workflow_convert(inputs: dict):
51
101
  async def convert(request):
52
102
  try:
53
103
  data = await request.json()
54
- ret = workflow_convert(data)
104
+ comfy2bizyair = data.get("comfy2bizyair", True)
105
+ ret = workflow_convert(data, comfy2bizyair=comfy2bizyair)
106
+
107
+ # remove "comfy2bizyair" key from the response
108
+ if "comfy2bizyair" in ret:
109
+ del ret["comfy2bizyair"]
110
+
55
111
  return web.Response(
56
112
  text=json.dumps(ret),
57
113
  content_type="application/json",
@@ -189,12 +189,10 @@ class PromptServer(Command):
189
189
  and result.get("query_url", None) is not None
190
190
  )
191
191
 
192
- def _get_fass_result(self, result: Dict[str, Any]) -> Dict[str, Any]:
192
+ def _get_fass_result(self, result: Dict[str, Any], **kwargs) -> Dict[str, Any]:
193
193
  request_id = result.get("request_id", None)
194
194
  query_url = f"{BIZYAIR_SERVER_ADDRESS}/supernode/status?request_id={request_id}"
195
- return self._poll_fass_for_completion(
196
- query_url,
197
- )
195
+ return self._poll_fass_for_completion(query_url, **kwargs)
198
196
 
199
197
  def _poll_fass_for_completion(self, query_url, **kwargs):
200
198
  start_time = time.time()
@@ -228,7 +226,7 @@ class PromptServer(Command):
228
226
  try:
229
227
  if self.is_fass_task(result):
230
228
  self.cache_manager.set(cache_key, result)
231
- result = self._get_fass_result(result)
229
+ result = self._get_fass_result(result, **kwargs)
232
230
  result = result.get("data", {}).get("payload", None)
233
231
  assert result is not None, "Output payload should not be None"
234
232
  self.cache_manager.set(cache_key, result, overwrite=True)
@@ -69,6 +69,8 @@
69
69
  "shuttle-3.1-aesthetic.safetensors",
70
70
  "wan2.2_t2v_high_noise_14B_fp8_scaled.safetensors",
71
71
  "wan2.2_t2v_low_noise_14B_fp8_scaled.safetensors",
72
+ "wan2.2_i2v_low_noise_14B_fp8_scaled.safetensors",
73
+ "wan2.2_i2v_high_noise_14B_fp8_scaled.safetensors",
72
74
  "flux1-dev-kontext_fp8_scaled.safetensors",
73
75
  "flux1-dev-kontext-onediff.safetensors",
74
76
  {
@@ -447,6 +447,8 @@ model_rules:
447
447
  inputs:
448
448
  unet_name:
449
449
  - ^wan2.2_t2v_high_noise_14B_fp8_scaled.safetensors$
450
+ - ^wan2.2_i2v_high_noise_14B_fp8_scaled.safetensors$
451
+ - ^wan2.2_i2v_low_noise_14B_fp8_scaled.safetensors$
450
452
 
451
453
  - mode_type: Wan2.2-T2V
452
454
  base_model: Wan
bizyengine/version.txt CHANGED
@@ -1 +1 @@
1
- 1.2.39
1
+ 1.2.41
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bizyengine
3
- Version: 1.2.39
3
+ Version: 1.2.41
4
4
  Summary: [a/BizyAir](https://github.com/siliconflow/BizyAir) Comfy Nodes that can run in any environment.
5
5
  Author-email: SiliconFlow <yaochi@siliconflow.cn>
6
6
  Project-URL: Repository, https://github.com/siliconflow/BizyAir
@@ -1,5 +1,5 @@
1
1
  bizyengine/__init__.py,sha256=GP9V-JM07fz7uv_qTB43QEA2rKdrVJxi5I7LRnn_3ZQ,914
2
- bizyengine/version.txt,sha256=9oNira_RnApeSDu5Wu73K540tdB-LBj2UA4KTjIiSMM,7
2
+ bizyengine/version.txt,sha256=14oMCP7qyokUFWpNMA8OF-sbwiuToPwd3e8z94cw7ZM,7
3
3
  bizyengine/bizy_server/__init__.py,sha256=SP9oSblnPo4KQyh7yOGD26YCskFAcQHAZy04nQBNRIw,200
4
4
  bizyengine/bizy_server/api_client.py,sha256=t6cwob7hs993oy5WdFcjKtIzfi3S_eUhODdDVv_Hedo,43822
5
5
  bizyengine/bizy_server/errno.py,sha256=1UiFmE2U7r7hCHgsw4-p_YL0VCmTJc9NyYDEbhkanaY,16336
@@ -39,8 +39,8 @@ bizyengine/bizyair_extras/nodes_ultimatesdupscale.py,sha256=-_SsLTAWAQDv4uw-4Z7I
39
39
  bizyengine/bizyair_extras/nodes_upscale_model.py,sha256=lrzA1BFI2w5aEPCmNPMh07s-WDzG-xTT49uU6WCnlP8,1151
40
40
  bizyengine/bizyair_extras/nodes_utils.py,sha256=whog_tmV-q7JvLEdb03JL3KKsC7wKe3kImzx_jPaQD8,2613
41
41
  bizyengine/bizyair_extras/nodes_wan_i2v.py,sha256=3XwcxLHmgrihgXDEzcVOjU6VjqnZa3mErINlY014PFA,8435
42
- bizyengine/bizyair_extras/nodes_wan_video.py,sha256=d1mCcW9jCj-5Oymmymy0Vz-nwWv36FMGE5Gn-E7Rul4,1632
43
- bizyengine/bizyair_extras/route_bizyair_tools.py,sha256=w04QUWFnavT1zu8ht7Z1WTMlSnn__cO3r5RmiKlcuUQ,2191
42
+ bizyengine/bizyair_extras/nodes_wan_video.py,sha256=aE2JBF0ZT-6BOM0bGu9R4yZ_eMeMnnjCW-YzFe4qg8Q,2804
43
+ bizyengine/bizyair_extras/route_bizyair_tools.py,sha256=EiP5pS6xoE3tULoNSN2hYZA29vgt7yCErsbRp34gGEg,3898
44
44
  bizyengine/bizyair_extras/nodes_ipadapter_plus/__init__.py,sha256=ECKATm_EKi_4G47-FJI4-3rHO3iiF9FVakfSTE-pooE,36
45
45
  bizyengine/bizyair_extras/nodes_ipadapter_plus/nodes_ipadapter_plus.py,sha256=lOKRem7oiPs8ZkA_p68HxagAgiCSvn3Rk-L4fSXIjyE,54846
46
46
  bizyengine/bizyair_extras/nodes_kolors_mz/__init__.py,sha256=HsCCCphW8q0SrWEiFlZKK_W2lQr1T0UJIJL7gEn37ME,3729
@@ -56,15 +56,15 @@ bizyengine/core/commands/invoker.py,sha256=8wcIMd8k44o96LAvxFrIiKOlVtf1MW-AcMDXs
56
56
  bizyengine/core/commands/processors/model_hosting_processor.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  bizyengine/core/commands/processors/prompt_processor.py,sha256=jG0EuphvtycH5Dm-frBGtlIcxkTCXiFMQ1vFMvi_Re0,4963
58
58
  bizyengine/core/commands/servers/model_server.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
- bizyengine/core/commands/servers/prompt_server.py,sha256=0QjpAB1JG90yq4a8zvzPtUfqALd5J7Mq69W4I4Ma6xQ,10866
59
+ bizyengine/core/commands/servers/prompt_server.py,sha256=e8JhtKRM8nw0kQwe2Ofl-zQtiVqQdbbWRxOqkFmSclM,10873
60
60
  bizyengine/core/common/__init__.py,sha256=GicZw6YeAZk1PsKmFDt9dm1F75zPUlpia9Q_ki5vW1Y,179
61
61
  bizyengine/core/common/caching.py,sha256=hRNsSrfNxgc1zzvBzLVjMY0iMkKqA0TBCr-iYhEpzik,6946
62
62
  bizyengine/core/common/client.py,sha256=mP24Hxe_y20VXxVFdUz6HtLBzATUS4d8nr-rNf2KNwc,10535
63
63
  bizyengine/core/common/env_var.py,sha256=1EAW3gOXY2bKouCqrGa583vTJRdDasQ1IsFTnzDg7Dk,3450
64
64
  bizyengine/core/common/utils.py,sha256=bm-XmSPy83AyjD0v5EfWp6jiO6_5p7rkZ_HQAuVmgmo,3086
65
65
  bizyengine/core/configs/conf.py,sha256=D_UWG9SSJnK5EhbrfNFryJQ8hUwwdvhOGlq1TielwpI,3830
66
- bizyengine/core/configs/models.json,sha256=rmH1BQp-j4nWiSo22QJhGIIb3y_Yycfmpkhseq6dgD8,3190
67
- bizyengine/core/configs/models.yaml,sha256=SgCyNGE-ia5GDgROF9ATDE6YdLYzqoNuVsKP0XjXJ8w,11442
66
+ bizyengine/core/configs/models.json,sha256=v-PpSxNuexSPAVlZbXJyn934cfzoaTC76whFSidaRks,3301
67
+ bizyengine/core/configs/models.yaml,sha256=Zv4H0DXlE1MBKvCFvOQrFjgYdpX1nUZIoNzS7HnbPa4,11571
68
68
  bizyengine/core/path_utils/__init__.py,sha256=JVpqNHgaKiEtTI8_r47af8GtWHxrtOockQ6Qpzp9_MQ,260
69
69
  bizyengine/core/path_utils/path_manager.py,sha256=tRVAcpsYvfWD-tK7khLvNCZayB0wpU9L0tRTH4ZESzM,10549
70
70
  bizyengine/core/path_utils/utils.py,sha256=kQfPQjGU27qF9iyzRxLSRg5cMsd-VixuCUldART7cgY,2394
@@ -79,7 +79,7 @@ bizyengine/misc/route_sam.py,sha256=-bMIR2QalfnszipGxSxvDAHGJa5gPSrjkYPb5baaRg4,
79
79
  bizyengine/misc/segment_anything.py,sha256=wNKYwlYPMszfwj23524geFZJjZaG4eye65SGaUnh77I,8941
80
80
  bizyengine/misc/supernode.py,sha256=STN9gaxfTSErH8OiHeZa47d8z-G9S0I7fXuJvHQOBFM,4532
81
81
  bizyengine/misc/utils.py,sha256=deQjBgLAkxIr-NaOMm77TcgBT3ExAp0MFm5ehUJ3CGs,6829
82
- bizyengine-1.2.39.dist-info/METADATA,sha256=Bp5tyJOcAiD4ubGW7LloYfZqK3ft46RxeYyiGh3CJ8M,675
83
- bizyengine-1.2.39.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
84
- bizyengine-1.2.39.dist-info/top_level.txt,sha256=2zapzqxX-we5cRyJkGf9bd5JinRtXp3-_uDI-xCAnc0,11
85
- bizyengine-1.2.39.dist-info/RECORD,,
82
+ bizyengine-1.2.41.dist-info/METADATA,sha256=H3M0yCeP_Gz6s_izao-RYYhtfwhkrV8jv-UkJqZs-8w,675
83
+ bizyengine-1.2.41.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
84
+ bizyengine-1.2.41.dist-info/top_level.txt,sha256=2zapzqxX-we5cRyJkGf9bd5JinRtXp3-_uDI-xCAnc0,11
85
+ bizyengine-1.2.41.dist-info/RECORD,,