mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-07-27 16:26:39 +00:00
Some node changes to compare v1 and v3
This commit is contained in:
parent
50da98bcf5
commit
1fb1bad150
@ -17,7 +17,7 @@ class FolderType(str, Enum):
|
|||||||
temp = "temp"
|
temp = "temp"
|
||||||
|
|
||||||
class RemoteOptions:
|
class RemoteOptions:
|
||||||
def __init__(self, route: str, refresh_button: bool, control_after_refresh: Literal["first", "last"]=None,
|
def __init__(self, route: str, refresh_button: bool, control_after_refresh: Literal["first", "last"]="first",
|
||||||
timeout: int=None, max_retries: int=None, refresh: int=None):
|
timeout: int=None, max_retries: int=None, refresh: int=None):
|
||||||
self.route = route
|
self.route = route
|
||||||
"""The route to the remote source."""
|
"""The route to the remote source."""
|
||||||
|
42
comfy_extras/nodes_v1_test.py
Normal file
42
comfy_extras/nodes_v1_test.py
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
import torch
|
||||||
|
from comfy.comfy_types.node_typing import ComfyNodeABC, IO
|
||||||
|
|
||||||
|
|
||||||
|
class TestNode(ComfyNodeABC):
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def INPUT_TYPES(cls):
|
||||||
|
return {
|
||||||
|
"required": {
|
||||||
|
"image": (IO.IMAGE,),
|
||||||
|
"xyz": ("XYZ",),
|
||||||
|
"some_int": (IO.INT, {"display_name": "new_name",
|
||||||
|
"min": 0, "max": 127, "default": 42,
|
||||||
|
"tooltip": "My tooltip 😎", "display": "slider"}),
|
||||||
|
"combo": (IO.COMBO, {"options": ["a", "b", "c"], "tooltip": "This is a combo input"}),
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"mask": (IO.MASK,),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RETURN_TYPES = (IO.INT, IO.IMAGE)
|
||||||
|
RETURN_NAMES = ("INT", "img🖼️")
|
||||||
|
OUTPUT_TOOLTIPS = (None, "This is an image")
|
||||||
|
FUNCTION = "do_thing"
|
||||||
|
|
||||||
|
OUTPUT_NODE = True
|
||||||
|
|
||||||
|
CATEGORY = "v3 nodes"
|
||||||
|
|
||||||
|
def do_thing(self, image: torch.Tensor, xyz, some_int: int, combo: str, mask: torch.Tensor=None):
|
||||||
|
return (some_int, image)
|
||||||
|
|
||||||
|
|
||||||
|
NODE_CLASS_MAPPINGS = {
|
||||||
|
"V1TestNode1": TestNode,
|
||||||
|
}
|
||||||
|
|
||||||
|
NODE_DISPLAY_NAME_MAPPINGS = {
|
||||||
|
"V1TestNode1": "V1 Test Node",
|
||||||
|
}
|
@ -1,35 +1,33 @@
|
|||||||
import torch
|
import torch
|
||||||
|
|
||||||
from comfy_api.v3.io import (
|
from comfy_api.v3.io import (
|
||||||
ComfyNodeV3, SchemaV3, CustomType, CustomInput, CustomOutput, InputBehavior, NumberDisplay,
|
ComfyNodeV3, SchemaV3, InputBehavior, NumberDisplay,
|
||||||
IntegerInput, MaskInput, ImageInput, ComboInput, NodeOutput, FolderType, RemoteOptions
|
IntegerInput, MaskInput, ImageInput, ComboInput, CustomInput,
|
||||||
|
IntegerOutput, ImageOutput,
|
||||||
|
NodeOutput,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class V3TestNode(ComfyNodeV3):
|
class V3TestNode(ComfyNodeV3):
|
||||||
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def DEFINE_SCHEMA(cls):
|
def DEFINE_SCHEMA(cls):
|
||||||
return SchemaV3(
|
return SchemaV3(
|
||||||
node_id="V3TestNode1",
|
node_id="V3TestNode1",
|
||||||
display_name="V3 Test Node (1djekjd)",
|
display_name="V3 Test Node",
|
||||||
description="This is a funky V3 node test.",
|
description="This is a funky V3 node test.",
|
||||||
category="v3 nodes",
|
category="v3 nodes",
|
||||||
inputs=[
|
inputs=[
|
||||||
IntegerInput("some_int", display_name="new_name", min=0, tooltip="My tooltip 😎", display_mode=NumberDisplay.slider),
|
|
||||||
MaskInput("mask", behavior=InputBehavior.optional),
|
|
||||||
ImageInput("image", display_name="new_image"),
|
ImageInput("image", display_name="new_image"),
|
||||||
ComboInput("combo", image_upload=True, image_folder=FolderType.output,
|
CustomInput("xyz", "XYZ"),
|
||||||
remote=RemoteOptions(
|
MaskInput("mask", behavior=InputBehavior.optional),
|
||||||
route="/internal/files/output",
|
IntegerInput("some_int", display_name="new_name", min=0, max=127, default=42,
|
||||||
refresh_button=True,
|
tooltip="My tooltip 😎", display_mode=NumberDisplay.slider),
|
||||||
),
|
ComboInput("combo", options=["a", "b", "c"], tooltip="This is a combo input"),
|
||||||
tooltip="This is a combo input"),
|
# ComboInput("combo", image_upload=True, image_folder=FolderType.output,
|
||||||
# ComboInput("combo", options=["a", "b", "c"], tooltip="This is a combo input"),
|
# remote=RemoteOptions(
|
||||||
|
# route="/internal/files/output",
|
||||||
|
# refresh_button=True,
|
||||||
|
# ),
|
||||||
|
# tooltip="This is a combo input"),
|
||||||
# IntegerInput("some_int", display_name="new_name", min=0, tooltip="My tooltip 😎", display=NumberDisplay.slider, ),
|
# IntegerInput("some_int", display_name="new_name", min=0, tooltip="My tooltip 😎", display=NumberDisplay.slider, ),
|
||||||
# ComboDynamicInput("mask", behavior=InputBehavior.optional),
|
# ComboDynamicInput("mask", behavior=InputBehavior.optional),
|
||||||
# IntegerInput("some_int", display_name="new_name", min=0, tooltip="My tooltip 😎", display=NumberDisplay.slider,
|
# IntegerInput("some_int", display_name="new_name", min=0, tooltip="My tooltip 😎", display=NumberDisplay.slider,
|
||||||
@ -41,23 +39,15 @@ class V3TestNode(ComfyNodeV3):
|
|||||||
# CombyDynamicOptons("option2", [])
|
# CombyDynamicOptons("option2", [])
|
||||||
# ]]
|
# ]]
|
||||||
],
|
],
|
||||||
|
outputs=[
|
||||||
|
IntegerOutput("int_output"),
|
||||||
|
ImageOutput("img_output", display_name="img🖼️", tooltip="This is an image"),
|
||||||
|
],
|
||||||
is_output_node=True,
|
is_output_node=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
def execute(self, some_int: int, image: torch.Tensor, mask: torch.Tensor=None, **kwargs):
|
def execute(image: torch.Tensor, xyz, some_int: int, combo: str, mask: torch.Tensor=None):
|
||||||
a = NodeOutput(1)
|
return NodeOutput(some_int, image)
|
||||||
aa = NodeOutput(1, "hellothere")
|
|
||||||
ab = NodeOutput(1, "hellothere", ui={"lol": "jk"})
|
|
||||||
b = NodeOutput()
|
|
||||||
c = NodeOutput(ui={"lol": "jk"})
|
|
||||||
return NodeOutput()
|
|
||||||
return NodeOutput(1)
|
|
||||||
return NodeOutput(1, block_execution="Kill yourself")
|
|
||||||
return ()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NODES_LIST: list[ComfyNodeV3] = [
|
NODES_LIST: list[ComfyNodeV3] = [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user