bizyengine 1.2.72__py3-none-any.whl → 1.2.74__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.
@@ -157,6 +157,7 @@ class Seedream4_5(BizyAirTrdApiBaseNode):
157
157
  RETURN_NAMES = ("images",)
158
158
  CATEGORY = "☁️BizyAir/External APIs/Doubao"
159
159
  NODE_DISPLAY_NAME = "Seedream 4.5"
160
+ INPUT_IS_LIST = True
160
161
 
161
162
  @classmethod
162
163
  def INPUT_TYPES(s):
@@ -223,6 +224,15 @@ class Seedream4_5(BizyAirTrdApiBaseNode):
223
224
  "IMAGE",
224
225
  {"tooltip": "参考图,数量不超过14张。会影响组图生成数量"},
225
226
  ),
227
+ "inputcount": (
228
+ "INT",
229
+ {
230
+ "default": 1,
231
+ "min": 1,
232
+ "max": 14,
233
+ "tooltip": "动态控制输入的参考图数量,范围1-14,点击Update inputs按钮刷新",
234
+ },
235
+ ),
226
236
  },
227
237
  }
228
238
 
@@ -231,15 +241,22 @@ class Seedream4_5(BizyAirTrdApiBaseNode):
231
241
  # 10mb each
232
242
  # custom total pixels [3686400, 16777216]
233
243
  # custom size ratio [1/16, 16]
234
- model = kwargs.get("model", "doubao-seedream-4-0-250828")
235
- prompt = kwargs.get("prompt", "")
236
- size = kwargs.get("size", "2K")
237
- images = kwargs.get("images", None)
238
- optimize_prompt = kwargs.get("optimize_prompt", "disabled")
239
- max_images = kwargs.get("max_images", 1)
244
+ model = kwargs.get("model", ["doubao-seedream-4-0-250828"])[0]
245
+ prompt = kwargs.get("prompt", [""])[0]
246
+ size = kwargs.get("size", ["2K"])[0]
247
+ images = kwargs.get("images", [])
248
+ optimize_prompt = kwargs.get("optimize_prompt", ["disabled"])[0]
249
+ max_images = kwargs.get("max_images", [1])[0]
250
+
251
+ # 多图的情况可以认为图片输入都是List[Image Batch]
252
+ total_input_images = 0
253
+ for _, img_batch in enumerate(images if images is not None else []):
254
+ total_input_images += img_batch.shape[0]
255
+ extra_images, total_extra_images = self.get_extra_images(**kwargs)
256
+ total_input_images += total_extra_images
257
+ if total_input_images > 14:
258
+ raise ValueError("Total number of input images is too large, maximum is 14")
240
259
 
241
- if images is not None and len(images) > 14:
242
- raise ValueError("Maximum number of images is 14")
243
260
  if size == "Custom":
244
261
  width = kwargs.get("custom_width", 2048)
245
262
  height = kwargs.get("custom_height", 2048)
@@ -250,20 +267,39 @@ class Seedream4_5(BizyAirTrdApiBaseNode):
250
267
  size = f"{width}x{height}"
251
268
 
252
269
  parts = []
253
- for batch_number, img in enumerate(images if images is not None else []):
254
- if img is not None:
255
- bio = tensor_to_bytesio(image=img, total_pixels=4096 * 4096)
256
- length = bio.getbuffer().nbytes
257
- if length > 10 * 1024 * 1024:
258
- raise ValueError(
259
- "Image size is too large, Seedream 4.5 only supports up to 10MB"
270
+ index = 1
271
+ for _, img_batch in enumerate(images if images is not None else []):
272
+ for _, img in enumerate(img_batch if img_batch is not None else []):
273
+ if img is not None:
274
+ bio = tensor_to_bytesio(image=img, total_pixels=4096 * 4096)
275
+ length = bio.getbuffer().nbytes
276
+ if length > 10 * 1024 * 1024:
277
+ raise ValueError(
278
+ "Image size is too large, Seedream 4.5 only supports up to 10MB"
279
+ )
280
+ url = self.upload_file(
281
+ bio,
282
+ f"{prompt_id}_{index}.png",
283
+ headers,
284
+ )
285
+ parts.append(url)
286
+ index += 1
287
+ for _, img_batch in enumerate(extra_images):
288
+ for _, img in enumerate(img_batch if img_batch is not None else []):
289
+ if img is not None:
290
+ bio = tensor_to_bytesio(image=img, total_pixels=4096 * 4096)
291
+ length = bio.getbuffer().nbytes
292
+ if length > 10 * 1024 * 1024:
293
+ raise ValueError(
294
+ "Image size is too large, Seedream 4.5 only supports up to 10MB"
295
+ )
296
+ url = self.upload_file(
297
+ bio,
298
+ f"{prompt_id}_{index}.png",
299
+ headers,
260
300
  )
261
- url = self.upload_file(
262
- bio,
263
- f"{prompt_id}_{batch_number}.png",
264
- headers,
265
- )
266
- parts.append(url)
301
+ parts.append(url)
302
+ index += 1
267
303
 
268
304
  data = {
269
305
  "prompt": prompt,
@@ -184,6 +184,7 @@ class NanoBananaPro(BizyAirTrdApiBaseNode):
184
184
  RETURN_TYPES = ("IMAGE", "STRING")
185
185
  RETURN_NAMES = ("image", "string")
186
186
  CATEGORY = "☁️BizyAir/External APIs/Gemini"
187
+ INPUT_IS_LIST = True
187
188
 
188
189
  @classmethod
189
190
  def INPUT_TYPES(s):
@@ -244,33 +245,61 @@ class NanoBananaPro(BizyAirTrdApiBaseNode):
244
245
  "tooltip": "Maintain character consistency across edits",
245
246
  },
246
247
  ),
248
+ "inputcount": (
249
+ "INT",
250
+ {
251
+ "default": 1,
252
+ "min": 1,
253
+ "max": 14,
254
+ "tooltip": "动态控制输入的参考图数量,范围1-14,点击Update inputs按钮刷新",
255
+ },
256
+ ),
247
257
  },
248
258
  }
249
259
 
250
260
  def handle_inputs(self, headers, prompt_id, **kwargs):
251
- operation = kwargs.get("operation", "generate")
252
- temperature = kwargs.get("temperature", 1.0)
253
- top_p = kwargs.get("top_p", 1.0)
254
- seed = kwargs.get("seed", 0)
255
- max_tokens = kwargs.get("max_tokens", 32768)
256
- quality = kwargs.get("quality", "high")
257
- aspect_ratio = kwargs.get("aspect_ratio", "auto")
258
- resolution = kwargs.get("resolution", "auto")
259
- images = kwargs.get("images", None)
260
- character_consistency = kwargs.get("character_consistency", True)
261
- prompt = kwargs.get("prompt", "")
262
-
263
- if images is not None and len(images) > 14:
261
+ operation = kwargs.get("operation", ["generate"])[0]
262
+ temperature = kwargs.get("temperature", [1.0])[0]
263
+ top_p = kwargs.get("top_p", [1.0])[0]
264
+ seed = kwargs.get("seed", [0])[0]
265
+ max_tokens = kwargs.get("max_tokens", [32768])[0]
266
+ quality = kwargs.get("quality", ["high"])[0]
267
+ aspect_ratio = kwargs.get("aspect_ratio", ["auto"])[0]
268
+ resolution = kwargs.get("resolution", ["auto"])[0]
269
+ images = kwargs.get("images", [])
270
+ character_consistency = kwargs.get("character_consistency", [True])[0]
271
+ prompt = kwargs.get("prompt", [""])[0]
272
+
273
+ # 多图的情况可以认为图片输入都是List[Image Batch]
274
+ total_input_images = 0
275
+ for _, img_batch in enumerate(images if images is not None else []):
276
+ total_input_images += img_batch.shape[0]
277
+ extra_images, total_extra_images = self.get_extra_images(**kwargs)
278
+ total_input_images += total_extra_images
279
+ if total_input_images > 14:
264
280
  raise ValueError("Maximum number of images is 14")
265
281
  parts = []
266
- for batch_number, img in enumerate(images if images is not None else []):
267
- if img is not None:
268
- url = self.upload_file(
269
- tensor_to_bytesio(image=img, total_pixels=4096 * 4096),
270
- f"{prompt_id}_{batch_number}.png",
271
- headers,
272
- )
273
- parts.append(url)
282
+ index = 1
283
+ for _, img_batch in enumerate(images if images is not None else []):
284
+ for _, img in enumerate(img_batch if img_batch is not None else []):
285
+ if img is not None:
286
+ url = self.upload_file(
287
+ tensor_to_bytesio(image=img, total_pixels=4096 * 4096),
288
+ f"{prompt_id}_{index}.png",
289
+ headers,
290
+ )
291
+ parts.append(url)
292
+ index += 1
293
+ for _, img_batch in enumerate(extra_images):
294
+ for _, img in enumerate(img_batch if img_batch is not None else []):
295
+ if img is not None:
296
+ url = self.upload_file(
297
+ tensor_to_bytesio(image=img, total_pixels=4096 * 4096),
298
+ f"{prompt_id}_{index}.png",
299
+ headers,
300
+ )
301
+ parts.append(url)
302
+ index += 1
274
303
 
275
304
  prompt = build_prompt_for_operation(
276
305
  prompt,
@@ -349,6 +378,15 @@ class NanoBananaProOfficial(BizyAirTrdApiBaseNode):
349
378
  },
350
379
  "optional": {
351
380
  "images": ("IMAGE",),
381
+ "inputcount": (
382
+ "INT",
383
+ {
384
+ "default": 1,
385
+ "min": 1,
386
+ "max": 14,
387
+ "tooltip": "动态控制输入的参考图数量,范围1-14,点击Update inputs按钮刷新",
388
+ },
389
+ ),
352
390
  },
353
391
  }
354
392
 
@@ -356,28 +394,47 @@ class NanoBananaProOfficial(BizyAirTrdApiBaseNode):
356
394
  RETURN_NAMES = ("image", "string")
357
395
  CATEGORY = "☁️BizyAir/External APIs/Gemini"
358
396
  NODE_DISPLAY_NAME = "NanoBananaPro (Official Parameters)"
397
+ INPUT_IS_LIST = True
359
398
 
360
399
  def handle_inputs(self, headers, prompt_id, **kwargs):
361
- prompt = kwargs.get("prompt", "")
400
+ prompt = kwargs.get("prompt", [""])[0]
362
401
  temperature = kwargs.get("temperature", 1.0)
363
- top_p = kwargs.get("top_p", 1.0)
364
- seed = kwargs.get("seed", 0)
365
- max_tokens = kwargs.get("max_tokens", 32768)
366
- aspect_ratio = kwargs.get("aspect_ratio", "auto")
367
- resolution = kwargs.get("resolution", "auto")
368
- images = kwargs.get("images", None)
369
- if images is not None and len(images) > 14:
402
+ top_p = kwargs.get("top_p", [1.0])[0]
403
+ seed = kwargs.get("seed", [0])[0]
404
+ max_tokens = kwargs.get("max_tokens", [32768])[0]
405
+ aspect_ratio = kwargs.get("aspect_ratio", ["auto"])[0]
406
+ resolution = kwargs.get("resolution", ["auto"])[0]
407
+ images = kwargs.get("images", [])
408
+ extra_images, total_extra_images = self.get_extra_images(**kwargs)
409
+ # 多图的情况可以认为图片输入都是List[Image Batch]
410
+ total_input_images = 0
411
+ for _, img_batch in enumerate(images if images is not None else []):
412
+ total_input_images += img_batch.shape[0]
413
+ total_input_images += total_extra_images
414
+ if total_input_images > 14:
370
415
  raise ValueError("Maximum number of images is 14")
371
416
  parts = []
372
- for batch_number, img in enumerate(images if images is not None else []):
373
- if img is not None:
374
- url = self.upload_file(
375
- tensor_to_bytesio(image=img, total_pixels=4096 * 4096),
376
- f"{prompt_id}_{batch_number}.png",
377
- headers,
378
- )
379
- parts.append(url)
380
-
417
+ index = 1
418
+ for _, img_batch in enumerate(images if images is not None else []):
419
+ for _, img in enumerate(img_batch if img_batch is not None else []):
420
+ if img is not None:
421
+ url = self.upload_file(
422
+ tensor_to_bytesio(image=img, total_pixels=4096 * 4096),
423
+ f"{prompt_id}_{index}.png",
424
+ headers,
425
+ )
426
+ parts.append(url)
427
+ index += 1
428
+ for _, img_batch in enumerate(extra_images):
429
+ for _, img in enumerate(img_batch if img_batch is not None else []):
430
+ if img is not None:
431
+ url = self.upload_file(
432
+ tensor_to_bytesio(image=img, total_pixels=4096 * 4096),
433
+ f"{prompt_id}_{index}.png",
434
+ headers,
435
+ )
436
+ parts.append(url)
437
+ index += 1
381
438
  data = {
382
439
  "urls": parts,
383
440
  "prompt": prompt,
@@ -272,6 +272,116 @@ class Kling_2_5_I2V_API(BizyAirTrdApiBaseNode):
272
272
  return (outputs[0][0],)
273
273
 
274
274
 
275
+ class Kling_2_6_T2V_API(BizyAirTrdApiBaseNode):
276
+ NODE_DISPLAY_NAME = "Kling 2.6 Text To Video"
277
+ RETURN_TYPES = ("VIDEO",)
278
+ RETURN_NAMES = ("video",)
279
+ CATEGORY = "☁️BizyAir/External APIs/Kling"
280
+
281
+ @classmethod
282
+ def INPUT_TYPES(cls):
283
+ return {
284
+ "required": {
285
+ "prompt": (
286
+ "STRING",
287
+ {
288
+ "multiline": True,
289
+ "default": "",
290
+ },
291
+ ),
292
+ "sound": (
293
+ "BOOLEAN",
294
+ {
295
+ "default": False,
296
+ "tooltip": "是否开启声音",
297
+ },
298
+ ),
299
+ "model_name": (["kling-v2-6"], {"default": "kling-v2-6"}),
300
+ "duration": ([5, 10], {"default": 5}),
301
+ "aspect_ratio": (["16:9", "9:16", "1:1"], {"default": "16:9"}),
302
+ },
303
+ }
304
+
305
+ def handle_inputs(self, headers, prompt_id, **kwargs):
306
+ model = kwargs.get("model_name", "kling-v2-6")
307
+ prompt = kwargs.get("prompt", "")
308
+ sound = kwargs.get("sound", False)
309
+ duration = kwargs.get("duration", 5)
310
+ aspect_ratio = kwargs.get("aspect_ratio", "16:9")
311
+ if len(prompt) > 1000:
312
+ raise ValueError("Prompt must be less than 1000 characters")
313
+ data = {
314
+ "model_name": model,
315
+ "prompt": prompt,
316
+ "sound": sound,
317
+ "duration": duration,
318
+ "aspect_ratio": aspect_ratio,
319
+ }
320
+ return data, "kling-v2-6"
321
+
322
+ def handle_outputs(self, outputs):
323
+ return (outputs[0][0],)
324
+
325
+
326
+ class Kling_2_6_I2V_API(BizyAirTrdApiBaseNode):
327
+ NODE_DISPLAY_NAME = "Kling 2.6 Image To Video"
328
+ RETURN_TYPES = ("VIDEO",)
329
+ RETURN_NAMES = ("video",)
330
+ CATEGORY = "☁️BizyAir/External APIs/Kling"
331
+
332
+ @classmethod
333
+ def INPUT_TYPES(cls):
334
+ return {
335
+ "required": {
336
+ "first_frame_image": ("IMAGE", {"tooltip": "首帧图片"}),
337
+ "prompt": (
338
+ "STRING",
339
+ {
340
+ "multiline": True,
341
+ "default": "",
342
+ },
343
+ ),
344
+ "sound": (
345
+ "BOOLEAN",
346
+ {
347
+ "default": False,
348
+ "tooltip": "是否开启声音",
349
+ },
350
+ ),
351
+ "model_name": (["kling-v2-6"], {"default": "kling-v2-6"}),
352
+ "duration": ([5, 10], {"default": 5}),
353
+ },
354
+ }
355
+
356
+ def handle_inputs(self, headers, prompt_id, **kwargs):
357
+ model = kwargs.get("model_name", "kling-v2-6")
358
+ prompt = kwargs.get("prompt", "")
359
+ sound = kwargs.get("sound", False)
360
+ duration = kwargs.get("duration", 5)
361
+ first_frame_image = kwargs.get("first_frame_image", None)
362
+ if first_frame_image is None:
363
+ raise ValueError("First frame image is required")
364
+ if len(prompt) > 1000:
365
+ raise ValueError("Prompt must be less than 1000 characters")
366
+ # 上传图片
367
+ url = self.upload_file(
368
+ tensor_to_bytesio(image=first_frame_image, total_pixels=4096 * 4096),
369
+ f"{prompt_id}.png",
370
+ headers,
371
+ )
372
+ data = {
373
+ "model_name": model,
374
+ "prompt": prompt,
375
+ "sound": sound,
376
+ "duration": duration,
377
+ "urls": [url],
378
+ }
379
+ return data, "kling-v2-6"
380
+
381
+ def handle_outputs(self, outputs):
382
+ return (outputs[0][0],)
383
+
384
+
275
385
  class Kling_2_T2I_API(BizyAirTrdApiBaseNode):
276
386
  NODE_DISPLAY_NAME = "Kling 2 Text To Image"
277
387
  RETURN_TYPES = ("IMAGE",)
@@ -181,3 +181,21 @@ class BizyAirTrdApiBaseNode(BizyAirMiscBaseNode, TrdBase):
181
181
  ).movedim(1, -1)
182
182
  s = torch.cat((s, image), dim=0)
183
183
  return s
184
+
185
+ def get_extra_images(self, **kwargs) -> Tuple[List, int]:
186
+ input_is_list = getattr(self, "INPUT_IS_LIST", False)
187
+ if not input_is_list:
188
+ raise ValueError(
189
+ f"{type(self).__name__} get_extra_images only supports INPUT_IS_LIST=True"
190
+ )
191
+ inputcount = kwargs.get("inputcount", [1])[0]
192
+ # List[Tensor]
193
+ extra_images = []
194
+ total = 0
195
+ for i in range(1, inputcount):
196
+ # 可以认为图片输入都是List[Batch]
197
+ images = kwargs.get(f"image_{i + 1}", None)
198
+ for _, img_batch in enumerate(images if images is not None else []):
199
+ total += img_batch.shape[0]
200
+ extra_images.append(img_batch)
201
+ return (extra_images, total)
@@ -166,9 +166,8 @@ def send_request(
166
166
  except urllib.error.URLError as e:
167
167
  error_message = str(e)
168
168
  response_body = e.read().decode("utf-8") if hasattr(e, "read") else "N/A"
169
- if verbose:
170
- logging.error(f"URLError encountered: {error_message}")
171
- logging.info(f"Response Body: {response_body}")
169
+ logging.error(f"URLError encountered: {error_message}")
170
+ logging.debug(f"Response Body: {response_body}")
172
171
  code, message = "N/A", "N/A"
173
172
  try:
174
173
  response_dict = json.loads(response_body)
@@ -261,8 +260,7 @@ async def async_send_request(
261
260
  response_data = await response.text()
262
261
  if response.status != 200:
263
262
  error_message = f"HTTP Status {response.status}"
264
- if verbose:
265
- logging.error(f"Error encountered: {error_message}")
263
+ logging.error(f"Error encountered: {error_message}")
266
264
  if response.status == 401:
267
265
  raise PermissionError(
268
266
  "Key is invalid, please refer to https://cloud.siliconflow.cn to get the API key.\n"
@@ -36,6 +36,8 @@ def pop_api_key_and_prompt_id(kwargs):
36
36
  prompt = None
37
37
  if BIZYAIR_PROMPT_KEY in kwargs:
38
38
  prompt = kwargs.pop(BIZYAIR_PROMPT_KEY)
39
+ if isinstance(prompt, list) and prompt:
40
+ prompt = prompt[0]
39
41
  if BIZYAIR_SERVER_MODE:
40
42
  if BIZYAIR_PARAM_MAGIC_NODE_ID in prompt:
41
43
  extra_data["api_key"] = prompt[BIZYAIR_PARAM_MAGIC_NODE_ID]["_meta"][
bizyengine/version.txt CHANGED
@@ -1 +1 @@
1
- 1.2.72
1
+ 1.2.74
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bizyengine
3
- Version: 1.2.72
3
+ Version: 1.2.74
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=a7iR7IBhAjmgseNlnvFyQ7DcWKZVPC_fBtzuP4Q3RPY,7
2
+ bizyengine/version.txt,sha256=ihmKcAOejMdAt8f1PiHhwM5Nn2-tnC08DTnjvgZKcX4,7
3
3
  bizyengine/bizy_server/__init__.py,sha256=SP9oSblnPo4KQyh7yOGD26YCskFAcQHAZy04nQBNRIw,200
4
4
  bizyengine/bizy_server/api_client.py,sha256=fF2VApJjPcPWGQwYWSEaIN12c8WT95lj1_QHX83WbeQ,44630
5
5
  bizyengine/bizy_server/errno.py,sha256=ikb4Z3MRMTjosi9AC1epaOwE3kJsD6CcFcFp56AKF-Y,16986
@@ -46,16 +46,16 @@ bizyengine/bizyair_extras/nodes_ipadapter_plus/nodes_ipadapter_plus.py,sha256=lO
46
46
  bizyengine/bizyair_extras/nodes_kolors_mz/__init__.py,sha256=HsCCCphW8q0SrWEiFlZKK_W2lQr1T0UJIJL7gEn37ME,3729
47
47
  bizyengine/bizyair_extras/oauth_callback/main.py,sha256=KQOZWor3kyNx8xvUNHYNMoHfCF9g_ht13_iPk4K_5YM,3633
48
48
  bizyengine/bizyair_extras/third_party_api/__init__.py,sha256=etiPBCIxOBD6hbrVhdivaRVOPrAp6z79YDWyJgqr_b4,320
49
- bizyengine/bizyair_extras/third_party_api/nodes_doubao.py,sha256=FtpAnxOuAND_xUgrdovw6hz5wHUm4VC92pd-fynpJpM,19239
49
+ bizyengine/bizyair_extras/third_party_api/nodes_doubao.py,sha256=B-RHX2S2HVq5iLk0m0-OZXg5jmAT7kHJS-VUEkWl5sI,20941
50
50
  bizyengine/bizyair_extras/third_party_api/nodes_flux.py,sha256=9o7imVDn9qXnUokkAjTH9yNdpXwcuQ8p3rsv5Y5eywQ,6135
51
- bizyengine/bizyair_extras/third_party_api/nodes_gemini.py,sha256=-P6PO0-qwwUbOYaqbS6SSg3w6_yAkLpBtL3mNq0PNSc,14587
51
+ bizyengine/bizyair_extras/third_party_api/nodes_gemini.py,sha256=IiSDL6RsKMeYoej11BFQL-0SBRQTfRhSjvKXXuF_8bE,17332
52
52
  bizyengine/bizyair_extras/third_party_api/nodes_gpt.py,sha256=pvIlwjjHnk_XCa4eJERBcsWonaBd24xP0jFVQLJXdQc,3098
53
53
  bizyengine/bizyair_extras/third_party_api/nodes_hailuo.py,sha256=hBmt6AHVXzsbO-Uq3Go-06yNLocV6sCtutKCVUz4P9E,3746
54
- bizyengine/bizyair_extras/third_party_api/nodes_kling.py,sha256=sbGBpUDPR_9Qp3ALgHEy9l_rTmVtZa_mrI-K1a9vPMQ,14669
54
+ bizyengine/bizyair_extras/third_party_api/nodes_kling.py,sha256=ROrMLXuJ2ubSvvsXXbnqeEnl_mAKxIKSWLh_okKd3TQ,18290
55
55
  bizyengine/bizyair_extras/third_party_api/nodes_sora.py,sha256=alxI3zNDSUKdc2IOOv5csIWFcHSAqL_55H9Zp4BdcN4,6976
56
56
  bizyengine/bizyair_extras/third_party_api/nodes_veo3.py,sha256=H-6zWsUSTKaMMIUrMaH205-hnegvXxs1SQmKi4uY8rI,6489
57
57
  bizyengine/bizyair_extras/third_party_api/nodes_wan_api.py,sha256=qkbXFHlnirqUTqnN-X5mu7MyHRYjtGv6e233PjlyUxg,6776
58
- bizyengine/bizyair_extras/third_party_api/trd_nodes_base.py,sha256=dOCSi1lBVjMMRk7u4V3JyfI3qWWMeTnnW5X6azUEVtg,7124
58
+ bizyengine/bizyair_extras/third_party_api/trd_nodes_base.py,sha256=s4v8sPyvSu9-GaPQFFKq3w6V5uqQnciFgq7nrQGECiI,7895
59
59
  bizyengine/bizyair_extras/utils/aliyun_oss.py,sha256=H6wGZq1DqP7BHJ_frBJVvUVttgXprJprOnxytePIuos,3050
60
60
  bizyengine/bizyair_extras/utils/audio.py,sha256=cCmX080jtxsHFa7mCgn13R6cyfqE-1Gq37ZnRJdZNU8,3183
61
61
  bizyengine/bizybot/__init__.py,sha256=NINN_7QECKQwtAwKPBTrrSiAK6KbxaZCkIvJ-e1J1xk,262
@@ -72,7 +72,7 @@ bizyengine/bizybot/mcp/routing.py,sha256=COgeao02y-oIiHpcXEZGl2cccgcR1u343BEcJ95
72
72
  bizyengine/core/__init__.py,sha256=EygpO-kvl5-4rk44rP8_s0GBDd_TF7FMvrl2exBSWWM,378
73
73
  bizyengine/core/data_types.py,sha256=2f7QqqZvhKmXw3kZV1AvXuPTda34b4wXQE9tyO8nUSM,1595
74
74
  bizyengine/core/image_utils.py,sha256=vJt42FcEDD8-fQumuogZM1XXwgYseSQ79_9Qzu9YTQk,409
75
- bizyengine/core/nodes_base.py,sha256=h2f_FWTWj6lpdKjwHRuOmoRifqwkV59ovM2ZxPK4h9c,9019
75
+ bizyengine/core/nodes_base.py,sha256=5cmBMdhGe9CMQrd1doZTrqE-7Z8XXrsTFEuh9N68bvY,9098
76
76
  bizyengine/core/nodes_io.py,sha256=VhwRwYkGp0g3Mh0hx1OSwNZbV06NEV13w2aODSiAm5M,2832
77
77
  bizyengine/core/commands/__init__.py,sha256=82yRdMT23RTiZPkFW_G3fVa-fj3-TUAXnj6cnGA3xRA,22
78
78
  bizyengine/core/commands/base.py,sha256=TYH9lhr033B2roBLPkWkxcvoz_fW3cdzx_bvP_FI7dg,635
@@ -83,7 +83,7 @@ bizyengine/core/commands/servers/model_server.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
83
83
  bizyengine/core/commands/servers/prompt_server.py,sha256=5R4a5EU5z5lqGNoDlGRtUGGHRojFWAtm3rdslqxpebU,11366
84
84
  bizyengine/core/common/__init__.py,sha256=GicZw6YeAZk1PsKmFDt9dm1F75zPUlpia9Q_ki5vW1Y,179
85
85
  bizyengine/core/common/caching.py,sha256=hRNsSrfNxgc1zzvBzLVjMY0iMkKqA0TBCr-iYhEpzik,6946
86
- bizyengine/core/common/client.py,sha256=5wp_gsyvnSQxETCjUayYe536taOhaVP0zonPvW_asdA,10701
86
+ bizyengine/core/common/client.py,sha256=szsvaHkvmXm52PaBaDhjx8hUsk3KaxSaqSuIiW3hsHY,10638
87
87
  bizyengine/core/common/env_var.py,sha256=1EAW3gOXY2bKouCqrGa583vTJRdDasQ1IsFTnzDg7Dk,3450
88
88
  bizyengine/core/common/utils.py,sha256=Jxk4tCURbUhjYBFuHTiQgeUo2w13TYj4upnPTKNNucM,4215
89
89
  bizyengine/core/configs/conf.py,sha256=D_UWG9SSJnK5EhbrfNFryJQ8hUwwdvhOGlq1TielwpI,3830
@@ -103,7 +103,7 @@ bizyengine/misc/route_sam.py,sha256=-bMIR2QalfnszipGxSxvDAHGJa5gPSrjkYPb5baaRg4,
103
103
  bizyengine/misc/segment_anything.py,sha256=wNKYwlYPMszfwj23524geFZJjZaG4eye65SGaUnh77I,8941
104
104
  bizyengine/misc/supernode.py,sha256=STN9gaxfTSErH8OiHeZa47d8z-G9S0I7fXuJvHQOBFM,4532
105
105
  bizyengine/misc/utils.py,sha256=nXXTPkj4WBvds4EWjI9c-ydeWwmXl8Vwrdu-4Fh62g8,12914
106
- bizyengine-1.2.72.dist-info/METADATA,sha256=avhbzY9k0yg3bnxWYcckNHBkPYIghct_pVI1FfR_OiE,735
107
- bizyengine-1.2.72.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
108
- bizyengine-1.2.72.dist-info/top_level.txt,sha256=2zapzqxX-we5cRyJkGf9bd5JinRtXp3-_uDI-xCAnc0,11
109
- bizyengine-1.2.72.dist-info/RECORD,,
106
+ bizyengine-1.2.74.dist-info/METADATA,sha256=oollV2v-AeUl0mUdhYhWNaWCPnkbzYImWpYb4hAXSFc,735
107
+ bizyengine-1.2.74.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
108
+ bizyengine-1.2.74.dist-info/top_level.txt,sha256=2zapzqxX-we5cRyJkGf9bd5JinRtXp3-_uDI-xCAnc0,11
109
+ bizyengine-1.2.74.dist-info/RECORD,,