ComfyScript
ComfyScript copied to clipboard
`ComfyScript: Failed to load node VHS_VideoCombine` because of `AttributeError: 'list' object has no attribute 'removesuffix'`
Hi there, thanks for this super cool repo, this is exactly what I've been waiting for to really dive into comfyUI!
I'm trying to get an animateDiff workflow working, but I'm running into an issue with the node which outputs the video/gif.
It's from https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite
The workflow is here: whileaf-lora-workflow.json
It gets transpiled to:
from comfy_script.runtime import *
load()
from comfy_script.runtime.nodes import *
with Workflow():
model, clip, vae = CheckpointLoaderSimple('v1-5-pruned-emaonly.safetensors')
model, clip = LoraLoader(model, clip, 'whileaf.safetensors', 1, 1)
motion_model = ADELoadAnimateDiffModel('v3_sd15_mm.ckpt', None)
m_models = ADEApplyAnimateDiffModel(motion_model, 0, 1, None, None, None, None, None)
context_opts = ADELoopedUniformContextOptions(16, 1, 4, True, 'pyramid', False, 0, 1, None, None)
settings = ADEAnimateDiffSamplingSettings(0, 'FreeNoise', 'comfy', 0, None, None, 0, False, None, None)
model = ADEUseEvolvedSampling(model, 'autoselect', m_models, context_opts, settings)
conditioning = CLIPTextEncode('whileaf whileaf creepy slime calligraphy graffiti runes', clip)
conditioning2 = CLIPTextEncode('ugly', clip)
latent = EmptyLatentImage(512, 512, 48)
latent = KSampler(model, 820058635513319, 20, 8, 'dpmpp_2m_sde_gpu', 'karras', conditioning, conditioning2, latent, 1)
image = VAEDecode(latent, vae)
_ = VHSVideoCombine(image, 8, 0, 'AnimateDiff', 'image/gif', False, True, None, None)
but running it gives the following errors:
ComfyScript: Using ComfyUI from http://127.0.0.1:8188/
Nodes: 357
ComfyScript: Failed to load node VHS_VideoCombine
Traceback (most recent call last):
File "/HUGE/Code/ComfyUI/custom_nodes/ComfyScript/src/comfy_script/runtime/nodes.py", line 19, in load
fact.add_node(node_info)
File "/HUGE/Code/ComfyUI/custom_nodes/ComfyScript/src/comfy_script/runtime/factory.py", line 392, in add_node
inputs.append(f'{input_id}: {type_and_hint(type_info, name, optional, config.get("default"))[1]}')
File "/HUGE/Code/ComfyUI/custom_nodes/ComfyScript/src/comfy_script/runtime/factory.py", line 264, in type_and_hint
enum_c, t = astutil.to_str_enum(id, { _remove_extension(s): s for s in type_info }, ' ')
File "/HUGE/Code/ComfyUI/custom_nodes/ComfyScript/src/comfy_script/runtime/factory.py", line 264, in <dictcomp>
enum_c, t = astutil.to_str_enum(id, { _remove_extension(s): s for s in type_info }, ' ')
File "/HUGE/Code/ComfyUI/custom_nodes/ComfyScript/src/comfy_script/runtime/factory.py", line 19, in _remove_extension
path = path.removesuffix(ext)
AttributeError: 'list' object has no attribute 'removesuffix'
ComfyScript: Node already exists: {'input': {'required': {'frames_per_batch': ['INT', {'default': 16, 'min': 1, 'max': 128, 'step': 1}]}, 'hidden': {'prompt': 'PROMPT', 'unique_id': 'UNIQUE_ID'}}, 'output': ['VHS_BatchManager'], 'output_is_list': [False], 'output_name': ['VHS_BatchManager'], 'name': 'VHS_BatchManager', 'display_name': 'Batch Manager 🎥🅥🅗🅢', 'description': '', 'category': 'Video Helper Suite 🎥🅥🅗🅢', 'output_node': False}
ComfyScript: Failed to load node List of any [Crystools]
Traceback (most recent call last):
File "/HUGE/Code/ComfyUI/custom_nodes/ComfyScript/src/comfy_script/runtime/nodes.py", line 19, in load
fact.add_node(node_info)
File "/HUGE/Code/ComfyUI/custom_nodes/ComfyScript/src/comfy_script/runtime/factory.py", line 420, in add_node
output_types = [type_and_hint(type, name, output=True)[0] for type, name in output_with_name]
File "/HUGE/Code/ComfyUI/custom_nodes/ComfyScript/src/comfy_script/runtime/factory.py", line 420, in <listcomp>
output_types = [type_and_hint(type, name, output=True)[0] for type, name in output_with_name]
File "/HUGE/Code/ComfyUI/custom_nodes/ComfyScript/src/comfy_script/runtime/factory.py", line 264, in type_and_hint
enum_c, t = astutil.to_str_enum(id, { _remove_extension(s): s for s in type_info }, ' ')
File "/HUGE/Code/ComfyUI/custom_nodes/ComfyScript/src/comfy_script/astutil.py", line 149, in to_str_enum
return to_enum(id, dic, indent, StrEnum)
File "/HUGE/Code/ComfyUI/custom_nodes/ComfyScript/src/comfy_script/astutil.py", line 142, in to_enum
return c, enum_class(id, members)
File "/home/hans/.conda/envs/hans/lib/python3.10/enum.py", line 387, in __call__
return cls._create_(
File "/home/hans/.conda/envs/hans/lib/python3.10/enum.py", line 518, in _create_
enum_class = metacls.__new__(metacls, class_name, bases, classdict)
File "/home/hans/.conda/envs/hans/lib/python3.10/enum.py", line 208, in __new__
raise ValueError('Invalid enum member name: {0}'.format(
ValueError: Invalid enum member name:
ComfyScript: Failed to queue prompt: <ClientResponse(http://127.0.0.1:8188/prompt) [400 Bad Request]>
<CIMultiDictProxy('Content-Type': 'application/json; charset=utf-8', 'Content-Length': '128', 'Date': 'Sat, 10 Feb 2024 13:57:54 GMT', 'Server': 'Python/3.10 aiohttp/3.9.3')>
<ClientResponse(http://127.0.0.1:8188/prompt) [400 Bad Request]>
<CIMultiDictProxy('Content-Type': 'application/json; charset=utf-8', 'Content-Length': '128', 'Date': 'Sat, 10 Feb 2024 13:57:54 GMT', 'Server': 'Python/3.10 aiohttp/3.9.3')>
{
"error": {
"type": "prompt_no_outputs",
"message": "Prompt has no outputs",
"details": "",
"extra_info": {}
},
"node_errors": []
}
Traceback (most recent call last):
File "/home/hans/.conda/envs/hans/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/hans/.conda/envs/hans/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/HUGE/Code/ComfyUI/custom_nodes/ComfyScript/whileaf-lora-workflow.py", line 18, in <module>
VHSVideoCombine(image, 8, 0, 'AnimateDiff', 'image/gif', False, True, None, None)
TypeError: VHSVideoCombine() takes no arguments
Any idea what might be going on?