bizyengine 1.2.24__py3-none-any.whl → 1.2.26__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.
@@ -9,6 +9,7 @@ from .nodes_custom_sampler import *
9
9
  from .nodes_dataset import *
10
10
  from .nodes_differential_diffusion import *
11
11
  from .nodes_flux import *
12
+ from .nodes_hunyuan3d import *
12
13
  from .nodes_image_utils import *
13
14
  from .nodes_ip2p import *
14
15
  from .nodes_ipadapter_plus.nodes_ipadapter_plus import *
@@ -22,6 +23,7 @@ from .nodes_testing_utils import *
22
23
  from .nodes_trellis import *
23
24
  from .nodes_ultimatesdupscale import *
24
25
  from .nodes_upscale_model import *
26
+ from .nodes_utils import *
25
27
  from .nodes_wan_i2v import *
26
28
  from .nodes_wan_video import *
27
29
  from .route_bizyair_tools import *
@@ -0,0 +1,68 @@
1
+ from bizyengine.core import BizyAirBaseNode
2
+
3
+
4
+ class Hy3D_2_1SimpleMeshGen(BizyAirBaseNode):
5
+ @classmethod
6
+ def INPUT_TYPES(s):
7
+ return {
8
+ "required": {
9
+ "model": (["hunyuan3d-dit-v2-1/model.fp16.ckpt"],),
10
+ "image": ("IMAGE", {"tooltip": "Image to generate mesh from"}),
11
+ "steps": (
12
+ "INT",
13
+ {
14
+ "default": 50,
15
+ "min": 1,
16
+ "max": 100,
17
+ "step": 1,
18
+ "tooltip": "Number of diffusion steps",
19
+ },
20
+ ),
21
+ "guidance_scale": (
22
+ "FLOAT",
23
+ {
24
+ "default": 5.0,
25
+ "min": 1,
26
+ "max": 30,
27
+ "step": 0.1,
28
+ "tooltip": "Guidance scale",
29
+ },
30
+ ),
31
+ "octree_resolution": (
32
+ "INT",
33
+ {
34
+ "default": 384,
35
+ "min": 32,
36
+ "max": 1024,
37
+ "step": 32,
38
+ "tooltip": "Octree resolution",
39
+ },
40
+ ),
41
+ },
42
+ }
43
+
44
+ RETURN_TYPES = ("TRIMESH",)
45
+ RETURN_NAMES = ("trimesh",)
46
+ # FUNCTION = "loadmodel"
47
+ CATEGORY = "Hunyuan3DWrapper"
48
+
49
+
50
+ class Hy3DExportMesh(BizyAirBaseNode):
51
+ @classmethod
52
+ def INPUT_TYPES(s):
53
+ return {
54
+ "required": {
55
+ "trimesh": ("TRIMESH",),
56
+ "filename_prefix": ("STRING", {"default": "3D/Hy3D"}),
57
+ "file_format": (["glb", "obj", "ply", "stl", "3mf", "dae"],),
58
+ },
59
+ "optional": {
60
+ "save_file": ("BOOLEAN", {"default": True}),
61
+ },
62
+ }
63
+
64
+ RETURN_TYPES = ("STRING",)
65
+ RETURN_NAMES = ("glb_path",)
66
+ # FUNCTION = "process"
67
+ CATEGORY = "Hunyuan3DWrapper"
68
+ # OUTPUT_NODE = True
@@ -11,7 +11,7 @@ class NunchakuFluxDiTLoader(BizyAirBaseNode):
11
11
  return {
12
12
  "required": {
13
13
  "model_path": (
14
- ["svdq-int4-flux.1-dev"],
14
+ ["svdq-int4-flux.1-dev", "svdq-int4-flux.1-fill-dev"],
15
15
  {"tooltip": "The SVDQuant quantized FLUX.1 models."},
16
16
  ),
17
17
  "cache_threshold": (
@@ -1,8 +1,3 @@
1
- import os
2
- import uuid
3
-
4
- import folder_paths
5
- import requests
6
1
  import torch
7
2
 
8
3
  from bizyengine.core import BizyAirBaseNode
@@ -157,44 +152,3 @@ class BizyAir_Trans3D2GlbFile(BizyAirBaseNode):
157
152
  NODE_DISPLAY_NAME = "☁️BizyAir Generate Glb With Trellis"
158
153
  RETURN_TYPES = ("STRING", "IMAGE")
159
154
  RETURN_NAMES = ("url", "texture_image")
160
-
161
-
162
- class BizyAirDownloadFile(BizyAirBaseNode):
163
- NODE_DISPLAY_NAME = "☁️BizyAir Download File"
164
-
165
- @classmethod
166
- def INPUT_TYPES(cls):
167
- return {
168
- "required": {
169
- "url": ("STRING", {"default": ""}),
170
- "file_name": ("STRING", {"default": "default"}),
171
- }
172
- }
173
-
174
- CATEGORY = "☁️BizyAir/Trellis"
175
- FUNCTION = "main"
176
-
177
- RETURN_TYPES = ("STRING",)
178
- RETURN_NAMES = ("path",)
179
- OUTPUT_NODE = True
180
- OUTPUT_IS_LIST = (False,)
181
-
182
- def main(self, url, file_name, **kwargs):
183
- assert url is not None
184
- file_name = file_name + ".glb"
185
- out_dir = os.path.join(folder_paths.get_output_directory(), "trellis_output")
186
- os.makedirs(out_dir, exist_ok=True)
187
- local_path = os.path.join(out_dir, file_name)
188
- output = os.path.join("trellis_output", file_name)
189
- response = requests.get(url)
190
- if response.status_code == 200:
191
- with open(local_path, "wb") as file:
192
- file.write(response.content)
193
- print("download finished in {}".format(local_path))
194
- else:
195
- print(f"download error: {response.status_code}")
196
- return (output,)
197
-
198
- @classmethod
199
- def IS_CHANGED(self, url, file_name, *args, **kwargs):
200
- return uuid.uuid4().hex
@@ -0,0 +1,83 @@
1
+ import os
2
+ import uuid
3
+
4
+ import folder_paths
5
+ import requests
6
+
7
+ from bizyengine.core import BizyAirBaseNode
8
+
9
+
10
+ def get_incremented_filename(file_path):
11
+ """
12
+ Generate a unique filename by appending an incremental counter if needed.
13
+ Format: <base>_<5-digit-counter>.<extension> (e.g., data_00001.txt)
14
+ """
15
+ # If the file doesn't exist, return the original path
16
+ if not os.path.exists(file_path):
17
+ return file_path
18
+
19
+ # Split the path into directory, base filename, and extension
20
+ directory, fullname = os.path.split(file_path)
21
+ base, extension = os.path.splitext(fullname)
22
+
23
+ # Handle files without extensions
24
+ if not extension:
25
+ base = fullname
26
+
27
+ # Start counter at 1 and increment until a unique name is found
28
+ counter = 1
29
+ while counter <= 99999:
30
+ # Format counter as 5-digit string (e.g., 00001)
31
+ counter_str = f"_{counter:05d}"
32
+ new_fullname = f"{base}{counter_str}{extension}"
33
+ new_path = os.path.join(directory, new_fullname)
34
+
35
+ if not os.path.exists(new_path):
36
+ return new_path
37
+
38
+ counter += 1
39
+
40
+ raise RuntimeError("Failed to generate unique filename after 99999 attempts")
41
+
42
+
43
+ class BizyAirDownloadFile(BizyAirBaseNode):
44
+ NODE_DISPLAY_NAME = "☁️BizyAir Download File"
45
+
46
+ @classmethod
47
+ def INPUT_TYPES(cls):
48
+ return {
49
+ "required": {
50
+ "url": ("STRING", {"default": ""}),
51
+ "folder": ("STRING", {"default": "bizyair"}),
52
+ "file_name": ("STRING", {"default": "default.glb"}),
53
+ }
54
+ }
55
+
56
+ CATEGORY = "☁️BizyAir/Utils"
57
+ FUNCTION = "main"
58
+
59
+ RETURN_TYPES = ("STRING",)
60
+ RETURN_NAMES = ("path",)
61
+ OUTPUT_NODE = True
62
+ OUTPUT_IS_LIST = (False,)
63
+
64
+ def main(self, url, folder, file_name, **kwargs):
65
+ assert url is not None
66
+ out_dir = os.path.join(folder_paths.get_output_directory(), folder)
67
+ os.makedirs(out_dir, exist_ok=True)
68
+ local_path = os.path.join(out_dir, file_name)
69
+ local_path = get_incremented_filename(local_path)
70
+ _, file_name = os.path.split(local_path)
71
+ output = os.path.join(folder, file_name)
72
+ response = requests.get(url)
73
+ if response.status_code == 200:
74
+ with open(local_path, "wb") as file:
75
+ file.write(response.content)
76
+ print("download finished in {}".format(local_path))
77
+ else:
78
+ print(f"download error: {response.status_code}")
79
+ return (output,)
80
+
81
+ @classmethod
82
+ def IS_CHANGED(self, url, file_name, *args, **kwargs):
83
+ return uuid.uuid4().hex
@@ -61,7 +61,18 @@ model_rules:
61
61
  - class_type: NunchakuFluxDiTLoader
62
62
  inputs:
63
63
  model_path:
64
- - '.*'
64
+ - ^svdq-int4-flux.1-dev$
65
+
66
+ - mode_type: unet
67
+ base_model: FLUX
68
+ describe: NunchakuFluxDiT
69
+ score: 5
70
+ route: /supernode/bizyair-flux-nunchaku1-unet-fill
71
+ nodes:
72
+ - class_type: NunchakuFluxDiTLoader
73
+ inputs:
74
+ model_path:
75
+ - ^svdq-int4-flux.1-fill-dev$
65
76
  - mode_type: unet
66
77
  base_model: FLUX
67
78
  describe: NunchakuPulidLoader
@@ -356,3 +367,11 @@ model_rules:
356
367
  inputs:
357
368
  ckpt_name:
358
369
  - ^Wan2.1-T2V-1.3B$
370
+
371
+ - mode_type: hunyuan3d-dit-v2-1
372
+ base_model: Hunyuan3D-2.1
373
+ describe: Hunyuan3D-2.1
374
+ score: 1
375
+ route: /supernode/bizyair-comfy-hy3d-2.1
376
+ nodes:
377
+ - class_type: Hy3DExportMesh
bizyengine/version.txt CHANGED
@@ -1 +1 @@
1
- 1.2.24
1
+ 1.2.26
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bizyengine
3
- Version: 1.2.24
3
+ Version: 1.2.26
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=PlwYUbDbvkOqA9RguVl1pwlGpdqZPcazReyejDl1UkY,7
2
+ bizyengine/version.txt,sha256=XmSQdL2rcd2Ni6nWmucswtJ_1MSf4wAxT_j0jRYjkdU,7
3
3
  bizyengine/bizy_server/__init__.py,sha256=SP9oSblnPo4KQyh7yOGD26YCskFAcQHAZy04nQBNRIw,200
4
4
  bizyengine/bizy_server/api_client.py,sha256=qY1hQ11AeDf5m647qrYvn3YPBzP6Yaw8n2Z9hTk5Wtg,43624
5
5
  bizyengine/bizy_server/errno.py,sha256=Q-U96XnZQCuPH_44Om8wnc2-Kh7qFqwLKtox27msU54,16095
@@ -10,7 +10,7 @@ bizyengine/bizy_server/resp.py,sha256=iOFT5Ud7VJBP2uqkojJIgc3y2ifMjjEXoj0ewneL9l
10
10
  bizyengine/bizy_server/server.py,sha256=XWGO8gdTtIgwTO_WQNEYOumBVVN4SUYqohKmKmwFe0o,53130
11
11
  bizyengine/bizy_server/stream_response.py,sha256=H2XHqlVRtQMhgdztAuG7l8-iV_Pm42u2x6WJ0gNVIW0,9654
12
12
  bizyengine/bizy_server/utils.py,sha256=CIoRrCy8Wv4D9FDdr_QtNP03AjWw8M6GSm2QcrVJl6Y,3739
13
- bizyengine/bizyair_extras/__init__.py,sha256=oaKC7QzFbgJ_BWuc3o05gmIq-8ZhUB7VEzYXnlWjGv8,951
13
+ bizyengine/bizyair_extras/__init__.py,sha256=EjyLEdLpPm5I4Z25YmnoK4PYQDmsEyXtCXQt9UDGmi0,1009
14
14
  bizyengine/bizyair_extras/nodes_advanced_refluxcontrol.py,sha256=cecfjrtnjJAty9aNkhz8BlmHUC1NImkFlUDiA0COEa4,2242
15
15
  bizyengine/bizyair_extras/nodes_cogview4.py,sha256=Ni0TDOycczyDhYPvSR68TxGV_wE2uhaxd8MIj-J4-3o,2031
16
16
  bizyengine/bizyair_extras/nodes_comfyui_detail_daemon.py,sha256=i71it24tiGvZ3h-XFWISr4CpZszUtPuz3UrZARYluLk,6169
@@ -22,18 +22,20 @@ bizyengine/bizyair_extras/nodes_custom_sampler.py,sha256=NK-7sdcp8oxJisjTEFfBskk
22
22
  bizyengine/bizyair_extras/nodes_dataset.py,sha256=htF0YZb_FHncLhLDEbJfNCVqJ6rvlo1ZLk7iY42Rylc,3440
23
23
  bizyengine/bizyair_extras/nodes_differential_diffusion.py,sha256=nSrbD-w0XtrwktwzME5M0Vmi1sI7Z08AqwgymTdThqo,370
24
24
  bizyengine/bizyair_extras/nodes_flux.py,sha256=jdi8KM_s8a_2mEksHyM1StHVW0Odm0d3JXNOztOOrxA,2157
25
+ bizyengine/bizyair_extras/nodes_hunyuan3d.py,sha256=dWHLeqX68N7zKnfDMzm9nutmCNtFT6-wwt7P5cPDu7Q,2058
25
26
  bizyengine/bizyair_extras/nodes_image_utils.py,sha256=BldF_CKD2M01K8-SnG-QV86u3HZqFz_GP5GrCQ5CFDQ,2875
26
27
  bizyengine/bizyair_extras/nodes_ip2p.py,sha256=GSEFJvrs4f2tv0xwYkWqc8uhsXrzAJVPvvwcw0gTjR0,619
27
28
  bizyengine/bizyair_extras/nodes_janus_pro.py,sha256=hAdMsS09RkRHZn9cNwpmyOaH7ODOMjVt9SbBsD-UvbM,2665
28
29
  bizyengine/bizyair_extras/nodes_model_advanced.py,sha256=RR2pzvlNW7NEcgtRcQSLZ8Vy7_ygA0NOZDjd7ZfzX5k,1756
29
- bizyengine/bizyair_extras/nodes_nunchaku.py,sha256=ImxqlqhlrBxbYHNJHVhVoxfY5RUyjylrRYUjAKlALaI,8050
30
+ bizyengine/bizyair_extras/nodes_nunchaku.py,sha256=ERxDOQAV-ejgbeRMOCIaPBiSfNpP4G2jmdMNbO-U6hI,8079
30
31
  bizyengine/bizyair_extras/nodes_sd3.py,sha256=lZCxj0IFmuxk1fZTDcRKgVV5QWHjkUdpR4w9-DZbMf4,1727
31
32
  bizyengine/bizyair_extras/nodes_segment_anything.py,sha256=x1ei2UggHnB8T6aUtK_ZcUehMALEyLUnDoD5SNJCbFU,7249
32
33
  bizyengine/bizyair_extras/nodes_segment_anything_utils.py,sha256=ZefAqrFrevDH3XY_wipr_VwKfeXrgpZEUFaqg_JGOdU,4714
33
34
  bizyengine/bizyair_extras/nodes_testing_utils.py,sha256=lYmcyCIkTkQ7WOZfpEPU9wUbEvC_mL6_A46ks68WzZA,3988
34
- bizyengine/bizyair_extras/nodes_trellis.py,sha256=YFhn8j3jSafH3ZuLqLqHVUkBqVQrUIxOLsu4Y3WrvSU,7432
35
+ bizyengine/bizyair_extras/nodes_trellis.py,sha256=GqSRM8FobuziOIxwyAs3BLztpjVIP4rFT0ZWbfqJAfY,6065
35
36
  bizyengine/bizyair_extras/nodes_ultimatesdupscale.py,sha256=-_SsLTAWAQDv4uw-4Z7IGP2tXTe73BJ3N5D6RqVVAK4,4133
36
37
  bizyengine/bizyair_extras/nodes_upscale_model.py,sha256=lrzA1BFI2w5aEPCmNPMh07s-WDzG-xTT49uU6WCnlP8,1151
38
+ bizyengine/bizyair_extras/nodes_utils.py,sha256=whog_tmV-q7JvLEdb03JL3KKsC7wKe3kImzx_jPaQD8,2613
37
39
  bizyengine/bizyair_extras/nodes_wan_i2v.py,sha256=3XwcxLHmgrihgXDEzcVOjU6VjqnZa3mErINlY014PFA,8435
38
40
  bizyengine/bizyair_extras/nodes_wan_video.py,sha256=d1mCcW9jCj-5Oymmymy0Vz-nwWv36FMGE5Gn-E7Rul4,1632
39
41
  bizyengine/bizyair_extras/route_bizyair_tools.py,sha256=DMVc7J0oT3H_cdAzoaog-ulhE7zj__w1t-HlWnIpCg0,2080
@@ -60,7 +62,7 @@ bizyengine/core/common/env_var.py,sha256=1EAW3gOXY2bKouCqrGa583vTJRdDasQ1IsFTnzD
60
62
  bizyengine/core/common/utils.py,sha256=bm-XmSPy83AyjD0v5EfWp6jiO6_5p7rkZ_HQAuVmgmo,3086
61
63
  bizyengine/core/configs/conf.py,sha256=D_UWG9SSJnK5EhbrfNFryJQ8hUwwdvhOGlq1TielwpI,3830
62
64
  bizyengine/core/configs/models.json,sha256=jCrqQgjVeHugLb191Xay5rg0m3duTVISPp_GxVGQ3HA,2656
63
- bizyengine/core/configs/models.yaml,sha256=SLsmsjJidBrxH_x-tS9es77oCZELjnf_at8qirdbBtA,8594
65
+ bizyengine/core/configs/models.yaml,sha256=x8TOo-VHMKtrxfWO5_OUtFg6wNqxFQbf_eOWWfRBjAk,9082
64
66
  bizyengine/core/path_utils/__init__.py,sha256=JVpqNHgaKiEtTI8_r47af8GtWHxrtOockQ6Qpzp9_MQ,260
65
67
  bizyengine/core/path_utils/path_manager.py,sha256=tRVAcpsYvfWD-tK7khLvNCZayB0wpU9L0tRTH4ZESzM,10549
66
68
  bizyengine/core/path_utils/utils.py,sha256=kQfPQjGU27qF9iyzRxLSRg5cMsd-VixuCUldART7cgY,2394
@@ -75,7 +77,7 @@ bizyengine/misc/route_sam.py,sha256=-bMIR2QalfnszipGxSxvDAHGJa5gPSrjkYPb5baaRg4,
75
77
  bizyengine/misc/segment_anything.py,sha256=wNKYwlYPMszfwj23524geFZJjZaG4eye65SGaUnh77I,8941
76
78
  bizyengine/misc/supernode.py,sha256=STN9gaxfTSErH8OiHeZa47d8z-G9S0I7fXuJvHQOBFM,4532
77
79
  bizyengine/misc/utils.py,sha256=deQjBgLAkxIr-NaOMm77TcgBT3ExAp0MFm5ehUJ3CGs,6829
78
- bizyengine-1.2.24.dist-info/METADATA,sha256=ULBqEoHD5iScSjJIfygGEjrLHE0RSxRDAmoOwJoIE5Q,675
79
- bizyengine-1.2.24.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
80
- bizyengine-1.2.24.dist-info/top_level.txt,sha256=2zapzqxX-we5cRyJkGf9bd5JinRtXp3-_uDI-xCAnc0,11
81
- bizyengine-1.2.24.dist-info/RECORD,,
80
+ bizyengine-1.2.26.dist-info/METADATA,sha256=MFyKRe1Yh8HQLoRl2UB3Ass0xyMfd27yUsGx0Yqphmc,675
81
+ bizyengine-1.2.26.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
82
+ bizyengine-1.2.26.dist-info/top_level.txt,sha256=2zapzqxX-we5cRyJkGf9bd5JinRtXp3-_uDI-xCAnc0,11
83
+ bizyengine-1.2.26.dist-info/RECORD,,