diff --git a/comfy_extras/v3/nodes_audio.py b/comfy_extras/v3/nodes_audio.py index dc7659807..68b841d3a 100644 --- a/comfy_extras/v3/nodes_audio.py +++ b/comfy_extras/v3/nodes_audio.py @@ -19,14 +19,14 @@ class ConditioningStableAudio(io.ComfyNode): node_id="ConditioningStableAudio_V3", category="conditioning", inputs=[ - io.Conditioning.Input(id="positive"), - io.Conditioning.Input(id="negative"), - io.Float.Input(id="seconds_start", default=0.0, min=0.0, max=1000.0, step=0.1), - io.Float.Input(id="seconds_total", default=47.0, min=0.0, max=1000.0, step=0.1), + io.Conditioning.Input("positive"), + io.Conditioning.Input("negative"), + io.Float.Input("seconds_start", default=0.0, min=0.0, max=1000.0, step=0.1), + io.Float.Input("seconds_total", default=47.0, min=0.0, max=1000.0, step=0.1), ], outputs=[ - io.Conditioning.Output(id="positive_out", display_name="positive"), - io.Conditioning.Output(id="negative_out", display_name="negative"), + io.Conditioning.Output(display_name="positive"), + io.Conditioning.Output(display_name="negative"), ], ) @@ -49,7 +49,7 @@ class EmptyLatentAudio(io.ComfyNode): node_id="EmptyLatentAudio_V3", category="latent/audio", inputs=[ - io.Float.Input(id="seconds", default=47.6, min=1.0, max=1000.0, step=0.1), + io.Float.Input("seconds", default=47.6, min=1.0, max=1000.0, step=0.1), io.Int.Input( id="batch_size", default=1, min=1, max=4096, tooltip="The number of latent images in the batch." ), @@ -200,8 +200,8 @@ class VAEDecodeAudio(io.ComfyNode): node_id="VAEDecodeAudio_V3", category="latent/audio", inputs=[ - io.Latent.Input(id="samples"), - io.Vae.Input(id="vae"), + io.Latent.Input("samples"), + io.Vae.Input("vae"), ], outputs=[io.Audio.Output()], ) @@ -222,8 +222,8 @@ class VAEEncodeAudio(io.ComfyNode): node_id="VAEEncodeAudio_V3", category="latent/audio", inputs=[ - io.Audio.Input(id="audio"), - io.Vae.Input(id="vae"), + io.Audio.Input("audio"), + io.Vae.Input("vae"), ], outputs=[io.Latent.Output()], ) diff --git a/comfy_extras/v3/nodes_differential_diffusion.py b/comfy_extras/v3/nodes_differential_diffusion.py index 3af5381b1..58906b2fa 100644 --- a/comfy_extras/v3/nodes_differential_diffusion.py +++ b/comfy_extras/v3/nodes_differential_diffusion.py @@ -13,7 +13,7 @@ class DifferentialDiffusion(io.ComfyNode): display_name="Differential Diffusion _V3", category="_for_testing", inputs=[ - io.Model.Input(id="model"), + io.Model.Input("model"), ], outputs=[ io.Model.Output(), diff --git a/comfy_extras/v3/nodes_flux.py b/comfy_extras/v3/nodes_flux.py index f2f4a118e..266fdfdd4 100644 --- a/comfy_extras/v3/nodes_flux.py +++ b/comfy_extras/v3/nodes_flux.py @@ -32,10 +32,10 @@ class CLIPTextEncodeFlux(io.ComfyNode): node_id="CLIPTextEncodeFlux_V3", category="advanced/conditioning/flux", inputs=[ - io.Clip.Input(id="clip"), - io.String.Input(id="clip_l", multiline=True, dynamic_prompts=True), - io.String.Input(id="t5xxl", multiline=True, dynamic_prompts=True), - io.Float.Input(id="guidance", default=3.5, min=0.0, max=100.0, step=0.1), + io.Clip.Input("clip"), + io.String.Input("clip_l", multiline=True, dynamic_prompts=True), + io.String.Input("t5xxl", multiline=True, dynamic_prompts=True), + io.Float.Input("guidance", default=3.5, min=0.0, max=100.0, step=0.1), ], outputs=[ io.Conditioning.Output(), @@ -58,7 +58,7 @@ class FluxDisableGuidance(io.ComfyNode): category="advanced/conditioning/flux", description="This node completely disables the guidance embed on Flux and Flux like models", inputs=[ - io.Conditioning.Input(id="conditioning"), + io.Conditioning.Input("conditioning"), ], outputs=[ io.Conditioning.Output(), @@ -78,8 +78,8 @@ class FluxGuidance(io.ComfyNode): node_id="FluxGuidance_V3", category="advanced/conditioning/flux", inputs=[ - io.Conditioning.Input(id="conditioning"), - io.Float.Input(id="guidance", default=3.5, min=0.0, max=100.0, step=0.1), + io.Conditioning.Input("conditioning"), + io.Float.Input("guidance", default=3.5, min=0.0, max=100.0, step=0.1), ], outputs=[ io.Conditioning.Output(), @@ -100,7 +100,7 @@ class FluxKontextImageScale(io.ComfyNode): category="advanced/conditioning/flux", description="This node resizes the image to one that is more optimal for flux kontext.", inputs=[ - io.Image.Input(id="image"), + io.Image.Input("image"), ], outputs=[ io.Image.Output(), diff --git a/comfy_extras/v3/nodes_freelunch.py b/comfy_extras/v3/nodes_freelunch.py index e829a8fdd..c7d71c0a0 100644 --- a/comfy_extras/v3/nodes_freelunch.py +++ b/comfy_extras/v3/nodes_freelunch.py @@ -35,11 +35,11 @@ class FreeU(io.ComfyNode): node_id="FreeU_V3", category="model_patches/unet", inputs=[ - io.Model.Input(id="model"), - io.Float.Input(id="b1", default=1.1, min=0.0, max=10.0, step=0.01), - io.Float.Input(id="b2", default=1.2, min=0.0, max=10.0, step=0.01), - io.Float.Input(id="s1", default=0.9, min=0.0, max=10.0, step=0.01), - io.Float.Input(id="s2", default=0.2, min=0.0, max=10.0, step=0.01), + io.Model.Input("model"), + io.Float.Input("b1", default=1.1, min=0.0, max=10.0, step=0.01), + io.Float.Input("b2", default=1.2, min=0.0, max=10.0, step=0.01), + io.Float.Input("s1", default=0.9, min=0.0, max=10.0, step=0.01), + io.Float.Input("s2", default=0.2, min=0.0, max=10.0, step=0.01), ], outputs=[ io.Model.Output(), @@ -80,11 +80,11 @@ class FreeU_V2(io.ComfyNode): node_id="FreeU_V2_V3", category="model_patches/unet", inputs=[ - io.Model.Input(id="model"), - io.Float.Input(id="b1", default=1.3, min=0.0, max=10.0, step=0.01), - io.Float.Input(id="b2", default=1.4, min=0.0, max=10.0, step=0.01), - io.Float.Input(id="s1", default=0.9, min=0.0, max=10.0, step=0.01), - io.Float.Input(id="s2", default=0.2, min=0.0, max=10.0, step=0.01), + io.Model.Input("model"), + io.Float.Input("b1", default=1.3, min=0.0, max=10.0, step=0.01), + io.Float.Input("b2", default=1.4, min=0.0, max=10.0, step=0.01), + io.Float.Input("s1", default=0.9, min=0.0, max=10.0, step=0.01), + io.Float.Input("s2", default=0.2, min=0.0, max=10.0, step=0.01), ], outputs=[ io.Model.Output(), diff --git a/comfy_extras/v3/nodes_fresca.py b/comfy_extras/v3/nodes_fresca.py index eeae79ec2..4d890eef4 100644 --- a/comfy_extras/v3/nodes_fresca.py +++ b/comfy_extras/v3/nodes_fresca.py @@ -65,12 +65,12 @@ class FreSca(io.ComfyNode): category="_for_testing", description="Applies frequency-dependent scaling to the guidance", inputs=[ - io.Model.Input(id="model"), - io.Float.Input(id="scale_low", default=1.0, min=0, max=10, step=0.01, + io.Model.Input("model"), + io.Float.Input("scale_low", default=1.0, min=0, max=10, step=0.01, tooltip="Scaling factor for low-frequency components"), - io.Float.Input(id="scale_high", default=1.25, min=0, max=10, step=0.01, + io.Float.Input("scale_high", default=1.25, min=0, max=10, step=0.01, tooltip="Scaling factor for high-frequency components"), - io.Int.Input(id="freq_cutoff", default=20, min=1, max=10000, step=1, + io.Int.Input("freq_cutoff", default=20, min=1, max=10000, step=1, tooltip="Number of frequency indices around center to consider as low-frequency"), ], outputs=[ diff --git a/comfy_extras/v3/nodes_gits.py b/comfy_extras/v3/nodes_gits.py index 211241628..0d774a96e 100644 --- a/comfy_extras/v3/nodes_gits.py +++ b/comfy_extras/v3/nodes_gits.py @@ -343,9 +343,9 @@ class GITSScheduler(io.ComfyNode): node_id="GITSScheduler_V3", category="sampling/custom_sampling/schedulers", inputs=[ - io.Float.Input(id="coeff", default=1.20, min=0.80, max=1.50, step=0.05), - io.Int.Input(id="steps", default=10, min=2, max=1000), - io.Float.Input(id="denoise", default=1.0, min=0.0, max=1.0, step=0.01), + io.Float.Input("coeff", default=1.20, min=0.80, max=1.50, step=0.05), + io.Int.Input("steps", default=10, min=2, max=1000), + io.Float.Input("denoise", default=1.0, min=0.0, max=1.0, step=0.01), ], outputs=[ io.Sigmas.Output(), diff --git a/comfy_extras/v3/nodes_hypertile.py b/comfy_extras/v3/nodes_hypertile.py index bf6ea11ce..e1c9bb503 100644 --- a/comfy_extras/v3/nodes_hypertile.py +++ b/comfy_extras/v3/nodes_hypertile.py @@ -33,11 +33,11 @@ class HyperTile(io.ComfyNode): node_id="HyperTile_V3", category="model_patches/unet", inputs=[ - io.Model.Input(id="model"), - io.Int.Input(id="tile_size", default=256, min=1, max=2048), - io.Int.Input(id="swap_size", default=2, min=1, max=128), - io.Int.Input(id="max_depth", default=0, min=0, max=10), - io.Boolean.Input(id="scale_depth", default=False), + io.Model.Input("model"), + io.Int.Input("tile_size", default=256, min=1, max=2048), + io.Int.Input("swap_size", default=2, min=1, max=128), + io.Int.Input("max_depth", default=0, min=0, max=10), + io.Boolean.Input("scale_depth", default=False), ], outputs=[ io.Model.Output(), diff --git a/comfy_extras/v3/nodes_ip2p.py b/comfy_extras/v3/nodes_ip2p.py index 79d9c2697..7789c496a 100644 --- a/comfy_extras/v3/nodes_ip2p.py +++ b/comfy_extras/v3/nodes_ip2p.py @@ -12,10 +12,10 @@ class InstructPixToPixConditioning(io.ComfyNode): node_id="InstructPixToPixConditioning_V3", category="conditioning/instructpix2pix", inputs=[ - io.Conditioning.Input(id="positive"), - io.Conditioning.Input(id="negative"), - io.Vae.Input(id="vae"), - io.Image.Input(id="pixels"), + io.Conditioning.Input("positive"), + io.Conditioning.Input("negative"), + io.Vae.Input("vae"), + io.Image.Input("pixels"), ], outputs=[ io.Conditioning.Output(display_name="positive"), diff --git a/comfy_extras/v3/nodes_latent.py b/comfy_extras/v3/nodes_latent.py index 13d551eb7..ab4d690eb 100644 --- a/comfy_extras/v3/nodes_latent.py +++ b/comfy_extras/v3/nodes_latent.py @@ -24,8 +24,8 @@ class LatentAdd(io.ComfyNode): node_id="LatentAdd_V3", category="latent/advanced", inputs=[ - io.Latent.Input(id="samples1"), - io.Latent.Input(id="samples2"), + io.Latent.Input("samples1"), + io.Latent.Input("samples2"), ], outputs=[ io.Latent.Output(), @@ -52,8 +52,8 @@ class LatentApplyOperation(io.ComfyNode): category="latent/advanced/operations", is_experimental=True, inputs=[ - io.Latent.Input(id="samples"), - io.LatentOperation.Input(id="operation"), + io.Latent.Input("samples"), + io.LatentOperation.Input("operation"), ], outputs=[ io.Latent.Output(), @@ -77,8 +77,8 @@ class LatentApplyOperationCFG(io.ComfyNode): category="latent/advanced/operations", is_experimental=True, inputs=[ - io.Model.Input(id="model"), - io.LatentOperation.Input(id="operation"), + io.Model.Input("model"), + io.LatentOperation.Input("operation"), ], outputs=[ io.Model.Output(), @@ -108,8 +108,8 @@ class LatentBatch(io.ComfyNode): node_id="LatentBatch_V3", category="latent/batch", inputs=[ - io.Latent.Input(id="samples1"), - io.Latent.Input(id="samples2"), + io.Latent.Input("samples1"), + io.Latent.Input("samples2"), ], outputs=[ io.Latent.Output(), @@ -137,8 +137,8 @@ class LatentBatchSeedBehavior(io.ComfyNode): node_id="LatentBatchSeedBehavior_V3", category="latent/advanced", inputs=[ - io.Latent.Input(id="samples"), - io.Combo.Input(id="seed_behavior", options=["random", "fixed"], default="fixed"), + io.Latent.Input("samples"), + io.Combo.Input("seed_behavior", options=["random", "fixed"], default="fixed"), ], outputs=[ io.Latent.Output(), @@ -166,9 +166,9 @@ class LatentInterpolate(io.ComfyNode): node_id="LatentInterpolate_V3", category="latent/advanced", inputs=[ - io.Latent.Input(id="samples1"), - io.Latent.Input(id="samples2"), - io.Float.Input(id="ratio", default=1.0, min=0.0, max=1.0, step=0.01), + io.Latent.Input("samples1"), + io.Latent.Input("samples2"), + io.Float.Input("ratio", default=1.0, min=0.0, max=1.0, step=0.01), ], outputs=[ io.Latent.Output(), @@ -205,8 +205,8 @@ class LatentMultiply(io.ComfyNode): node_id="LatentMultiply_V3", category="latent/advanced", inputs=[ - io.Latent.Input(id="samples"), - io.Float.Input(id="multiplier", default=1.0, min=-10.0, max=10.0, step=0.01), + io.Latent.Input("samples"), + io.Float.Input("multiplier", default=1.0, min=-10.0, max=10.0, step=0.01), ], outputs=[ io.Latent.Output(), @@ -230,9 +230,9 @@ class LatentOperationSharpen(io.ComfyNode): category="latent/advanced/operations", is_experimental=True, inputs=[ - io.Int.Input(id="sharpen_radius", default=9, min=1, max=31, step=1), - io.Float.Input(id="sigma", default=1.0, min=0.1, max=10.0, step=0.1), - io.Float.Input(id="alpha", default=0.1, min=0.0, max=5.0, step=0.01), + io.Int.Input("sharpen_radius", default=9, min=1, max=31, step=1), + io.Float.Input("sigma", default=1.0, min=0.1, max=10.0, step=0.1), + io.Float.Input("alpha", default=0.1, min=0.0, max=5.0, step=0.01), ], outputs=[ io.LatentOperation.Output(), @@ -272,7 +272,7 @@ class LatentOperationTonemapReinhard(io.ComfyNode): category="latent/advanced/operations", is_experimental=True, inputs=[ - io.Float.Input(id="multiplier", default=1.0, min=0.0, max=100.0, step=0.01), + io.Float.Input("multiplier", default=1.0, min=0.0, max=100.0, step=0.01), ], outputs=[ io.LatentOperation.Output(), @@ -306,8 +306,8 @@ class LatentSubtract(io.ComfyNode): node_id="LatentSubtract_V3", category="latent/advanced", inputs=[ - io.Latent.Input(id="samples1"), - io.Latent.Input(id="samples2"), + io.Latent.Input("samples1"), + io.Latent.Input("samples2"), ], outputs=[ io.Latent.Output(), diff --git a/comfy_extras/v3/nodes_load_3d.py b/comfy_extras/v3/nodes_load_3d.py index e7a82ccf3..af12b497a 100644 --- a/comfy_extras/v3/nodes_load_3d.py +++ b/comfy_extras/v3/nodes_load_3d.py @@ -35,10 +35,10 @@ class Load3D(io.ComfyNode): category="3d", is_experimental=True, inputs=[ - io.Combo.Input(id="model_file", options=sorted(files), upload=io.UploadType.model), - io.Load3D.Input(id="image"), - io.Int.Input(id="width", default=1024, min=1, max=4096, step=1), - io.Int.Input(id="height", default=1024, min=1, max=4096, step=1), + io.Combo.Input("model_file", options=sorted(files), upload=io.UploadType.model), + io.Load3D.Input("image"), + io.Int.Input("width", default=1024, min=1, max=4096, step=1), + io.Int.Input("height", default=1024, min=1, max=4096, step=1), ], outputs=[ io.Image.Output(display_name="image"), @@ -96,10 +96,10 @@ class Load3DAnimation(io.ComfyNode): category="3d", is_experimental=True, inputs=[ - io.Combo.Input(id="model_file", options=sorted(files), upload=io.UploadType.model), - io.Load3DAnimation.Input(id="image"), - io.Int.Input(id="width", default=1024, min=1, max=4096, step=1), - io.Int.Input(id="height", default=1024, min=1, max=4096, step=1), + io.Combo.Input("model_file", options=sorted(files), upload=io.UploadType.model), + io.Load3DAnimation.Input("image"), + io.Int.Input("width", default=1024, min=1, max=4096, step=1), + io.Int.Input("height", default=1024, min=1, max=4096, step=1), ], outputs=[ io.Image.Output(display_name="image"), @@ -140,8 +140,8 @@ class Preview3D(io.ComfyNode): is_experimental=True, is_output_node=True, inputs=[ - io.String.Input(id="model_file", default="", multiline=False), - io.Load3DCamera.Input(id="camera_info", optional=True), + io.String.Input("model_file", default="", multiline=False), + io.Load3DCamera.Input("camera_info", optional=True), ], outputs=[], ) @@ -161,8 +161,8 @@ class Preview3DAnimation(io.ComfyNode): is_experimental=True, is_output_node=True, inputs=[ - io.String.Input(id="model_file", default="", multiline=False), - io.Load3DCamera.Input(id="camera_info", optional=True), + io.String.Input("model_file", default="", multiline=False), + io.Load3DCamera.Input("camera_info", optional=True), ], outputs=[], ) diff --git a/comfy_extras/v3/nodes_lora_extract.py b/comfy_extras/v3/nodes_lora_extract.py index 180b62007..197740515 100644 --- a/comfy_extras/v3/nodes_lora_extract.py +++ b/comfy_extras/v3/nodes_lora_extract.py @@ -91,10 +91,10 @@ class LoraSave(io.ComfyNode): category="_for_testing", is_output_node=True, inputs=[ - io.String.Input(id="filename_prefix", default="loras/ComfyUI_extracted_lora"), - io.Int.Input(id="rank", default=8, min=1, max=4096, step=1), - io.Combo.Input(id="lora_type", options=list(LORA_TYPES.keys())), - io.Boolean.Input(id="bias_diff", default=True), + io.String.Input("filename_prefix", default="loras/ComfyUI_extracted_lora"), + io.Int.Input("rank", default=8, min=1, max=4096, step=1), + io.Combo.Input("lora_type", options=list(LORA_TYPES.keys())), + io.Boolean.Input("bias_diff", default=True), io.Model.Input( id="model_diff", optional=True, tooltip="The ModelSubtract output to be converted to a lora." ), diff --git a/comfy_extras/v3/nodes_lt.py b/comfy_extras/v3/nodes_lt.py index b1eefcb84..abb3a932b 100644 --- a/comfy_extras/v3/nodes_lt.py +++ b/comfy_extras/v3/nodes_lt.py @@ -93,10 +93,10 @@ class EmptyLTXVLatentVideo(io.ComfyNode): node_id="EmptyLTXVLatentVideo_V3", category="latent/video/ltxv", inputs=[ - io.Int.Input(id="width", default=768, min=64, max=nodes.MAX_RESOLUTION, step=32), - io.Int.Input(id="height", default=512, min=64, max=nodes.MAX_RESOLUTION, step=32), - io.Int.Input(id="length", default=97, min=1, max=nodes.MAX_RESOLUTION, step=8), - io.Int.Input(id="batch_size", default=1, min=1, max=4096), + io.Int.Input("width", default=768, min=64, max=nodes.MAX_RESOLUTION, step=32), + io.Int.Input("height", default=512, min=64, max=nodes.MAX_RESOLUTION, step=32), + io.Int.Input("length", default=97, min=1, max=nodes.MAX_RESOLUTION, step=8), + io.Int.Input("batch_size", default=1, min=1, max=4096), ], outputs=[ io.Latent.Output(), @@ -122,10 +122,10 @@ class LTXVAddGuide(io.ComfyNode): node_id="LTXVAddGuide_V3", category="conditioning/video_models", inputs=[ - io.Conditioning.Input(id="positive"), - io.Conditioning.Input(id="negative"), - io.Vae.Input(id="vae"), - io.Latent.Input(id="latent"), + io.Conditioning.Input("positive"), + io.Conditioning.Input("negative"), + io.Vae.Input("vae"), + io.Latent.Input("latent"), io.Image.Input( id="image", tooltip="Image or video to condition the latent video on. Must be 8*n + 1 frames. " @@ -141,12 +141,12 @@ class LTXVAddGuide(io.ComfyNode): "For videos with 9+ frames, frame_idx must be divisible by 8, otherwise it will be rounded " "down to the nearest multiple of 8. Negative values are counted from the end of the video.", ), - io.Float.Input(id="strength", default=1.0, min=0.0, max=1.0, step=0.01), + io.Float.Input("strength", default=1.0, min=0.0, max=1.0, step=0.01), ], outputs=[ - io.Conditioning.Output(id="positive_out", display_name="positive"), - io.Conditioning.Output(id="negative_out", display_name="negative"), - io.Latent.Output(id="latent_out", display_name="latent"), + io.Conditioning.Output(display_name="positive"), + io.Conditioning.Output(display_name="negative"), + io.Latent.Output(display_name="latent"), ], ) @@ -282,13 +282,13 @@ class LTXVConditioning(io.ComfyNode): node_id="LTXVConditioning_V3", category="conditioning/video_models", inputs=[ - io.Conditioning.Input(id="positive"), - io.Conditioning.Input(id="negative"), - io.Float.Input(id="frame_rate", default=25.0, min=0.0, max=1000.0, step=0.01), + io.Conditioning.Input("positive"), + io.Conditioning.Input("negative"), + io.Float.Input("frame_rate", default=25.0, min=0.0, max=1000.0, step=0.01), ], outputs=[ - io.Conditioning.Output(id="positive_out", display_name="positive"), - io.Conditioning.Output(id="negative_out", display_name="negative"), + io.Conditioning.Output(display_name="positive"), + io.Conditioning.Output(display_name="negative"), ], ) @@ -306,14 +306,14 @@ class LTXVCropGuides(io.ComfyNode): node_id="LTXVCropGuides_V3", category="conditioning/video_models", inputs=[ - io.Conditioning.Input(id="positive"), - io.Conditioning.Input(id="negative"), - io.Latent.Input(id="latent"), + io.Conditioning.Input("positive"), + io.Conditioning.Input("negative"), + io.Latent.Input("latent"), ], outputs=[ - io.Conditioning.Output(id="positive_out", display_name="positive"), - io.Conditioning.Output(id="negative_out", display_name="negative"), - io.Latent.Output(id="latent_out", display_name="latent"), + io.Conditioning.Output(display_name="positive"), + io.Conditioning.Output(display_name="negative"), + io.Latent.Output(display_name="latent"), ], ) @@ -342,19 +342,19 @@ class LTXVImgToVideo(io.ComfyNode): node_id="LTXVImgToVideo_V3", category="conditioning/video_models", inputs=[ - io.Conditioning.Input(id="positive"), - io.Conditioning.Input(id="negative"), - io.Vae.Input(id="vae"), - io.Image.Input(id="image"), - io.Int.Input(id="width", default=768, min=64, max=nodes.MAX_RESOLUTION, step=32), - io.Int.Input(id="height", default=512, min=64, max=nodes.MAX_RESOLUTION, step=32), - io.Int.Input(id="length", default=97, min=9, max=nodes.MAX_RESOLUTION, step=8), - io.Int.Input(id="batch_size", default=1, min=1, max=4096), - io.Float.Input(id="strength", default=1.0, min=0.0, max=1.0), + io.Conditioning.Input("positive"), + io.Conditioning.Input("negative"), + io.Vae.Input("vae"), + io.Image.Input("image"), + io.Int.Input("width", default=768, min=64, max=nodes.MAX_RESOLUTION, step=32), + io.Int.Input("height", default=512, min=64, max=nodes.MAX_RESOLUTION, step=32), + io.Int.Input("length", default=97, min=9, max=nodes.MAX_RESOLUTION, step=8), + io.Int.Input("batch_size", default=1, min=1, max=4096), + io.Float.Input("strength", default=1.0, min=0.0, max=1.0), ], outputs=[ - io.Conditioning.Output(id="positive_out", display_name="positive"), - io.Conditioning.Output(id="negative_out", display_name="negative"), + io.Conditioning.Output(display_name="positive"), + io.Conditioning.Output(display_name="negative"), io.Latent.Output(display_name="latent"), ], ) @@ -390,13 +390,13 @@ class LTXVPreprocess(io.ComfyNode): node_id="LTXVPreprocess_V3", category="image", inputs=[ - io.Image.Input(id="image"), + io.Image.Input("image"), io.Int.Input( id="img_compression", default=35, min=0, max=100, tooltip="Amount of compression to apply on image." ), ], outputs=[ - io.Image.Output(id="output_image", display_name="output_image"), + io.Image.Output(display_name="output_image"), ], ) @@ -415,9 +415,9 @@ class LTXVScheduler(io.ComfyNode): node_id="LTXVScheduler_V3", category="sampling/custom_sampling/schedulers", inputs=[ - io.Int.Input(id="steps", default=20, min=1, max=10000), - io.Float.Input(id="max_shift", default=2.05, min=0.0, max=100.0, step=0.01), - io.Float.Input(id="base_shift", default=0.95, min=0.0, max=100.0, step=0.01), + io.Int.Input("steps", default=20, min=1, max=10000), + io.Float.Input("max_shift", default=2.05, min=0.0, max=100.0, step=0.01), + io.Float.Input("base_shift", default=0.95, min=0.0, max=100.0, step=0.01), io.Boolean.Input( id="stretch", default=True, @@ -431,7 +431,7 @@ class LTXVScheduler(io.ComfyNode): step=0.01, tooltip="The terminal value of the sigmas after stretching.", ), - io.Latent.Input(id="latent", optional=True), + io.Latent.Input("latent", optional=True), ], outputs=[ io.Sigmas.Output(), @@ -478,10 +478,10 @@ class ModelSamplingLTXV(io.ComfyNode): node_id="ModelSamplingLTXV_V3", category="advanced/model", inputs=[ - io.Model.Input(id="model"), - io.Float.Input(id="max_shift", default=2.05, min=0.0, max=100.0, step=0.01), - io.Float.Input(id="base_shift", default=0.95, min=0.0, max=100.0, step=0.01), - io.Latent.Input(id="latent", optional=True), + io.Model.Input("model"), + io.Float.Input("max_shift", default=2.05, min=0.0, max=100.0, step=0.01), + io.Float.Input("base_shift", default=0.95, min=0.0, max=100.0, step=0.01), + io.Latent.Input("latent", optional=True), ], outputs=[ io.Model.Output(), diff --git a/comfy_extras/v3/nodes_lumina2.py b/comfy_extras/v3/nodes_lumina2.py index 66ea981fc..4dadce477 100644 --- a/comfy_extras/v3/nodes_lumina2.py +++ b/comfy_extras/v3/nodes_lumina2.py @@ -27,9 +27,9 @@ class CLIPTextEncodeLumina2(io.ComfyNode): description="Encodes a system prompt and a user prompt using a CLIP model into an embedding " "that can be used to guide the diffusion model towards generating specific images.", inputs=[ - io.Combo.Input(id="system_prompt", options=list(cls.SYSTEM_PROMPT.keys()), tooltip=cls.SYSTEM_PROMPT_TIP), - io.String.Input(id="user_prompt", multiline=True, dynamic_prompts=True, tooltip="The text to be encoded."), - io.Clip.Input(id="clip", tooltip="The CLIP model used for encoding the text."), + io.Combo.Input("system_prompt", options=list(cls.SYSTEM_PROMPT.keys()), tooltip=cls.SYSTEM_PROMPT_TIP), + io.String.Input("user_prompt", multiline=True, dynamic_prompts=True, tooltip="The text to be encoded."), + io.Clip.Input("clip", tooltip="The CLIP model used for encoding the text."), ], outputs=[ io.Conditioning.Output(tooltip="A conditioning containing the embedded text used to guide the diffusion model."), @@ -56,9 +56,9 @@ class RenormCFG(io.ComfyNode): node_id="RenormCFG_V3", category="advanced/model", inputs=[ - io.Model.Input(id="model"), - io.Float.Input(id="cfg_trunc", default=100, min=0.0, max=100.0, step=0.01), - io.Float.Input(id="renorm_cfg", default=1.0, min=0.0, max=100.0, step=0.01), + io.Model.Input("model"), + io.Float.Input("cfg_trunc", default=100, min=0.0, max=100.0, step=0.01), + io.Float.Input("renorm_cfg", default=1.0, min=0.0, max=100.0, step=0.01), ], outputs=[ io.Model.Output(), diff --git a/comfy_extras/v3/nodes_morphology.py b/comfy_extras/v3/nodes_morphology.py index 5b3577973..7c44cc086 100644 --- a/comfy_extras/v3/nodes_morphology.py +++ b/comfy_extras/v3/nodes_morphology.py @@ -23,12 +23,12 @@ class ImageRGBToYUV(io.ComfyNode): node_id="ImageRGBToYUV_V3", category="image/batch", inputs=[ - io.Image.Input(id="image"), + io.Image.Input("image"), ], outputs=[ - io.Image.Output(id="Y", display_name="Y"), - io.Image.Output(id="U", display_name="U"), - io.Image.Output(id="V", display_name="V"), + io.Image.Output(display_name="Y"), + io.Image.Output(display_name="U"), + io.Image.Output(display_name="V"), ], ) @@ -45,9 +45,9 @@ class ImageYUVToRGB(io.ComfyNode): node_id="ImageYUVToRGB_V3", category="image/batch", inputs=[ - io.Image.Input(id="Y"), - io.Image.Input(id="U"), - io.Image.Input(id="V"), + io.Image.Input("Y"), + io.Image.Input("U"), + io.Image.Input("V"), ], outputs=[ io.Image.Output(), @@ -68,9 +68,9 @@ class Morphology(io.ComfyNode): display_name="ImageMorphology _V3", category="image/postprocessing", inputs=[ - io.Image.Input(id="image"), - io.Combo.Input(id="operation", options=["erode", "dilate", "open", "close", "gradient", "bottom_hat", "top_hat"]), - io.Int.Input(id="kernel_size", default=3, min=3, max=999, step=1), + io.Image.Input("image"), + io.Combo.Input("operation", options=["erode", "dilate", "open", "close", "gradient", "bottom_hat", "top_hat"]), + io.Int.Input("kernel_size", default=3, min=3, max=999, step=1), ], outputs=[ io.Image.Output(), diff --git a/comfy_extras/v3/nodes_optimalsteps.py b/comfy_extras/v3/nodes_optimalsteps.py index 5dd21b0ff..4dcb79b4d 100644 --- a/comfy_extras/v3/nodes_optimalsteps.py +++ b/comfy_extras/v3/nodes_optimalsteps.py @@ -33,9 +33,9 @@ class OptimalStepsScheduler(io.ComfyNode): node_id="OptimalStepsScheduler_V3", category="sampling/custom_sampling/schedulers", inputs=[ - io.Combo.Input(id="model_type", options=["FLUX", "Wan", "Chroma"]), - io.Int.Input(id="steps", default=20, min=3, max=1000), - io.Float.Input(id="denoise", default=1.0, min=0.0, max=1.0, step=0.01), + io.Combo.Input("model_type", options=["FLUX", "Wan", "Chroma"]), + io.Int.Input("steps", default=20, min=3, max=1000), + io.Float.Input("denoise", default=1.0, min=0.0, max=1.0, step=0.01), ], outputs=[ io.Sigmas.Output(), diff --git a/comfy_extras/v3/nodes_pag.py b/comfy_extras/v3/nodes_pag.py index 1268343c4..7aebf614a 100644 --- a/comfy_extras/v3/nodes_pag.py +++ b/comfy_extras/v3/nodes_pag.py @@ -17,8 +17,8 @@ class PerturbedAttentionGuidance(io.ComfyNode): node_id="PerturbedAttentionGuidance_V3", category="model_patches/unet", inputs=[ - io.Model.Input(id="model"), - io.Float.Input(id="scale", default=3.0, min=0.0, max=100.0, step=0.01, round=0.01), + io.Model.Input("model"), + io.Float.Input("scale", default=3.0, min=0.0, max=100.0, step=0.01, round=0.01), ], outputs=[ io.Model.Output(), diff --git a/comfy_extras/v3/nodes_perpneg.py b/comfy_extras/v3/nodes_perpneg.py index 5ba27698e..d7ee7cfa4 100644 --- a/comfy_extras/v3/nodes_perpneg.py +++ b/comfy_extras/v3/nodes_perpneg.py @@ -88,12 +88,12 @@ class PerpNegGuider(io.ComfyNode): node_id="PerpNegGuider_V3", category="_for_testing", inputs=[ - io.Model.Input(id="model"), - io.Conditioning.Input(id="positive"), - io.Conditioning.Input(id="negative"), - io.Conditioning.Input(id="empty_conditioning"), - io.Float.Input(id="cfg", default=8.0, min=0.0, max=100.0, step=0.1, round=0.01), - io.Float.Input(id="neg_scale", default=1.0, min=0.0, max=100.0, step=0.01), + io.Model.Input("model"), + io.Conditioning.Input("positive"), + io.Conditioning.Input("negative"), + io.Conditioning.Input("empty_conditioning"), + io.Float.Input("cfg", default=8.0, min=0.0, max=100.0, step=0.1, round=0.01), + io.Float.Input("neg_scale", default=1.0, min=0.0, max=100.0, step=0.01), ], outputs=[ io.Guider.Output(),