mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-07-27 16:26:39 +00:00
Renamed SchemaV3 to Schema
This commit is contained in:
parent
a9f5554342
commit
b0f73174b2
@ -932,7 +932,7 @@ class NodeInfoV3:
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class SchemaV3:
|
class Schema:
|
||||||
"""Definition of V3 node properties."""
|
"""Definition of V3 node properties."""
|
||||||
|
|
||||||
node_id: str
|
node_id: str
|
||||||
@ -1128,8 +1128,8 @@ class _ComfyNodeBaseInternal(ComfyNodeInternal):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def define_schema(cls) -> SchemaV3:
|
def define_schema(cls) -> Schema:
|
||||||
"""Override this function with one that returns a SchemaV3 instance."""
|
"""Override this function with one that returns a Schema instance."""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -1344,7 +1344,7 @@ class _ComfyNodeBaseInternal(ComfyNodeInternal):
|
|||||||
|
|
||||||
@final
|
@final
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(cls, include_hidden=True, return_schema=False) -> dict[str, dict] | tuple[dict[str, dict], SchemaV3]:
|
def INPUT_TYPES(cls, include_hidden=True, return_schema=False) -> dict[str, dict] | tuple[dict[str, dict], Schema]:
|
||||||
schema = cls.FINALIZE_SCHEMA()
|
schema = cls.FINALIZE_SCHEMA()
|
||||||
info = schema.get_v1_info(cls)
|
info = schema.get_v1_info(cls)
|
||||||
input = info.input
|
input = info.input
|
||||||
@ -1364,7 +1364,7 @@ class _ComfyNodeBaseInternal(ComfyNodeInternal):
|
|||||||
|
|
||||||
@final
|
@final
|
||||||
@classmethod
|
@classmethod
|
||||||
def GET_SCHEMA(cls) -> SchemaV3:
|
def GET_SCHEMA(cls) -> Schema:
|
||||||
"""Validate node class, finalize schema, validate schema, and set expected class properties."""
|
"""Validate node class, finalize schema, validate schema, and set expected class properties."""
|
||||||
cls.VALIDATE_CLASS()
|
cls.VALIDATE_CLASS()
|
||||||
schema = cls.FINALIZE_SCHEMA()
|
schema = cls.FINALIZE_SCHEMA()
|
||||||
@ -1413,8 +1413,8 @@ class ComfyNodeV3(_ComfyNodeBaseInternal):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def define_schema(cls) -> SchemaV3:
|
def define_schema(cls) -> Schema:
|
||||||
"""Override this function with one that returns a SchemaV3 instance."""
|
"""Override this function with one that returns a Schema instance."""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -25,7 +25,7 @@ class V3TestNode(io.ComfyNodeV3):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="V3_01_TestNode1",
|
node_id="V3_01_TestNode1",
|
||||||
display_name="V3 Test Node",
|
display_name="V3 Test Node",
|
||||||
category="v3 nodes",
|
category="v3 nodes",
|
||||||
@ -94,7 +94,7 @@ class V3TestNode(io.ComfyNodeV3):
|
|||||||
class V3LoraLoader(io.ComfyNodeV3):
|
class V3LoraLoader(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="V3_LoraLoader",
|
node_id="V3_LoraLoader",
|
||||||
display_name="V3 LoRA Loader",
|
display_name="V3 LoRA Loader",
|
||||||
category="v3 nodes",
|
category="v3 nodes",
|
||||||
@ -144,7 +144,7 @@ class V3LoraLoader(io.ComfyNodeV3):
|
|||||||
class NInputsTest(io.ComfyNodeV3):
|
class NInputsTest(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="V3_NInputsTest",
|
node_id="V3_NInputsTest",
|
||||||
display_name="V3 N Inputs Test",
|
display_name="V3 N Inputs Test",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -186,7 +186,7 @@ class NInputsTest(io.ComfyNodeV3):
|
|||||||
class V3TestSleep(io.ComfyNodeV3):
|
class V3TestSleep(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="V3_TestSleep",
|
node_id="V3_TestSleep",
|
||||||
display_name="V3 Test Sleep",
|
display_name="V3 Test Sleep",
|
||||||
category="_for_testing",
|
category="_for_testing",
|
||||||
@ -221,7 +221,7 @@ class V3TestSleep(io.ComfyNodeV3):
|
|||||||
class V3DummyStart(io.ComfyNodeV3):
|
class V3DummyStart(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="V3_DummyStart",
|
node_id="V3_DummyStart",
|
||||||
display_name="V3 Dummy Start",
|
display_name="V3 Dummy Start",
|
||||||
category="v3 nodes",
|
category="v3 nodes",
|
||||||
@ -242,7 +242,7 @@ class V3DummyEnd(io.ComfyNodeV3):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="V3_DummyEnd",
|
node_id="V3_DummyEnd",
|
||||||
display_name="V3 Dummy End",
|
display_name="V3 Dummy End",
|
||||||
category="v3 nodes",
|
category="v3 nodes",
|
||||||
|
@ -10,7 +10,7 @@ from comfy_api.v3 import io
|
|||||||
class TextEncodeAceStepAudio(io.ComfyNodeV3):
|
class TextEncodeAceStepAudio(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="TextEncodeAceStepAudio_V3",
|
node_id="TextEncodeAceStepAudio_V3",
|
||||||
category="conditioning",
|
category="conditioning",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -32,7 +32,7 @@ class TextEncodeAceStepAudio(io.ComfyNodeV3):
|
|||||||
class EmptyAceStepLatentAudio(io.ComfyNodeV3):
|
class EmptyAceStepLatentAudio(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="EmptyAceStepLatentAudio_V3",
|
node_id="EmptyAceStepLatentAudio_V3",
|
||||||
category="latent/audio",
|
category="latent/audio",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -45,8 +45,8 @@ class SamplerLCMUpscale(io.ComfyNodeV3):
|
|||||||
UPSCALE_METHODS = ["bislerp", "nearest-exact", "bilinear", "area", "bicubic"]
|
UPSCALE_METHODS = ["bislerp", "nearest-exact", "bilinear", "area", "bicubic"]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SamplerLCMUpscale_V3",
|
node_id="SamplerLCMUpscale_V3",
|
||||||
category="sampling/custom_sampling/samplers",
|
category="sampling/custom_sampling/samplers",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -101,8 +101,8 @@ def sample_euler_pp(model, x, sigmas, extra_args=None, callback=None, disable=No
|
|||||||
|
|
||||||
class SamplerEulerCFGpp(io.ComfyNodeV3):
|
class SamplerEulerCFGpp(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SamplerEulerCFGpp_V3",
|
node_id="SamplerEulerCFGpp_V3",
|
||||||
display_name="SamplerEulerCFG++ _V3",
|
display_name="SamplerEulerCFG++ _V3",
|
||||||
category="_for_testing",
|
category="_for_testing",
|
||||||
|
@ -49,8 +49,8 @@ def loglinear_interp(t_steps, num_steps):
|
|||||||
|
|
||||||
class AlignYourStepsScheduler(io.ComfyNodeV3):
|
class AlignYourStepsScheduler(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="AlignYourStepsScheduler_V3",
|
node_id="AlignYourStepsScheduler_V3",
|
||||||
category="sampling/custom_sampling/schedulers",
|
category="sampling/custom_sampling/schedulers",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -12,8 +12,8 @@ def project(v0, v1):
|
|||||||
|
|
||||||
class APG(io.ComfyNodeV3):
|
class APG(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="APG_V3",
|
node_id="APG_V3",
|
||||||
display_name="Adaptive Projected Guidance _V3",
|
display_name="Adaptive Projected Guidance _V3",
|
||||||
category="sampling/custom_sampling",
|
category="sampling/custom_sampling",
|
||||||
|
@ -19,8 +19,8 @@ def attention_multiply(attn, model, q, k, v, out):
|
|||||||
|
|
||||||
class UNetSelfAttentionMultiply(io.ComfyNodeV3):
|
class UNetSelfAttentionMultiply(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="UNetSelfAttentionMultiply_V3",
|
node_id="UNetSelfAttentionMultiply_V3",
|
||||||
category="_for_testing/attention_experiments",
|
category="_for_testing/attention_experiments",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -41,8 +41,8 @@ class UNetSelfAttentionMultiply(io.ComfyNodeV3):
|
|||||||
|
|
||||||
class UNetCrossAttentionMultiply(io.ComfyNodeV3):
|
class UNetCrossAttentionMultiply(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="UNetCrossAttentionMultiply_V3",
|
node_id="UNetCrossAttentionMultiply_V3",
|
||||||
category="_for_testing/attention_experiments",
|
category="_for_testing/attention_experiments",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -63,8 +63,8 @@ class UNetCrossAttentionMultiply(io.ComfyNodeV3):
|
|||||||
|
|
||||||
class CLIPAttentionMultiply(io.ComfyNodeV3):
|
class CLIPAttentionMultiply(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CLIPAttentionMultiply_V3",
|
node_id="CLIPAttentionMultiply_V3",
|
||||||
category="_for_testing/attention_experiments",
|
category="_for_testing/attention_experiments",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -97,8 +97,8 @@ class CLIPAttentionMultiply(io.ComfyNodeV3):
|
|||||||
|
|
||||||
class UNetTemporalAttentionMultiply(io.ComfyNodeV3):
|
class UNetTemporalAttentionMultiply(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="UNetTemporalAttentionMultiply_V3",
|
node_id="UNetTemporalAttentionMultiply_V3",
|
||||||
category="_for_testing/attention_experiments",
|
category="_for_testing/attention_experiments",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -15,7 +15,7 @@ from comfy_api.v3 import io, ui
|
|||||||
class ConditioningStableAudio(io.ComfyNodeV3):
|
class ConditioningStableAudio(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ConditioningStableAudio_V3",
|
node_id="ConditioningStableAudio_V3",
|
||||||
category="conditioning",
|
category="conditioning",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -45,7 +45,7 @@ class ConditioningStableAudio(io.ComfyNodeV3):
|
|||||||
class EmptyLatentAudio(io.ComfyNodeV3):
|
class EmptyLatentAudio(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="EmptyLatentAudio_V3",
|
node_id="EmptyLatentAudio_V3",
|
||||||
category="latent/audio",
|
category="latent/audio",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -67,7 +67,7 @@ class EmptyLatentAudio(io.ComfyNodeV3):
|
|||||||
class LoadAudio(io.ComfyNodeV3):
|
class LoadAudio(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LoadAudio_V3", # frontend expects "LoadAudio" to work
|
node_id="LoadAudio_V3", # frontend expects "LoadAudio" to work
|
||||||
display_name="Load Audio _V3", # frontend ignores "display_name" for this node
|
display_name="Load Audio _V3", # frontend ignores "display_name" for this node
|
||||||
category="audio",
|
category="audio",
|
||||||
@ -105,7 +105,7 @@ class LoadAudio(io.ComfyNodeV3):
|
|||||||
class PreviewAudio(io.ComfyNodeV3):
|
class PreviewAudio(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PreviewAudio_V3", # frontend expects "PreviewAudio" to work
|
node_id="PreviewAudio_V3", # frontend expects "PreviewAudio" to work
|
||||||
display_name="Preview Audio _V3", # frontend ignores "display_name" for this node
|
display_name="Preview Audio _V3", # frontend ignores "display_name" for this node
|
||||||
category="audio",
|
category="audio",
|
||||||
@ -124,7 +124,7 @@ class PreviewAudio(io.ComfyNodeV3):
|
|||||||
class SaveAudioMP3(io.ComfyNodeV3):
|
class SaveAudioMP3(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SaveAudioMP3_V3", # frontend expects "SaveAudioMP3" to work
|
node_id="SaveAudioMP3_V3", # frontend expects "SaveAudioMP3" to work
|
||||||
display_name="Save Audio(MP3) _V3", # frontend ignores "display_name" for this node
|
display_name="Save Audio(MP3) _V3", # frontend ignores "display_name" for this node
|
||||||
category="audio",
|
category="audio",
|
||||||
@ -149,7 +149,7 @@ class SaveAudioMP3(io.ComfyNodeV3):
|
|||||||
class SaveAudioOpus(io.ComfyNodeV3):
|
class SaveAudioOpus(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SaveAudioOpus_V3", # frontend expects "SaveAudioOpus" to work
|
node_id="SaveAudioOpus_V3", # frontend expects "SaveAudioOpus" to work
|
||||||
display_name="Save Audio(Opus) _V3", # frontend ignores "display_name" for this node
|
display_name="Save Audio(Opus) _V3", # frontend ignores "display_name" for this node
|
||||||
category="audio",
|
category="audio",
|
||||||
@ -174,7 +174,7 @@ class SaveAudioOpus(io.ComfyNodeV3):
|
|||||||
class SaveAudio(io.ComfyNodeV3):
|
class SaveAudio(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SaveAudio_V3", # frontend expects "SaveAudio" to work
|
node_id="SaveAudio_V3", # frontend expects "SaveAudio" to work
|
||||||
display_name="Save Audio _V3", # frontend ignores "display_name" for this node
|
display_name="Save Audio _V3", # frontend ignores "display_name" for this node
|
||||||
category="audio",
|
category="audio",
|
||||||
@ -196,7 +196,7 @@ class SaveAudio(io.ComfyNodeV3):
|
|||||||
class VAEDecodeAudio(io.ComfyNodeV3):
|
class VAEDecodeAudio(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="VAEDecodeAudio_V3",
|
node_id="VAEDecodeAudio_V3",
|
||||||
category="latent/audio",
|
category="latent/audio",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -218,7 +218,7 @@ class VAEDecodeAudio(io.ComfyNodeV3):
|
|||||||
class VAEEncodeAudio(io.ComfyNodeV3):
|
class VAEEncodeAudio(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="VAEEncodeAudio_V3",
|
node_id="VAEEncodeAudio_V3",
|
||||||
category="latent/audio",
|
category="latent/audio",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -138,7 +138,7 @@ def get_camera_motion(angle, T, speed, n=81):
|
|||||||
class WanCameraEmbedding(io.ComfyNodeV3):
|
class WanCameraEmbedding(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="WanCameraEmbedding_V3",
|
node_id="WanCameraEmbedding_V3",
|
||||||
category="camera",
|
category="camera",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -9,7 +9,7 @@ from comfy_api.v3 import io
|
|||||||
class Canny(io.ComfyNodeV3):
|
class Canny(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="Canny_V3",
|
node_id="Canny_V3",
|
||||||
category="image/preprocessors",
|
category="image/preprocessors",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -23,8 +23,8 @@ def optimized_scale(positive, negative):
|
|||||||
|
|
||||||
class CFGNorm(io.ComfyNodeV3):
|
class CFGNorm(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CFGNorm_V3",
|
node_id="CFGNorm_V3",
|
||||||
category="advanced/guidance",
|
category="advanced/guidance",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -54,8 +54,8 @@ class CFGNorm(io.ComfyNodeV3):
|
|||||||
|
|
||||||
class CFGZeroStar(io.ComfyNodeV3):
|
class CFGZeroStar(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CFGZeroStar_V3",
|
node_id="CFGZeroStar_V3",
|
||||||
category="advanced/guidance",
|
category="advanced/guidance",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -7,7 +7,7 @@ from comfy_api.v3 import io
|
|||||||
class CLIPTextEncodeSDXL(io.ComfyNodeV3):
|
class CLIPTextEncodeSDXL(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CLIPTextEncodeSDXL_V3",
|
node_id="CLIPTextEncodeSDXL_V3",
|
||||||
category="advanced/conditioning",
|
category="advanced/conditioning",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -51,7 +51,7 @@ class CLIPTextEncodeSDXL(io.ComfyNodeV3):
|
|||||||
class CLIPTextEncodeSDXLRefiner(io.ComfyNodeV3):
|
class CLIPTextEncodeSDXLRefiner(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CLIPTextEncodeSDXLRefiner_V3",
|
node_id="CLIPTextEncodeSDXLRefiner_V3",
|
||||||
category="advanced/conditioning",
|
category="advanced/conditioning",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -115,7 +115,7 @@ def porter_duff_composite(
|
|||||||
class JoinImageWithAlpha(io.ComfyNodeV3):
|
class JoinImageWithAlpha(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="JoinImageWithAlpha_V3",
|
node_id="JoinImageWithAlpha_V3",
|
||||||
display_name="Join Image with Alpha _V3",
|
display_name="Join Image with Alpha _V3",
|
||||||
category="mask/compositing",
|
category="mask/compositing",
|
||||||
@ -141,7 +141,7 @@ class JoinImageWithAlpha(io.ComfyNodeV3):
|
|||||||
class PorterDuffImageComposite(io.ComfyNodeV3):
|
class PorterDuffImageComposite(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PorterDuffImageComposite_V3",
|
node_id="PorterDuffImageComposite_V3",
|
||||||
display_name="Porter-Duff Image Composite _V3",
|
display_name="Porter-Duff Image Composite _V3",
|
||||||
category="mask/compositing",
|
category="mask/compositing",
|
||||||
@ -202,7 +202,7 @@ class PorterDuffImageComposite(io.ComfyNodeV3):
|
|||||||
class SplitImageWithAlpha(io.ComfyNodeV3):
|
class SplitImageWithAlpha(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SplitImageWithAlpha_V3",
|
node_id="SplitImageWithAlpha_V3",
|
||||||
display_name="Split Image with Alpha _V3",
|
display_name="Split Image with Alpha _V3",
|
||||||
category="mask/compositing",
|
category="mask/compositing",
|
||||||
|
@ -5,8 +5,8 @@ from comfy_api.v3 import io
|
|||||||
|
|
||||||
class CLIPTextEncodeControlnet(io.ComfyNodeV3):
|
class CLIPTextEncodeControlnet(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CLIPTextEncodeControlnet_V3",
|
node_id="CLIPTextEncodeControlnet_V3",
|
||||||
category="_for_testing/conditioning",
|
category="_for_testing/conditioning",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -32,8 +32,8 @@ class CLIPTextEncodeControlnet(io.ComfyNodeV3):
|
|||||||
|
|
||||||
class T5TokenizerOptions(io.ComfyNodeV3):
|
class T5TokenizerOptions(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="T5TokenizerOptions_V3",
|
node_id="T5TokenizerOptions_V3",
|
||||||
category="_for_testing/conditioning",
|
category="_for_testing/conditioning",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -6,7 +6,7 @@ from comfy_api.v3 import io
|
|||||||
class ControlNetApplyAdvanced(io.ComfyNodeV3):
|
class ControlNetApplyAdvanced(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ControlNetApplyAdvanced_V3",
|
node_id="ControlNetApplyAdvanced_V3",
|
||||||
display_name="Apply ControlNet _V3",
|
display_name="Apply ControlNet _V3",
|
||||||
category="conditioning/controlnet",
|
category="conditioning/controlnet",
|
||||||
@ -63,7 +63,7 @@ class ControlNetApplyAdvanced(io.ComfyNodeV3):
|
|||||||
class SetUnionControlNetType(io.ComfyNodeV3):
|
class SetUnionControlNetType(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SetUnionControlNetType_V3",
|
node_id="SetUnionControlNetType_V3",
|
||||||
category="conditioning/controlnet",
|
category="conditioning/controlnet",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -90,7 +90,7 @@ class SetUnionControlNetType(io.ComfyNodeV3):
|
|||||||
class ControlNetInpaintingAliMamaApply(ControlNetApplyAdvanced):
|
class ControlNetInpaintingAliMamaApply(ControlNetApplyAdvanced):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ControlNetInpaintingAliMamaApply_V3",
|
node_id="ControlNetInpaintingAliMamaApply_V3",
|
||||||
category="conditioning/controlnet",
|
category="conditioning/controlnet",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -22,8 +22,8 @@ def vae_encode_with_padding(vae, image, width, height, length, padding=0):
|
|||||||
|
|
||||||
class CosmosImageToVideoLatent(io.ComfyNodeV3):
|
class CosmosImageToVideoLatent(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CosmosImageToVideoLatent_V3",
|
node_id="CosmosImageToVideoLatent_V3",
|
||||||
category="conditioning/inpaint",
|
category="conditioning/inpaint",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -69,8 +69,8 @@ class CosmosImageToVideoLatent(io.ComfyNodeV3):
|
|||||||
|
|
||||||
class CosmosPredict2ImageToVideoLatent(io.ComfyNodeV3):
|
class CosmosPredict2ImageToVideoLatent(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CosmosPredict2ImageToVideoLatent_V3",
|
node_id="CosmosPredict2ImageToVideoLatent_V3",
|
||||||
category="conditioning/inpaint",
|
category="conditioning/inpaint",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -118,8 +118,8 @@ class CosmosPredict2ImageToVideoLatent(io.ComfyNodeV3):
|
|||||||
|
|
||||||
class EmptyCosmosLatentVideo(io.ComfyNodeV3):
|
class EmptyCosmosLatentVideo(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls) -> io.SchemaV3:
|
def define_schema(cls) -> io.Schema:
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="EmptyCosmosLatentVideo_V3",
|
node_id="EmptyCosmosLatentVideo_V3",
|
||||||
category="latent/video",
|
category="latent/video",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -8,7 +8,7 @@ from comfy_api.v3 import io
|
|||||||
class DifferentialDiffusion(io.ComfyNodeV3):
|
class DifferentialDiffusion(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="DifferentialDiffusion_V3",
|
node_id="DifferentialDiffusion_V3",
|
||||||
display_name="Differential Diffusion _V3",
|
display_name="Differential Diffusion _V3",
|
||||||
category="_for_testing",
|
category="_for_testing",
|
||||||
|
@ -7,7 +7,7 @@ from comfy_api.v3 import io
|
|||||||
class ReferenceLatent(io.ComfyNodeV3):
|
class ReferenceLatent(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ReferenceLatent_V3",
|
node_id="ReferenceLatent_V3",
|
||||||
category="advanced/conditioning/edit_models",
|
category="advanced/conditioning/edit_models",
|
||||||
description="This node sets the guiding latent for an edit model. If the model supports it you can chain multiple to set multiple reference images.",
|
description="This node sets the guiding latent for an edit model. If the model supports it you can chain multiple to set multiple reference images.",
|
||||||
|
@ -28,7 +28,7 @@ PREFERED_KONTEXT_RESOLUTIONS = [
|
|||||||
class CLIPTextEncodeFlux(io.ComfyNodeV3):
|
class CLIPTextEncodeFlux(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CLIPTextEncodeFlux_V3",
|
node_id="CLIPTextEncodeFlux_V3",
|
||||||
category="advanced/conditioning/flux",
|
category="advanced/conditioning/flux",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -53,7 +53,7 @@ class CLIPTextEncodeFlux(io.ComfyNodeV3):
|
|||||||
class FluxDisableGuidance(io.ComfyNodeV3):
|
class FluxDisableGuidance(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="FluxDisableGuidance_V3",
|
node_id="FluxDisableGuidance_V3",
|
||||||
category="advanced/conditioning/flux",
|
category="advanced/conditioning/flux",
|
||||||
description="This node completely disables the guidance embed on Flux and Flux like models",
|
description="This node completely disables the guidance embed on Flux and Flux like models",
|
||||||
@ -74,7 +74,7 @@ class FluxDisableGuidance(io.ComfyNodeV3):
|
|||||||
class FluxGuidance(io.ComfyNodeV3):
|
class FluxGuidance(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="FluxGuidance_V3",
|
node_id="FluxGuidance_V3",
|
||||||
category="advanced/conditioning/flux",
|
category="advanced/conditioning/flux",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -95,7 +95,7 @@ class FluxGuidance(io.ComfyNodeV3):
|
|||||||
class FluxKontextImageScale(io.ComfyNodeV3):
|
class FluxKontextImageScale(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="FluxKontextImageScale_V3",
|
node_id="FluxKontextImageScale_V3",
|
||||||
category="advanced/conditioning/flux",
|
category="advanced/conditioning/flux",
|
||||||
description="This node resizes the image to one that is more optimal for flux kontext.",
|
description="This node resizes the image to one that is more optimal for flux kontext.",
|
||||||
|
@ -31,7 +31,7 @@ def Fourier_filter(x, threshold, scale):
|
|||||||
class FreeU(io.ComfyNodeV3):
|
class FreeU(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="FreeU_V3",
|
node_id="FreeU_V3",
|
||||||
category="model_patches/unet",
|
category="model_patches/unet",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -76,7 +76,7 @@ class FreeU(io.ComfyNodeV3):
|
|||||||
class FreeU_V2(io.ComfyNodeV3):
|
class FreeU_V2(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="FreeU_V2_V3",
|
node_id="FreeU_V2_V3",
|
||||||
category="model_patches/unet",
|
category="model_patches/unet",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -59,7 +59,7 @@ def Fourier_filter(x, scale_low=1.0, scale_high=1.5, freq_cutoff=20):
|
|||||||
class FreSca(io.ComfyNodeV3):
|
class FreSca(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="FreSca_V3",
|
node_id="FreSca_V3",
|
||||||
display_name="FreSca _V3",
|
display_name="FreSca _V3",
|
||||||
category="_for_testing",
|
category="_for_testing",
|
||||||
|
@ -339,7 +339,7 @@ NOISE_LEVELS = {
|
|||||||
class GITSScheduler(io.ComfyNodeV3):
|
class GITSScheduler(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="GITSScheduler_V3",
|
node_id="GITSScheduler_V3",
|
||||||
category="sampling/custom_sampling/schedulers",
|
category="sampling/custom_sampling/schedulers",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -9,7 +9,7 @@ from comfy_api.v3 import io
|
|||||||
class CLIPTextEncodeHiDream(io.ComfyNodeV3):
|
class CLIPTextEncodeHiDream(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CLIPTextEncodeHiDream_V3",
|
node_id="CLIPTextEncodeHiDream_V3",
|
||||||
category="advanced/conditioning",
|
category="advanced/conditioning",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -36,7 +36,7 @@ class CLIPTextEncodeHiDream(io.ComfyNodeV3):
|
|||||||
class QuadrupleCLIPLoader(io.ComfyNodeV3):
|
class QuadrupleCLIPLoader(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="QuadrupleCLIPLoader_V3",
|
node_id="QuadrupleCLIPLoader_V3",
|
||||||
category="advanced/loaders",
|
category="advanced/loaders",
|
||||||
description="[Recipes]\n\nhidream: long clip-l, long clip-g, t5xxl, llama_8b_3.1_instruct",
|
description="[Recipes]\n\nhidream: long clip-l, long clip-g, t5xxl, llama_8b_3.1_instruct",
|
||||||
|
@ -16,7 +16,7 @@ from server import PromptServer
|
|||||||
class GetImageSize(io.ComfyNodeV3):
|
class GetImageSize(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="GetImageSize_V3",
|
node_id="GetImageSize_V3",
|
||||||
display_name="Get Image Size _V3",
|
display_name="Get Image Size _V3",
|
||||||
description="Returns width and height of the image, and passes it through unchanged.",
|
description="Returns width and height of the image, and passes it through unchanged.",
|
||||||
@ -49,7 +49,7 @@ class GetImageSize(io.ComfyNodeV3):
|
|||||||
class ImageAddNoise(io.ComfyNodeV3):
|
class ImageAddNoise(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageAddNoise_V3",
|
node_id="ImageAddNoise_V3",
|
||||||
display_name="Image Add Noise _V3",
|
display_name="Image Add Noise _V3",
|
||||||
category="image",
|
category="image",
|
||||||
@ -82,7 +82,7 @@ class ImageAddNoise(io.ComfyNodeV3):
|
|||||||
class ImageCrop(io.ComfyNodeV3):
|
class ImageCrop(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageCrop_V3",
|
node_id="ImageCrop_V3",
|
||||||
display_name="Image Crop _V3",
|
display_name="Image Crop _V3",
|
||||||
category="image/transform",
|
category="image/transform",
|
||||||
@ -108,7 +108,7 @@ class ImageCrop(io.ComfyNodeV3):
|
|||||||
class ImageFlip(io.ComfyNodeV3):
|
class ImageFlip(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageFlip_V3",
|
node_id="ImageFlip_V3",
|
||||||
display_name="Image Flip _V3",
|
display_name="Image Flip _V3",
|
||||||
category="image/transform",
|
category="image/transform",
|
||||||
@ -132,7 +132,7 @@ class ImageFlip(io.ComfyNodeV3):
|
|||||||
class ImageFromBatch(io.ComfyNodeV3):
|
class ImageFromBatch(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageFromBatch_V3",
|
node_id="ImageFromBatch_V3",
|
||||||
display_name="Image From Batch _V3",
|
display_name="Image From Batch _V3",
|
||||||
category="image/batch",
|
category="image/batch",
|
||||||
@ -156,7 +156,7 @@ class ImageFromBatch(io.ComfyNodeV3):
|
|||||||
class ImageRotate(io.ComfyNodeV3):
|
class ImageRotate(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageRotate_V3",
|
node_id="ImageRotate_V3",
|
||||||
display_name="Image Rotate _V3",
|
display_name="Image Rotate _V3",
|
||||||
category="image/transform",
|
category="image/transform",
|
||||||
@ -185,7 +185,7 @@ class ImageStitch(io.ComfyNodeV3):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageStitch_V3",
|
node_id="ImageStitch_V3",
|
||||||
display_name="Image Stitch _V3",
|
display_name="Image Stitch _V3",
|
||||||
description="Stitches image2 to image1 in the specified direction. "
|
description="Stitches image2 to image1 in the specified direction. "
|
||||||
@ -353,7 +353,7 @@ class ImageStitch(io.ComfyNodeV3):
|
|||||||
class LoadImage(io.ComfyNodeV3):
|
class LoadImage(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LoadImage_V3",
|
node_id="LoadImage_V3",
|
||||||
display_name="Load Image _V3",
|
display_name="Load Image _V3",
|
||||||
category="image",
|
category="image",
|
||||||
@ -441,7 +441,7 @@ class LoadImage(io.ComfyNodeV3):
|
|||||||
class LoadImageOutput(io.ComfyNodeV3):
|
class LoadImageOutput(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LoadImageOutput_V3",
|
node_id="LoadImageOutput_V3",
|
||||||
display_name="Load Image (from Outputs) _V3",
|
display_name="Load Image (from Outputs) _V3",
|
||||||
description="Load an image from the output folder. "
|
description="Load an image from the output folder. "
|
||||||
@ -530,7 +530,7 @@ class LoadImageOutput(io.ComfyNodeV3):
|
|||||||
class PreviewImage(io.ComfyNodeV3):
|
class PreviewImage(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PreviewImage_V3",
|
node_id="PreviewImage_V3",
|
||||||
display_name="Preview Image _V3",
|
display_name="Preview Image _V3",
|
||||||
description="Preview the input images.",
|
description="Preview the input images.",
|
||||||
@ -550,7 +550,7 @@ class PreviewImage(io.ComfyNodeV3):
|
|||||||
class RepeatImageBatch(io.ComfyNodeV3):
|
class RepeatImageBatch(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="RepeatImageBatch_V3",
|
node_id="RepeatImageBatch_V3",
|
||||||
display_name="Repeat Image Batch _V3",
|
display_name="Repeat Image Batch _V3",
|
||||||
category="image/batch",
|
category="image/batch",
|
||||||
@ -569,7 +569,7 @@ class RepeatImageBatch(io.ComfyNodeV3):
|
|||||||
class ResizeAndPadImage(io.ComfyNodeV3):
|
class ResizeAndPadImage(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ResizeAndPadImage_V3",
|
node_id="ResizeAndPadImage_V3",
|
||||||
display_name="Resize and Pad Image _V3",
|
display_name="Resize and Pad Image _V3",
|
||||||
category="image/transform",
|
category="image/transform",
|
||||||
@ -614,7 +614,7 @@ class ResizeAndPadImage(io.ComfyNodeV3):
|
|||||||
class SaveAnimatedPNG(io.ComfyNodeV3):
|
class SaveAnimatedPNG(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SaveAnimatedPNG_V3",
|
node_id="SaveAnimatedPNG_V3",
|
||||||
display_name="Save Animated PNG _V3",
|
display_name="Save Animated PNG _V3",
|
||||||
category="image/animation",
|
category="image/animation",
|
||||||
@ -646,7 +646,7 @@ class SaveAnimatedWEBP(io.ComfyNodeV3):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SaveAnimatedWEBP_V3",
|
node_id="SaveAnimatedWEBP_V3",
|
||||||
display_name="Save Animated WEBP _V3",
|
display_name="Save Animated WEBP _V3",
|
||||||
category="image/animation",
|
category="image/animation",
|
||||||
@ -680,7 +680,7 @@ class SaveAnimatedWEBP(io.ComfyNodeV3):
|
|||||||
class SaveImage(io.ComfyNodeV3):
|
class SaveImage(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SaveImage_V3",
|
node_id="SaveImage_V3",
|
||||||
display_name="Save Image _V3",
|
display_name="Save Image _V3",
|
||||||
description="Saves the input images to your ComfyUI output directory.",
|
description="Saves the input images to your ComfyUI output directory.",
|
||||||
|
@ -20,7 +20,7 @@ def reshape_latent_to(target_shape, latent, repeat_batch=True):
|
|||||||
class LatentAdd(io.ComfyNodeV3):
|
class LatentAdd(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LatentAdd_V3",
|
node_id="LatentAdd_V3",
|
||||||
category="latent/advanced",
|
category="latent/advanced",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -47,7 +47,7 @@ class LatentAdd(io.ComfyNodeV3):
|
|||||||
class LatentApplyOperation(io.ComfyNodeV3):
|
class LatentApplyOperation(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LatentApplyOperation_V3",
|
node_id="LatentApplyOperation_V3",
|
||||||
category="latent/advanced/operations",
|
category="latent/advanced/operations",
|
||||||
is_experimental=True,
|
is_experimental=True,
|
||||||
@ -72,7 +72,7 @@ class LatentApplyOperation(io.ComfyNodeV3):
|
|||||||
class LatentApplyOperationCFG(io.ComfyNodeV3):
|
class LatentApplyOperationCFG(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LatentApplyOperationCFG_V3",
|
node_id="LatentApplyOperationCFG_V3",
|
||||||
category="latent/advanced/operations",
|
category="latent/advanced/operations",
|
||||||
is_experimental=True,
|
is_experimental=True,
|
||||||
@ -104,7 +104,7 @@ class LatentApplyOperationCFG(io.ComfyNodeV3):
|
|||||||
class LatentBatch(io.ComfyNodeV3):
|
class LatentBatch(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LatentBatch_V3",
|
node_id="LatentBatch_V3",
|
||||||
category="latent/batch",
|
category="latent/batch",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -133,7 +133,7 @@ class LatentBatch(io.ComfyNodeV3):
|
|||||||
class LatentBatchSeedBehavior(io.ComfyNodeV3):
|
class LatentBatchSeedBehavior(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LatentBatchSeedBehavior_V3",
|
node_id="LatentBatchSeedBehavior_V3",
|
||||||
category="latent/advanced",
|
category="latent/advanced",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -162,7 +162,7 @@ class LatentBatchSeedBehavior(io.ComfyNodeV3):
|
|||||||
class LatentInterpolate(io.ComfyNodeV3):
|
class LatentInterpolate(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LatentInterpolate_V3",
|
node_id="LatentInterpolate_V3",
|
||||||
category="latent/advanced",
|
category="latent/advanced",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -201,7 +201,7 @@ class LatentInterpolate(io.ComfyNodeV3):
|
|||||||
class LatentMultiply(io.ComfyNodeV3):
|
class LatentMultiply(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LatentMultiply_V3",
|
node_id="LatentMultiply_V3",
|
||||||
category="latent/advanced",
|
category="latent/advanced",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -225,7 +225,7 @@ class LatentMultiply(io.ComfyNodeV3):
|
|||||||
class LatentOperationSharpen(io.ComfyNodeV3):
|
class LatentOperationSharpen(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LatentOperationSharpen_V3",
|
node_id="LatentOperationSharpen_V3",
|
||||||
category="latent/advanced/operations",
|
category="latent/advanced/operations",
|
||||||
is_experimental=True,
|
is_experimental=True,
|
||||||
@ -267,7 +267,7 @@ class LatentOperationSharpen(io.ComfyNodeV3):
|
|||||||
class LatentOperationTonemapReinhard(io.ComfyNodeV3):
|
class LatentOperationTonemapReinhard(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LatentOperationTonemapReinhard_V3",
|
node_id="LatentOperationTonemapReinhard_V3",
|
||||||
category="latent/advanced/operations",
|
category="latent/advanced/operations",
|
||||||
is_experimental=True,
|
is_experimental=True,
|
||||||
@ -302,7 +302,7 @@ class LatentOperationTonemapReinhard(io.ComfyNodeV3):
|
|||||||
class LatentSubtract(io.ComfyNodeV3):
|
class LatentSubtract(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LatentSubtract_V3",
|
node_id="LatentSubtract_V3",
|
||||||
category="latent/advanced",
|
category="latent/advanced",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -89,7 +89,7 @@ def preprocess(image: torch.Tensor, crf=29):
|
|||||||
class EmptyLTXVLatentVideo(io.ComfyNodeV3):
|
class EmptyLTXVLatentVideo(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="EmptyLTXVLatentVideo_V3",
|
node_id="EmptyLTXVLatentVideo_V3",
|
||||||
category="latent/video/ltxv",
|
category="latent/video/ltxv",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -118,7 +118,7 @@ class LTXVAddGuide(io.ComfyNodeV3):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LTXVAddGuide_V3",
|
node_id="LTXVAddGuide_V3",
|
||||||
category="conditioning/video_models",
|
category="conditioning/video_models",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -278,7 +278,7 @@ class LTXVAddGuide(io.ComfyNodeV3):
|
|||||||
class LTXVConditioning(io.ComfyNodeV3):
|
class LTXVConditioning(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LTXVConditioning_V3",
|
node_id="LTXVConditioning_V3",
|
||||||
category="conditioning/video_models",
|
category="conditioning/video_models",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -302,7 +302,7 @@ class LTXVConditioning(io.ComfyNodeV3):
|
|||||||
class LTXVCropGuides(io.ComfyNodeV3):
|
class LTXVCropGuides(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LTXVCropGuides_V3",
|
node_id="LTXVCropGuides_V3",
|
||||||
category="conditioning/video_models",
|
category="conditioning/video_models",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -338,7 +338,7 @@ class LTXVCropGuides(io.ComfyNodeV3):
|
|||||||
class LTXVImgToVideo(io.ComfyNodeV3):
|
class LTXVImgToVideo(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LTXVImgToVideo_V3",
|
node_id="LTXVImgToVideo_V3",
|
||||||
category="conditioning/video_models",
|
category="conditioning/video_models",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -386,7 +386,7 @@ class LTXVImgToVideo(io.ComfyNodeV3):
|
|||||||
class LTXVPreprocess(io.ComfyNodeV3):
|
class LTXVPreprocess(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LTXVPreprocess_V3",
|
node_id="LTXVPreprocess_V3",
|
||||||
category="image",
|
category="image",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -411,7 +411,7 @@ class LTXVPreprocess(io.ComfyNodeV3):
|
|||||||
class LTXVScheduler(io.ComfyNodeV3):
|
class LTXVScheduler(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LTXVScheduler_V3",
|
node_id="LTXVScheduler_V3",
|
||||||
category="sampling/custom_sampling/schedulers",
|
category="sampling/custom_sampling/schedulers",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -474,7 +474,7 @@ class LTXVScheduler(io.ComfyNodeV3):
|
|||||||
class ModelSamplingLTXV(io.ComfyNodeV3):
|
class ModelSamplingLTXV(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ModelSamplingLTXV_V3",
|
node_id="ModelSamplingLTXV_V3",
|
||||||
category="advanced/model",
|
category="advanced/model",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -60,7 +60,7 @@ def composite(destination, source, x, y, mask=None, multiplier=8, resize_source=
|
|||||||
class CropMask(io.ComfyNodeV3):
|
class CropMask(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CropMask_V3",
|
node_id="CropMask_V3",
|
||||||
display_name="Crop Mask _V3",
|
display_name="Crop Mask _V3",
|
||||||
category="mask",
|
category="mask",
|
||||||
@ -83,7 +83,7 @@ class CropMask(io.ComfyNodeV3):
|
|||||||
class FeatherMask(io.ComfyNodeV3):
|
class FeatherMask(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="FeatherMask_V3",
|
node_id="FeatherMask_V3",
|
||||||
display_name="Feather Mask _V3",
|
display_name="Feather Mask _V3",
|
||||||
category="mask",
|
category="mask",
|
||||||
@ -128,7 +128,7 @@ class FeatherMask(io.ComfyNodeV3):
|
|||||||
class GrowMask(io.ComfyNodeV3):
|
class GrowMask(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="GrowMask_V3",
|
node_id="GrowMask_V3",
|
||||||
display_name="Grow Mask _V3",
|
display_name="Grow Mask _V3",
|
||||||
category="mask",
|
category="mask",
|
||||||
@ -161,7 +161,7 @@ class GrowMask(io.ComfyNodeV3):
|
|||||||
class ImageColorToMask(io.ComfyNodeV3):
|
class ImageColorToMask(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageColorToMask_V3",
|
node_id="ImageColorToMask_V3",
|
||||||
display_name="Image Color to Mask _V3",
|
display_name="Image Color to Mask _V3",
|
||||||
category="mask",
|
category="mask",
|
||||||
@ -186,7 +186,7 @@ class ImageColorToMask(io.ComfyNodeV3):
|
|||||||
class ImageCompositeMasked(io.ComfyNodeV3):
|
class ImageCompositeMasked(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageCompositeMasked_V3",
|
node_id="ImageCompositeMasked_V3",
|
||||||
display_name="Image Composite Masked _V3",
|
display_name="Image Composite Masked _V3",
|
||||||
category="image",
|
category="image",
|
||||||
@ -214,7 +214,7 @@ class ImageToMask(io.ComfyNodeV3):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageToMask_V3",
|
node_id="ImageToMask_V3",
|
||||||
display_name="Convert Image to Mask _V3",
|
display_name="Convert Image to Mask _V3",
|
||||||
category="mask",
|
category="mask",
|
||||||
@ -233,7 +233,7 @@ class ImageToMask(io.ComfyNodeV3):
|
|||||||
class InvertMask(io.ComfyNodeV3):
|
class InvertMask(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="InvertMask_V3",
|
node_id="InvertMask_V3",
|
||||||
display_name="Invert Mask _V3",
|
display_name="Invert Mask _V3",
|
||||||
category="mask",
|
category="mask",
|
||||||
@ -251,7 +251,7 @@ class InvertMask(io.ComfyNodeV3):
|
|||||||
class LatentCompositeMasked(io.ComfyNodeV3):
|
class LatentCompositeMasked(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LatentCompositeMasked_V3",
|
node_id="LatentCompositeMasked_V3",
|
||||||
display_name="Latent Composite Masked _V3",
|
display_name="Latent Composite Masked _V3",
|
||||||
category="latent",
|
category="latent",
|
||||||
@ -278,7 +278,7 @@ class LatentCompositeMasked(io.ComfyNodeV3):
|
|||||||
class MaskComposite(io.ComfyNodeV3):
|
class MaskComposite(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="MaskComposite_V3",
|
node_id="MaskComposite_V3",
|
||||||
display_name="Mask Composite _V3",
|
display_name="Mask Composite _V3",
|
||||||
category="mask",
|
category="mask",
|
||||||
@ -344,7 +344,7 @@ class MaskPreview(io.ComfyNodeV3):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="MaskPreview_V3",
|
node_id="MaskPreview_V3",
|
||||||
display_name="Preview Mask _V3",
|
display_name="Preview Mask _V3",
|
||||||
category="mask",
|
category="mask",
|
||||||
@ -363,7 +363,7 @@ class MaskPreview(io.ComfyNodeV3):
|
|||||||
class MaskToImage(io.ComfyNodeV3):
|
class MaskToImage(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="MaskToImage_V3",
|
node_id="MaskToImage_V3",
|
||||||
display_name="Convert Mask to Image _V3",
|
display_name="Convert Mask to Image _V3",
|
||||||
category="mask",
|
category="mask",
|
||||||
@ -381,7 +381,7 @@ class MaskToImage(io.ComfyNodeV3):
|
|||||||
class SolidMask(io.ComfyNodeV3):
|
class SolidMask(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SolidMask_V3",
|
node_id="SolidMask_V3",
|
||||||
display_name="Solid Mask _V3",
|
display_name="Solid Mask _V3",
|
||||||
category="mask",
|
category="mask",
|
||||||
@ -401,7 +401,7 @@ class SolidMask(io.ComfyNodeV3):
|
|||||||
class ThresholdMask(io.ComfyNodeV3):
|
class ThresholdMask(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ThresholdMask_V3",
|
node_id="ThresholdMask_V3",
|
||||||
display_name="Threshold Mask _V3",
|
display_name="Threshold Mask _V3",
|
||||||
category="mask",
|
category="mask",
|
||||||
|
@ -10,7 +10,7 @@ from comfy_api.v3 import io
|
|||||||
class EmptyMochiLatentVideo(io.ComfyNodeV3):
|
class EmptyMochiLatentVideo(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="EmptyMochiLatentVideo_V3",
|
node_id="EmptyMochiLatentVideo_V3",
|
||||||
category="latent/video",
|
category="latent/video",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -60,7 +60,7 @@ class ModelSamplingDiscreteDistilled(comfy.model_sampling.ModelSamplingDiscrete)
|
|||||||
class ModelComputeDtype(io.ComfyNodeV3):
|
class ModelComputeDtype(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ModelComputeDtype_V3",
|
node_id="ModelComputeDtype_V3",
|
||||||
category="advanced/debug/model",
|
category="advanced/debug/model",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -82,7 +82,7 @@ class ModelComputeDtype(io.ComfyNodeV3):
|
|||||||
class ModelSamplingContinuousEDM(io.ComfyNodeV3):
|
class ModelSamplingContinuousEDM(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ModelSamplingContinuousEDM_V3",
|
node_id="ModelSamplingContinuousEDM_V3",
|
||||||
category="advanced/model",
|
category="advanced/model",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -134,7 +134,7 @@ class ModelSamplingContinuousEDM(io.ComfyNodeV3):
|
|||||||
class ModelSamplingContinuousV(io.ComfyNodeV3):
|
class ModelSamplingContinuousV(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ModelSamplingContinuousV_V3",
|
node_id="ModelSamplingContinuousV_V3",
|
||||||
category="advanced/model",
|
category="advanced/model",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -168,7 +168,7 @@ class ModelSamplingContinuousV(io.ComfyNodeV3):
|
|||||||
class ModelSamplingDiscrete(io.ComfyNodeV3):
|
class ModelSamplingDiscrete(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ModelSamplingDiscrete_V3",
|
node_id="ModelSamplingDiscrete_V3",
|
||||||
category="advanced/model",
|
category="advanced/model",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -210,7 +210,7 @@ class ModelSamplingDiscrete(io.ComfyNodeV3):
|
|||||||
class ModelSamplingFlux(io.ComfyNodeV3):
|
class ModelSamplingFlux(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ModelSamplingFlux_V3",
|
node_id="ModelSamplingFlux_V3",
|
||||||
category="advanced/model",
|
category="advanced/model",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -250,7 +250,7 @@ class ModelSamplingFlux(io.ComfyNodeV3):
|
|||||||
class ModelSamplingSD3(io.ComfyNodeV3):
|
class ModelSamplingSD3(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ModelSamplingSD3_V3",
|
node_id="ModelSamplingSD3_V3",
|
||||||
category="advanced/model",
|
category="advanced/model",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -281,7 +281,7 @@ class ModelSamplingSD3(io.ComfyNodeV3):
|
|||||||
class ModelSamplingAuraFlow(ModelSamplingSD3):
|
class ModelSamplingAuraFlow(ModelSamplingSD3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ModelSamplingAuraFlow_V3",
|
node_id="ModelSamplingAuraFlow_V3",
|
||||||
category="advanced/model",
|
category="advanced/model",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -301,7 +301,7 @@ class ModelSamplingAuraFlow(ModelSamplingSD3):
|
|||||||
class ModelSamplingStableCascade(io.ComfyNodeV3):
|
class ModelSamplingStableCascade(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ModelSamplingStableCascade_V3",
|
node_id="ModelSamplingStableCascade_V3",
|
||||||
category="advanced/model",
|
category="advanced/model",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -332,7 +332,7 @@ class ModelSamplingStableCascade(io.ComfyNodeV3):
|
|||||||
class RescaleCFG(io.ComfyNodeV3):
|
class RescaleCFG(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="RescaleCFG_V3",
|
node_id="RescaleCFG_V3",
|
||||||
category="advanced/model",
|
category="advanced/model",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -9,7 +9,7 @@ class PatchModelAddDownscale(io.ComfyNodeV3):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PatchModelAddDownscale_V3",
|
node_id="PatchModelAddDownscale_V3",
|
||||||
display_name="PatchModelAddDownscale (Kohya Deep Shrink) _V3",
|
display_name="PatchModelAddDownscale (Kohya Deep Shrink) _V3",
|
||||||
category="model_patches/unet",
|
category="model_patches/unet",
|
||||||
|
@ -19,7 +19,7 @@ from comfy_api.v3 import io
|
|||||||
class ImageRGBToYUV(io.ComfyNodeV3):
|
class ImageRGBToYUV(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageRGBToYUV_V3",
|
node_id="ImageRGBToYUV_V3",
|
||||||
category="image/batch",
|
category="image/batch",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -41,7 +41,7 @@ class ImageRGBToYUV(io.ComfyNodeV3):
|
|||||||
class ImageYUVToRGB(io.ComfyNodeV3):
|
class ImageYUVToRGB(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageYUVToRGB_V3",
|
node_id="ImageYUVToRGB_V3",
|
||||||
category="image/batch",
|
category="image/batch",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -63,7 +63,7 @@ class ImageYUVToRGB(io.ComfyNodeV3):
|
|||||||
class Morphology(io.ComfyNodeV3):
|
class Morphology(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="Morphology_V3",
|
node_id="Morphology_V3",
|
||||||
display_name="ImageMorphology _V3",
|
display_name="ImageMorphology _V3",
|
||||||
category="image/postprocessing",
|
category="image/postprocessing",
|
||||||
|
@ -29,7 +29,7 @@ NOISE_LEVELS = {
|
|||||||
class OptimalStepsScheduler(io.ComfyNodeV3):
|
class OptimalStepsScheduler(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="OptimalStepsScheduler_V3",
|
node_id="OptimalStepsScheduler_V3",
|
||||||
category="sampling/custom_sampling/schedulers",
|
category="sampling/custom_sampling/schedulers",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -13,7 +13,7 @@ from comfy_api.v3 import io
|
|||||||
class PerturbedAttentionGuidance(io.ComfyNodeV3):
|
class PerturbedAttentionGuidance(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PerturbedAttentionGuidance_V3",
|
node_id="PerturbedAttentionGuidance_V3",
|
||||||
category="model_patches/unet",
|
category="model_patches/unet",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -84,7 +84,7 @@ class Guider_PerpNeg(comfy.samplers.CFGGuider):
|
|||||||
class PerpNegGuider(io.ComfyNodeV3):
|
class PerpNegGuider(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PerpNegGuider_V3",
|
node_id="PerpNegGuider_V3",
|
||||||
category="_for_testing",
|
category="_for_testing",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -124,7 +124,7 @@ class PhotoMakerIDEncoder(comfy.clip_model.CLIPVisionModelProjection):
|
|||||||
class PhotoMakerEncode(io.ComfyNodeV3):
|
class PhotoMakerEncode(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PhotoMakerEncode_V3",
|
node_id="PhotoMakerEncode_V3",
|
||||||
category="_for_testing/photomaker",
|
category="_for_testing/photomaker",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -176,7 +176,7 @@ class PhotoMakerEncode(io.ComfyNodeV3):
|
|||||||
class PhotoMakerLoader(io.ComfyNodeV3):
|
class PhotoMakerLoader(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PhotoMakerLoader_V3",
|
node_id="PhotoMakerLoader_V3",
|
||||||
category="_for_testing/photomaker",
|
category="_for_testing/photomaker",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -7,7 +7,7 @@ from comfy_api.v3 import io
|
|||||||
class CLIPTextEncodePixArtAlpha(io.ComfyNodeV3):
|
class CLIPTextEncodePixArtAlpha(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CLIPTextEncodePixArtAlpha_V3",
|
node_id="CLIPTextEncodePixArtAlpha_V3",
|
||||||
category="advanced/conditioning",
|
category="advanced/conditioning",
|
||||||
description="Encodes text and sets the resolution conditioning for PixArt Alpha. Does not apply to PixArt Sigma.",
|
description="Encodes text and sets the resolution conditioning for PixArt Alpha. Does not apply to PixArt Sigma.",
|
||||||
|
@ -23,7 +23,7 @@ def gaussian_kernel(kernel_size: int, sigma: float, device=None):
|
|||||||
class Blend(io.ComfyNodeV3):
|
class Blend(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageBlend_V3",
|
node_id="ImageBlend_V3",
|
||||||
category="image/postprocessing",
|
category="image/postprocessing",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -77,7 +77,7 @@ class Blend(io.ComfyNodeV3):
|
|||||||
class Blur(io.ComfyNodeV3):
|
class Blur(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageBlur_V3",
|
node_id="ImageBlur_V3",
|
||||||
category="image/postprocessing",
|
category="image/postprocessing",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -115,7 +115,7 @@ class ImageScaleToTotalPixels(io.ComfyNodeV3):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageScaleToTotalPixels_V3",
|
node_id="ImageScaleToTotalPixels_V3",
|
||||||
category="image/upscaling",
|
category="image/upscaling",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -144,7 +144,7 @@ class ImageScaleToTotalPixels(io.ComfyNodeV3):
|
|||||||
class Quantize(io.ComfyNodeV3):
|
class Quantize(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageQuantize_V3",
|
node_id="ImageQuantize_V3",
|
||||||
category="image/postprocessing",
|
category="image/postprocessing",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -208,7 +208,7 @@ class Quantize(io.ComfyNodeV3):
|
|||||||
class Sharpen(io.ComfyNodeV3):
|
class Sharpen(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="ImageSharpen_V3",
|
node_id="ImageSharpen_V3",
|
||||||
category="image/postprocessing",
|
category="image/postprocessing",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -12,7 +12,7 @@ class PreviewAny(io.ComfyNodeV3):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PreviewAny_V3", # frontend expects "PreviewAny" to work
|
node_id="PreviewAny_V3", # frontend expects "PreviewAny" to work
|
||||||
display_name="Preview Any _V3", # frontend ignores "display_name" for this node
|
display_name="Preview Any _V3", # frontend ignores "display_name" for this node
|
||||||
description="Preview any type of data by converting it to a readable text format.",
|
description="Preview any type of data by converting it to a readable text format.",
|
||||||
|
@ -8,7 +8,7 @@ from comfy_api.v3 import io
|
|||||||
class String(io.ComfyNodeV3):
|
class String(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PrimitiveString_V3",
|
node_id="PrimitiveString_V3",
|
||||||
display_name="String _V3",
|
display_name="String _V3",
|
||||||
category="utils/primitive",
|
category="utils/primitive",
|
||||||
@ -26,7 +26,7 @@ class String(io.ComfyNodeV3):
|
|||||||
class StringMultiline(io.ComfyNodeV3):
|
class StringMultiline(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PrimitiveStringMultiline_V3",
|
node_id="PrimitiveStringMultiline_V3",
|
||||||
display_name="String (Multiline) _V3",
|
display_name="String (Multiline) _V3",
|
||||||
category="utils/primitive",
|
category="utils/primitive",
|
||||||
@ -44,7 +44,7 @@ class StringMultiline(io.ComfyNodeV3):
|
|||||||
class Int(io.ComfyNodeV3):
|
class Int(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PrimitiveInt_V3",
|
node_id="PrimitiveInt_V3",
|
||||||
display_name="Int _V3",
|
display_name="Int _V3",
|
||||||
category="utils/primitive",
|
category="utils/primitive",
|
||||||
@ -62,7 +62,7 @@ class Int(io.ComfyNodeV3):
|
|||||||
class Float(io.ComfyNodeV3):
|
class Float(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PrimitiveFloat_V3",
|
node_id="PrimitiveFloat_V3",
|
||||||
display_name="Float _V3",
|
display_name="Float _V3",
|
||||||
category="utils/primitive",
|
category="utils/primitive",
|
||||||
@ -80,7 +80,7 @@ class Float(io.ComfyNodeV3):
|
|||||||
class Boolean(io.ComfyNodeV3):
|
class Boolean(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="PrimitiveBoolean_V3",
|
node_id="PrimitiveBoolean_V3",
|
||||||
display_name="Boolean _V3",
|
display_name="Boolean _V3",
|
||||||
category="utils/primitive",
|
category="utils/primitive",
|
||||||
|
@ -8,7 +8,7 @@ from comfy_api.v3 import io
|
|||||||
class ImageRebatch(io.ComfyNodeV3):
|
class ImageRebatch(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="RebatchImages_V3",
|
node_id="RebatchImages_V3",
|
||||||
display_name="Rebatch Images _V3",
|
display_name="Rebatch Images _V3",
|
||||||
category="image/batch",
|
category="image/batch",
|
||||||
@ -41,7 +41,7 @@ class ImageRebatch(io.ComfyNodeV3):
|
|||||||
class LatentRebatch(io.ComfyNodeV3):
|
class LatentRebatch(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="RebatchLatents_V3",
|
node_id="RebatchLatents_V3",
|
||||||
display_name="Rebatch Latents _V3",
|
display_name="Rebatch Latents _V3",
|
||||||
category="latent/batch",
|
category="latent/batch",
|
||||||
|
@ -114,7 +114,7 @@ def gaussian_blur_2d(img, kernel_size, sigma):
|
|||||||
class SelfAttentionGuidance(io.ComfyNodeV3):
|
class SelfAttentionGuidance(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SelfAttentionGuidance_V3",
|
node_id="SelfAttentionGuidance_V3",
|
||||||
display_name="Self-Attention Guidance _V3",
|
display_name="Self-Attention Guidance _V3",
|
||||||
category="_for_testing",
|
category="_for_testing",
|
||||||
|
@ -13,7 +13,7 @@ from comfy_extras.v3.nodes_slg import SkipLayerGuidanceDiT
|
|||||||
class CLIPTextEncodeSD3(io.ComfyNodeV3):
|
class CLIPTextEncodeSD3(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CLIPTextEncodeSD3_V3",
|
node_id="CLIPTextEncodeSD3_V3",
|
||||||
category="advanced/conditioning",
|
category="advanced/conditioning",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -57,7 +57,7 @@ class CLIPTextEncodeSD3(io.ComfyNodeV3):
|
|||||||
class EmptySD3LatentImage(io.ComfyNodeV3):
|
class EmptySD3LatentImage(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="EmptySD3LatentImage_V3",
|
node_id="EmptySD3LatentImage_V3",
|
||||||
category="latent/sd3",
|
category="latent/sd3",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -86,7 +86,7 @@ class SkipLayerGuidanceSD3(SkipLayerGuidanceDiT):
|
|||||||
"""
|
"""
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SkipLayerGuidanceSD3_V3",
|
node_id="SkipLayerGuidanceSD3_V3",
|
||||||
category="advanced/guidance",
|
category="advanced/guidance",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -112,7 +112,7 @@ class SkipLayerGuidanceSD3(SkipLayerGuidanceDiT):
|
|||||||
class TripleCLIPLoader(io.ComfyNodeV3):
|
class TripleCLIPLoader(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="TripleCLIPLoader_V3",
|
node_id="TripleCLIPLoader_V3",
|
||||||
category="advanced/loaders",
|
category="advanced/loaders",
|
||||||
description="[Recipes]\n\nsd3: clip-l, clip-g, t5",
|
description="[Recipes]\n\nsd3: clip-l, clip-g, t5",
|
||||||
|
@ -9,7 +9,7 @@ from comfy_api.v3 import io
|
|||||||
class SD_4XUpscale_Conditioning(io.ComfyNodeV3):
|
class SD_4XUpscale_Conditioning(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SD_4XUpscale_Conditioning_V3",
|
node_id="SD_4XUpscale_Conditioning_V3",
|
||||||
category="conditioning/upscale_diffusion",
|
category="conditioning/upscale_diffusion",
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -16,7 +16,7 @@ class SkipLayerGuidanceDiT(io.ComfyNodeV3):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SkipLayerGuidanceDiT_V3",
|
node_id="SkipLayerGuidanceDiT_V3",
|
||||||
category="advanced/guidance",
|
category="advanced/guidance",
|
||||||
description="Generic version of SkipLayerGuidance node that can be used on every DiT model.",
|
description="Generic version of SkipLayerGuidance node that can be used on every DiT model.",
|
||||||
@ -97,7 +97,7 @@ class SkipLayerGuidanceDiTSimple(io.ComfyNodeV3):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SkipLayerGuidanceDiTSimple_V3",
|
node_id="SkipLayerGuidanceDiTSimple_V3",
|
||||||
category="advanced/guidance",
|
category="advanced/guidance",
|
||||||
description="Simple version of the SkipLayerGuidanceDiT node that only modifies the uncond pass.",
|
description="Simple version of the SkipLayerGuidanceDiT node that only modifies the uncond pass.",
|
||||||
|
@ -26,7 +26,7 @@ from comfy_api.v3 import io
|
|||||||
class StableCascade_EmptyLatentImage(io.ComfyNodeV3):
|
class StableCascade_EmptyLatentImage(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="StableCascade_EmptyLatentImage_V3",
|
node_id="StableCascade_EmptyLatentImage_V3",
|
||||||
category="latent/stable_cascade",
|
category="latent/stable_cascade",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -51,7 +51,7 @@ class StableCascade_EmptyLatentImage(io.ComfyNodeV3):
|
|||||||
class StableCascade_StageC_VAEEncode(io.ComfyNodeV3):
|
class StableCascade_StageC_VAEEncode(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="StableCascade_StageC_VAEEncode_V3",
|
node_id="StableCascade_StageC_VAEEncode_V3",
|
||||||
category="latent/stable_cascade",
|
category="latent/stable_cascade",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -82,7 +82,7 @@ class StableCascade_StageC_VAEEncode(io.ComfyNodeV3):
|
|||||||
class StableCascade_StageB_Conditioning(io.ComfyNodeV3):
|
class StableCascade_StageB_Conditioning(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="StableCascade_StageB_Conditioning_V3",
|
node_id="StableCascade_StageB_Conditioning_V3",
|
||||||
category="conditioning/stable_cascade",
|
category="conditioning/stable_cascade",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -108,7 +108,7 @@ class StableCascade_StageB_Conditioning(io.ComfyNodeV3):
|
|||||||
class StableCascade_SuperResolutionControlnet(io.ComfyNodeV3):
|
class StableCascade_SuperResolutionControlnet(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="StableCascade_SuperResolutionControlnet_V3",
|
node_id="StableCascade_SuperResolutionControlnet_V3",
|
||||||
category="_for_testing/stable_cascade",
|
category="_for_testing/stable_cascade",
|
||||||
is_experimental=True,
|
is_experimental=True,
|
||||||
|
@ -18,7 +18,7 @@ from comfy_api.v3 import io, ui
|
|||||||
class CreateVideo(io.ComfyNodeV3):
|
class CreateVideo(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="CreateVideo_V3",
|
node_id="CreateVideo_V3",
|
||||||
display_name="Create Video _V3",
|
display_name="Create Video _V3",
|
||||||
category="image/video",
|
category="image/video",
|
||||||
@ -47,7 +47,7 @@ class CreateVideo(io.ComfyNodeV3):
|
|||||||
class GetVideoComponents(io.ComfyNodeV3):
|
class GetVideoComponents(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="GetVideoComponents_V3",
|
node_id="GetVideoComponents_V3",
|
||||||
display_name="Get Video Components _V3",
|
display_name="Get Video Components _V3",
|
||||||
category="image/video",
|
category="image/video",
|
||||||
@ -74,7 +74,7 @@ class LoadVideo(io.ComfyNodeV3):
|
|||||||
input_dir = folder_paths.get_input_directory()
|
input_dir = folder_paths.get_input_directory()
|
||||||
files = [f for f in os.listdir(input_dir) if os.path.isfile(os.path.join(input_dir, f))]
|
files = [f for f in os.listdir(input_dir) if os.path.isfile(os.path.join(input_dir, f))]
|
||||||
files = folder_paths.filter_files_content_types(files, ["video"])
|
files = folder_paths.filter_files_content_types(files, ["video"])
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="LoadVideo_V3",
|
node_id="LoadVideo_V3",
|
||||||
display_name="Load Video _V3",
|
display_name="Load Video _V3",
|
||||||
category="image/video",
|
category="image/video",
|
||||||
@ -108,7 +108,7 @@ class LoadVideo(io.ComfyNodeV3):
|
|||||||
class SaveVideo(io.ComfyNodeV3):
|
class SaveVideo(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SaveVideo_V3",
|
node_id="SaveVideo_V3",
|
||||||
display_name="Save Video _V3",
|
display_name="Save Video _V3",
|
||||||
category="image/video",
|
category="image/video",
|
||||||
@ -155,7 +155,7 @@ class SaveVideo(io.ComfyNodeV3):
|
|||||||
class SaveWEBM(io.ComfyNodeV3):
|
class SaveWEBM(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="SaveWEBM_V3",
|
node_id="SaveWEBM_V3",
|
||||||
category="image/video",
|
category="image/video",
|
||||||
is_experimental=True,
|
is_experimental=True,
|
||||||
|
@ -14,7 +14,7 @@ from comfy_api.v3 import io
|
|||||||
class TrimVideoLatent(io.ComfyNodeV3):
|
class TrimVideoLatent(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="TrimVideoLatent_V3",
|
node_id="TrimVideoLatent_V3",
|
||||||
category="latent/video",
|
category="latent/video",
|
||||||
is_experimental=True,
|
is_experimental=True,
|
||||||
@ -39,7 +39,7 @@ class TrimVideoLatent(io.ComfyNodeV3):
|
|||||||
class WanCameraImageToVideo(io.ComfyNodeV3):
|
class WanCameraImageToVideo(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="WanCameraImageToVideo_V3",
|
node_id="WanCameraImageToVideo_V3",
|
||||||
category="conditioning/video_models",
|
category="conditioning/video_models",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -91,7 +91,7 @@ class WanCameraImageToVideo(io.ComfyNodeV3):
|
|||||||
class WanFirstLastFrameToVideo(io.ComfyNodeV3):
|
class WanFirstLastFrameToVideo(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="WanFirstLastFrameToVideo_V3",
|
node_id="WanFirstLastFrameToVideo_V3",
|
||||||
category="conditioning/video_models",
|
category="conditioning/video_models",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -162,7 +162,7 @@ class WanFirstLastFrameToVideo(io.ComfyNodeV3):
|
|||||||
class WanFunControlToVideo(io.ComfyNodeV3):
|
class WanFunControlToVideo(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="WanFunControlToVideo_V3",
|
node_id="WanFunControlToVideo_V3",
|
||||||
category="conditioning/video_models",
|
category="conditioning/video_models",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -216,7 +216,7 @@ class WanFunControlToVideo(io.ComfyNodeV3):
|
|||||||
class WanFunInpaintToVideo(io.ComfyNodeV3):
|
class WanFunInpaintToVideo(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="WanFunInpaintToVideo_V3",
|
node_id="WanFunInpaintToVideo_V3",
|
||||||
category="conditioning/video_models",
|
category="conditioning/video_models",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -247,7 +247,7 @@ class WanFunInpaintToVideo(io.ComfyNodeV3):
|
|||||||
class WanImageToVideo(io.ComfyNodeV3):
|
class WanImageToVideo(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="WanImageToVideo_V3",
|
node_id="WanImageToVideo_V3",
|
||||||
category="conditioning/video_models",
|
category="conditioning/video_models",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -295,7 +295,7 @@ class WanImageToVideo(io.ComfyNodeV3):
|
|||||||
class WanPhantomSubjectToVideo(io.ComfyNodeV3):
|
class WanPhantomSubjectToVideo(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="WanPhantomSubjectToVideo_V3",
|
node_id="WanPhantomSubjectToVideo_V3",
|
||||||
category="conditioning/video_models",
|
category="conditioning/video_models",
|
||||||
inputs=[
|
inputs=[
|
||||||
@ -339,7 +339,7 @@ class WanPhantomSubjectToVideo(io.ComfyNodeV3):
|
|||||||
class WanVaceToVideo(io.ComfyNodeV3):
|
class WanVaceToVideo(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="WanVaceToVideo_V3",
|
node_id="WanVaceToVideo_V3",
|
||||||
category="conditioning/video_models",
|
category="conditioning/video_models",
|
||||||
is_experimental=True,
|
is_experimental=True,
|
||||||
|
@ -13,7 +13,7 @@ from comfy_api.v3 import io
|
|||||||
class WebcamCapture(io.ComfyNodeV3):
|
class WebcamCapture(io.ComfyNodeV3):
|
||||||
@classmethod
|
@classmethod
|
||||||
def define_schema(cls):
|
def define_schema(cls):
|
||||||
return io.SchemaV3(
|
return io.Schema(
|
||||||
node_id="WebcamCapture_V3",
|
node_id="WebcamCapture_V3",
|
||||||
display_name="Webcam Capture _V3",
|
display_name="Webcam Capture _V3",
|
||||||
category="image",
|
category="image",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user