10223 lines
305 KiB
JSON

{
"KSampler": {
"input": {
"required": {
"model": [
"MODEL",
{ "tooltip": "The model used for denoising the input latent." }
],
"seed": [
"INT",
{
"default": 0,
"min": 0,
"max": 18446744073709551615,
"control_after_generate": true,
"tooltip": "The random seed used for creating the noise."
}
],
"steps": [
"INT",
{
"default": 20,
"min": 1,
"max": 10000,
"tooltip": "The number of steps used in the denoising process."
}
],
"cfg": [
"FLOAT",
{
"default": 8.0,
"min": 0.0,
"max": 100.0,
"step": 0.1,
"round": 0.01,
"tooltip": "The Classifier-Free Guidance scale balances creativity and adherence to the prompt. Higher values result in images more closely matching the prompt however too high values will negatively impact quality."
}
],
"sampler_name": [
[
"euler",
"euler_cfg_pp",
"euler_ancestral",
"euler_ancestral_cfg_pp",
"heun",
"heunpp2",
"dpm_2",
"dpm_2_ancestral",
"lms",
"dpm_fast",
"dpm_adaptive",
"dpmpp_2s_ancestral",
"dpmpp_2s_ancestral_cfg_pp",
"dpmpp_sde",
"dpmpp_sde_gpu",
"dpmpp_2m",
"dpmpp_2m_cfg_pp",
"dpmpp_2m_sde",
"dpmpp_2m_sde_gpu",
"dpmpp_3m_sde",
"dpmpp_3m_sde_gpu",
"ddpm",
"lcm",
"ipndm",
"ipndm_v",
"deis",
"res_multistep",
"res_multistep_cfg_pp",
"res_multistep_ancestral",
"res_multistep_ancestral_cfg_pp",
"gradient_estimation",
"er_sde",
"ddim",
"uni_pc",
"uni_pc_bh2"
],
{
"tooltip": "The algorithm used when sampling, this can affect the quality, speed, and style of the generated output."
}
],
"scheduler": [
[
"normal",
"karras",
"exponential",
"sgm_uniform",
"simple",
"ddim_uniform",
"beta",
"linear_quadratic",
"kl_optimal"
],
{
"tooltip": "The scheduler controls how noise is gradually removed to form the image."
}
],
"positive": [
"CONDITIONING",
{
"tooltip": "The conditioning describing the attributes you want to include in the image."
}
],
"negative": [
"CONDITIONING",
{
"tooltip": "The conditioning describing the attributes you want to exclude from the image."
}
],
"latent_image": [
"LATENT",
{ "tooltip": "The latent image to denoise." }
],
"denoise": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 1.0,
"step": 0.01,
"tooltip": "The amount of denoising applied, lower values will maintain the structure of the initial image allowing for image to image sampling."
}
]
}
},
"input_order": {
"required": [
"model",
"seed",
"steps",
"cfg",
"sampler_name",
"scheduler",
"positive",
"negative",
"latent_image",
"denoise"
]
},
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "KSampler",
"display_name": "KSampler",
"description": "Uses the provided model, positive and negative conditioning to denoise the latent image.",
"python_module": "nodes",
"category": "sampling",
"output_node": false,
"output_tooltips": ["The denoised latent."]
},
"CheckpointLoaderSimple": {
"input": {
"required": {
"ckpt_name": [
[
"Anime/autismmixSDXL_autismmixConfetti.safetensors",
"Anime/autismmixSDXL_autismmixPony.safetensors",
"Anime/ponyDiffusionV6XL_v6StartWithThisOne.safetensors",
"Anime/prefectPonyXL_v50.safetensors",
"Anime/waiANINSFWPONYXL_v11.safetensors",
"Anime/waiANINSFWPONYXL_v130.safetensors",
"Anime/waiNSFWIllustrious_v70.safetensors",
"Babes/babesBYSTABLEYOGI_xlV2.safetensors",
"Babes/babesByStableYogi_ponyV3VAE.safetensors",
"FLUX/flux1-dev-fp8.safetensors",
"RDXL/rdxlAnime_sdxlPony8.safetensors",
"RDXL/rdxlPixelArt_pony2.safetensors",
"RDXL/realDream_sdxlPony12.safetensors",
"Realism/cyberrealisticPony_v70a.safetensors",
"Realism/cyberrealisticPony_v8.safetensors",
"Realism/realvisxlV50_v50Bakedvae.safetensors",
"SD3.5/sd3.5_large_fp16.safetensors",
"SD3.5/sd3.5_large_fp8_scaled.safetensors",
"Semi-realism/bemypony_Semirealanime.safetensors",
"Semi-realism/duchaitenPonyXLNo_v60.safetensors",
"prefectPonyXL_v3.safetensors",
"sd-v1-5-inpainting.ckpt",
"v1-5-pruned-emaonly.ckpt"
],
{ "tooltip": "The name of the checkpoint (model) to load." }
]
}
},
"input_order": { "required": ["ckpt_name"] },
"output": ["MODEL", "CLIP", "VAE"],
"output_is_list": [false, false, false],
"output_name": ["MODEL", "CLIP", "VAE"],
"name": "CheckpointLoaderSimple",
"display_name": "Load Checkpoint",
"description": "Loads a diffusion model checkpoint, diffusion models are used to denoise latents.",
"python_module": "nodes",
"category": "loaders",
"output_node": false,
"output_tooltips": [
"The model used for denoising latents.",
"The CLIP model used for encoding text prompts.",
"The VAE model used for encoding and decoding images to and from latent space."
]
},
"CLIPTextEncode": {
"input": {
"required": {
"text": [
"STRING",
{
"multiline": true,
"dynamicPrompts": true,
"tooltip": "The text to be encoded."
}
],
"clip": [
"CLIP",
{ "tooltip": "The CLIP model used for encoding the text." }
]
}
},
"input_order": { "required": ["text", "clip"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "CLIPTextEncode",
"display_name": "CLIP Text Encode (Prompt)",
"description": "Encodes a text prompt using a CLIP model into an embedding that can be used to guide the diffusion model towards generating specific images.",
"python_module": "nodes",
"category": "conditioning",
"output_node": false,
"output_tooltips": [
"A conditioning containing the embedded text used to guide the diffusion model."
]
},
"CLIPSetLastLayer": {
"input": {
"required": {
"clip": ["CLIP"],
"stop_at_clip_layer": [
"INT",
{ "default": -1, "min": -24, "max": -1, "step": 1 }
]
}
},
"input_order": { "required": ["clip", "stop_at_clip_layer"] },
"output": ["CLIP"],
"output_is_list": [false],
"output_name": ["CLIP"],
"name": "CLIPSetLastLayer",
"display_name": "CLIP Set Last Layer",
"description": "",
"python_module": "nodes",
"category": "conditioning",
"output_node": false
},
"VAEDecode": {
"input": {
"required": {
"samples": ["LATENT", { "tooltip": "The latent to be decoded." }],
"vae": [
"VAE",
{ "tooltip": "The VAE model used for decoding the latent." }
]
}
},
"input_order": { "required": ["samples", "vae"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "VAEDecode",
"display_name": "VAE Decode",
"description": "Decodes latent images back into pixel space images.",
"python_module": "nodes",
"category": "latent",
"output_node": false,
"output_tooltips": ["The decoded image."]
},
"VAEEncode": {
"input": { "required": { "pixels": ["IMAGE"], "vae": ["VAE"] } },
"input_order": { "required": ["pixels", "vae"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "VAEEncode",
"display_name": "VAE Encode",
"description": "",
"python_module": "nodes",
"category": "latent",
"output_node": false
},
"VAEEncodeForInpaint": {
"input": {
"required": {
"pixels": ["IMAGE"],
"vae": ["VAE"],
"mask": ["MASK"],
"grow_mask_by": [
"INT",
{ "default": 6, "min": 0, "max": 64, "step": 1 }
]
}
},
"input_order": { "required": ["pixels", "vae", "mask", "grow_mask_by"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "VAEEncodeForInpaint",
"display_name": "VAE Encode (for Inpainting)",
"description": "",
"python_module": "nodes",
"category": "latent/inpaint",
"output_node": false
},
"VAELoader": {
"input": {
"required": {
"vae_name": [
[
"ae.safetensors",
"sdxl_vae.safetensors",
"vae-ft-mse-840000-ema-pruned.ckpt"
]
]
}
},
"input_order": { "required": ["vae_name"] },
"output": ["VAE"],
"output_is_list": [false],
"output_name": ["VAE"],
"name": "VAELoader",
"display_name": "Load VAE",
"description": "",
"python_module": "nodes",
"category": "loaders",
"output_node": false
},
"EmptyLatentImage": {
"input": {
"required": {
"width": [
"INT",
{
"default": 512,
"min": 16,
"max": 16384,
"step": 8,
"tooltip": "The width of the latent images in pixels."
}
],
"height": [
"INT",
{
"default": 512,
"min": 16,
"max": 16384,
"step": 8,
"tooltip": "The height of the latent images in pixels."
}
],
"batch_size": [
"INT",
{
"default": 1,
"min": 1,
"max": 4096,
"tooltip": "The number of latent images in the batch."
}
]
}
},
"input_order": { "required": ["width", "height", "batch_size"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "EmptyLatentImage",
"display_name": "Empty Latent Image",
"description": "Create a new batch of empty latent images to be denoised via sampling.",
"python_module": "nodes",
"category": "latent",
"output_node": false,
"output_tooltips": ["The empty latent image batch."]
},
"LatentUpscale": {
"input": {
"required": {
"samples": ["LATENT"],
"upscale_method": [
["nearest-exact", "bilinear", "area", "bicubic", "bislerp"]
],
"width": ["INT", { "default": 512, "min": 0, "max": 16384, "step": 8 }],
"height": [
"INT",
{ "default": 512, "min": 0, "max": 16384, "step": 8 }
],
"crop": [["disabled", "center"]]
}
},
"input_order": {
"required": ["samples", "upscale_method", "width", "height", "crop"]
},
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentUpscale",
"display_name": "Upscale Latent",
"description": "",
"python_module": "nodes",
"category": "latent",
"output_node": false
},
"LatentUpscaleBy": {
"input": {
"required": {
"samples": ["LATENT"],
"upscale_method": [
["nearest-exact", "bilinear", "area", "bicubic", "bislerp"]
],
"scale_by": [
"FLOAT",
{ "default": 1.5, "min": 0.01, "max": 8.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["samples", "upscale_method", "scale_by"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentUpscaleBy",
"display_name": "Upscale Latent By",
"description": "",
"python_module": "nodes",
"category": "latent",
"output_node": false
},
"LatentFromBatch": {
"input": {
"required": {
"samples": ["LATENT"],
"batch_index": ["INT", { "default": 0, "min": 0, "max": 63 }],
"length": ["INT", { "default": 1, "min": 1, "max": 64 }]
}
},
"input_order": { "required": ["samples", "batch_index", "length"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentFromBatch",
"display_name": "Latent From Batch",
"description": "",
"python_module": "nodes",
"category": "latent/batch",
"output_node": false
},
"RepeatLatentBatch": {
"input": {
"required": {
"samples": ["LATENT"],
"amount": ["INT", { "default": 1, "min": 1, "max": 64 }]
}
},
"input_order": { "required": ["samples", "amount"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "RepeatLatentBatch",
"display_name": "Repeat Latent Batch",
"description": "",
"python_module": "nodes",
"category": "latent/batch",
"output_node": false
},
"SaveImage": {
"input": {
"required": {
"images": ["IMAGE", { "tooltip": "The images to save." }],
"filename_prefix": [
"STRING",
{
"default": "ComfyUI",
"tooltip": "The prefix for the file to save. This may include formatting information such as %date:yyyy-MM-dd% or %Empty Latent Image.width% to include values from nodes."
}
]
},
"hidden": { "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" }
},
"input_order": {
"required": ["images", "filename_prefix"],
"hidden": ["prompt", "extra_pnginfo"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "SaveImage",
"display_name": "Save Image",
"description": "Saves the input images to your ComfyUI output directory.",
"python_module": "nodes",
"category": "image",
"output_node": true
},
"PreviewImage": {
"input": {
"required": { "images": ["IMAGE"] },
"hidden": { "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" }
},
"input_order": {
"required": ["images"],
"hidden": ["prompt", "extra_pnginfo"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "PreviewImage",
"display_name": "Preview Image",
"description": "Saves the input images to your ComfyUI output directory.",
"python_module": "nodes",
"category": "image",
"output_node": true
},
"LoadImage": {
"input": { "required": { "image": [[], { "image_upload": true }] } },
"input_order": { "required": ["image"] },
"output": ["IMAGE", "MASK"],
"output_is_list": [false, false],
"output_name": ["IMAGE", "MASK"],
"name": "LoadImage",
"display_name": "Load Image",
"description": "",
"python_module": "nodes",
"category": "image",
"output_node": false
},
"LoadImageMask": {
"input": {
"required": {
"image": [[], { "image_upload": true }],
"channel": [["alpha", "red", "green", "blue"]]
}
},
"input_order": { "required": ["image", "channel"] },
"output": ["MASK"],
"output_is_list": [false],
"output_name": ["MASK"],
"name": "LoadImageMask",
"display_name": "Load Image (as Mask)",
"description": "",
"python_module": "nodes",
"category": "mask",
"output_node": false
},
"LoadImageOutput": {
"input": {
"required": {
"image": [
"COMBO",
{
"image_upload": true,
"image_folder": "output",
"remote": {
"route": "/internal/files/output",
"refresh_button": true,
"control_after_refresh": "first"
}
}
]
}
},
"input_order": { "required": ["image"] },
"output": ["IMAGE", "MASK"],
"output_is_list": [false, false],
"output_name": ["IMAGE", "MASK"],
"name": "LoadImageOutput",
"display_name": "Load Image (from Outputs)",
"description": "Load an image from the output folder. When the refresh button is clicked, the node will update the image list and automatically select the first image, allowing for easy iteration.",
"python_module": "nodes",
"category": "image",
"output_node": false,
"experimental": true
},
"ImageScale": {
"input": {
"required": {
"image": ["IMAGE"],
"upscale_method": [
["nearest-exact", "bilinear", "area", "bicubic", "lanczos"]
],
"width": ["INT", { "default": 512, "min": 0, "max": 16384, "step": 1 }],
"height": [
"INT",
{ "default": 512, "min": 0, "max": 16384, "step": 1 }
],
"crop": [["disabled", "center"]]
}
},
"input_order": {
"required": ["image", "upscale_method", "width", "height", "crop"]
},
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "ImageScale",
"display_name": "Upscale Image",
"description": "",
"python_module": "nodes",
"category": "image/upscaling",
"output_node": false
},
"ImageScaleBy": {
"input": {
"required": {
"image": ["IMAGE"],
"upscale_method": [
["nearest-exact", "bilinear", "area", "bicubic", "lanczos"]
],
"scale_by": [
"FLOAT",
{ "default": 1.0, "min": 0.01, "max": 8.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["image", "upscale_method", "scale_by"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "ImageScaleBy",
"display_name": "Upscale Image By",
"description": "",
"python_module": "nodes",
"category": "image/upscaling",
"output_node": false
},
"ImageInvert": {
"input": { "required": { "image": ["IMAGE"] } },
"input_order": { "required": ["image"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "ImageInvert",
"display_name": "Invert Image",
"description": "",
"python_module": "nodes",
"category": "image",
"output_node": false
},
"ImageBatch": {
"input": { "required": { "image1": ["IMAGE"], "image2": ["IMAGE"] } },
"input_order": { "required": ["image1", "image2"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "ImageBatch",
"display_name": "Batch Images",
"description": "",
"python_module": "nodes",
"category": "image",
"output_node": false
},
"ImagePadForOutpaint": {
"input": {
"required": {
"image": ["IMAGE"],
"left": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }],
"top": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }],
"right": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }],
"bottom": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }],
"feathering": [
"INT",
{ "default": 40, "min": 0, "max": 16384, "step": 1 }
]
}
},
"input_order": {
"required": ["image", "left", "top", "right", "bottom", "feathering"]
},
"output": ["IMAGE", "MASK"],
"output_is_list": [false, false],
"output_name": ["IMAGE", "MASK"],
"name": "ImagePadForOutpaint",
"display_name": "Pad Image for Outpainting",
"description": "",
"python_module": "nodes",
"category": "image",
"output_node": false
},
"EmptyImage": {
"input": {
"required": {
"width": ["INT", { "default": 512, "min": 1, "max": 16384, "step": 1 }],
"height": [
"INT",
{ "default": 512, "min": 1, "max": 16384, "step": 1 }
],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }],
"color": [
"INT",
{
"default": 0,
"min": 0,
"max": 16777215,
"step": 1,
"display": "color"
}
]
}
},
"input_order": { "required": ["width", "height", "batch_size", "color"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "EmptyImage",
"display_name": "EmptyImage",
"description": "",
"python_module": "nodes",
"category": "image",
"output_node": false
},
"ConditioningAverage": {
"input": {
"required": {
"conditioning_to": ["CONDITIONING"],
"conditioning_from": ["CONDITIONING"],
"conditioning_to_strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"conditioning_to",
"conditioning_from",
"conditioning_to_strength"
]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ConditioningAverage",
"display_name": "ConditioningAverage",
"description": "",
"python_module": "nodes",
"category": "conditioning",
"output_node": false
},
"ConditioningCombine": {
"input": {
"required": {
"conditioning_1": ["CONDITIONING"],
"conditioning_2": ["CONDITIONING"]
}
},
"input_order": { "required": ["conditioning_1", "conditioning_2"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ConditioningCombine",
"display_name": "Conditioning (Combine)",
"description": "",
"python_module": "nodes",
"category": "conditioning",
"output_node": false
},
"ConditioningConcat": {
"input": {
"required": {
"conditioning_to": ["CONDITIONING"],
"conditioning_from": ["CONDITIONING"]
}
},
"input_order": { "required": ["conditioning_to", "conditioning_from"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ConditioningConcat",
"display_name": "Conditioning (Concat)",
"description": "",
"python_module": "nodes",
"category": "conditioning",
"output_node": false
},
"ConditioningSetArea": {
"input": {
"required": {
"conditioning": ["CONDITIONING"],
"width": ["INT", { "default": 64, "min": 64, "max": 16384, "step": 8 }],
"height": [
"INT",
{ "default": 64, "min": 64, "max": 16384, "step": 8 }
],
"x": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }],
"y": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": {
"required": ["conditioning", "width", "height", "x", "y", "strength"]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ConditioningSetArea",
"display_name": "Conditioning (Set Area)",
"description": "",
"python_module": "nodes",
"category": "conditioning",
"output_node": false
},
"ConditioningSetAreaPercentage": {
"input": {
"required": {
"conditioning": ["CONDITIONING"],
"width": [
"FLOAT",
{ "default": 1.0, "min": 0, "max": 1.0, "step": 0.01 }
],
"height": [
"FLOAT",
{ "default": 1.0, "min": 0, "max": 1.0, "step": 0.01 }
],
"x": ["FLOAT", { "default": 0, "min": 0, "max": 1.0, "step": 0.01 }],
"y": ["FLOAT", { "default": 0, "min": 0, "max": 1.0, "step": 0.01 }],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": {
"required": ["conditioning", "width", "height", "x", "y", "strength"]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ConditioningSetAreaPercentage",
"display_name": "Conditioning (Set Area with Percentage)",
"description": "",
"python_module": "nodes",
"category": "conditioning",
"output_node": false
},
"ConditioningSetAreaStrength": {
"input": {
"required": {
"conditioning": ["CONDITIONING"],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["conditioning", "strength"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ConditioningSetAreaStrength",
"display_name": "ConditioningSetAreaStrength",
"description": "",
"python_module": "nodes",
"category": "conditioning",
"output_node": false
},
"ConditioningSetMask": {
"input": {
"required": {
"conditioning": ["CONDITIONING"],
"mask": ["MASK"],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"set_cond_area": [["default", "mask bounds"]]
}
},
"input_order": {
"required": ["conditioning", "mask", "strength", "set_cond_area"]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ConditioningSetMask",
"display_name": "Conditioning (Set Mask)",
"description": "",
"python_module": "nodes",
"category": "conditioning",
"output_node": false
},
"KSamplerAdvanced": {
"input": {
"required": {
"model": ["MODEL"],
"add_noise": [["enable", "disable"]],
"noise_seed": [
"INT",
{
"default": 0,
"min": 0,
"max": 18446744073709551615,
"control_after_generate": true
}
],
"steps": ["INT", { "default": 20, "min": 1, "max": 10000 }],
"cfg": [
"FLOAT",
{
"default": 8.0,
"min": 0.0,
"max": 100.0,
"step": 0.1,
"round": 0.01
}
],
"sampler_name": [
[
"euler",
"euler_cfg_pp",
"euler_ancestral",
"euler_ancestral_cfg_pp",
"heun",
"heunpp2",
"dpm_2",
"dpm_2_ancestral",
"lms",
"dpm_fast",
"dpm_adaptive",
"dpmpp_2s_ancestral",
"dpmpp_2s_ancestral_cfg_pp",
"dpmpp_sde",
"dpmpp_sde_gpu",
"dpmpp_2m",
"dpmpp_2m_cfg_pp",
"dpmpp_2m_sde",
"dpmpp_2m_sde_gpu",
"dpmpp_3m_sde",
"dpmpp_3m_sde_gpu",
"ddpm",
"lcm",
"ipndm",
"ipndm_v",
"deis",
"res_multistep",
"res_multistep_cfg_pp",
"res_multistep_ancestral",
"res_multistep_ancestral_cfg_pp",
"gradient_estimation",
"er_sde",
"ddim",
"uni_pc",
"uni_pc_bh2"
]
],
"scheduler": [
[
"normal",
"karras",
"exponential",
"sgm_uniform",
"simple",
"ddim_uniform",
"beta",
"linear_quadratic",
"kl_optimal"
]
],
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"latent_image": ["LATENT"],
"start_at_step": ["INT", { "default": 0, "min": 0, "max": 10000 }],
"end_at_step": ["INT", { "default": 10000, "min": 0, "max": 10000 }],
"return_with_leftover_noise": [["disable", "enable"]]
}
},
"input_order": {
"required": [
"model",
"add_noise",
"noise_seed",
"steps",
"cfg",
"sampler_name",
"scheduler",
"positive",
"negative",
"latent_image",
"start_at_step",
"end_at_step",
"return_with_leftover_noise"
]
},
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "KSamplerAdvanced",
"display_name": "KSampler (Advanced)",
"description": "",
"python_module": "nodes",
"category": "sampling",
"output_node": false
},
"SetLatentNoiseMask": {
"input": { "required": { "samples": ["LATENT"], "mask": ["MASK"] } },
"input_order": { "required": ["samples", "mask"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "SetLatentNoiseMask",
"display_name": "Set Latent Noise Mask",
"description": "",
"python_module": "nodes",
"category": "latent/inpaint",
"output_node": false
},
"LatentComposite": {
"input": {
"required": {
"samples_to": ["LATENT"],
"samples_from": ["LATENT"],
"x": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }],
"y": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }],
"feather": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }]
}
},
"input_order": {
"required": ["samples_to", "samples_from", "x", "y", "feather"]
},
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentComposite",
"display_name": "Latent Composite",
"description": "",
"python_module": "nodes",
"category": "latent",
"output_node": false
},
"LatentBlend": {
"input": {
"required": {
"samples1": ["LATENT"],
"samples2": ["LATENT"],
"blend_factor": [
"FLOAT",
{ "default": 0.5, "min": 0, "max": 1, "step": 0.01 }
]
}
},
"input_order": { "required": ["samples1", "samples2", "blend_factor"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentBlend",
"display_name": "Latent Blend",
"description": "",
"python_module": "nodes",
"category": "_for_testing",
"output_node": false
},
"LatentRotate": {
"input": {
"required": {
"samples": ["LATENT"],
"rotation": [["none", "90 degrees", "180 degrees", "270 degrees"]]
}
},
"input_order": { "required": ["samples", "rotation"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentRotate",
"display_name": "Rotate Latent",
"description": "",
"python_module": "nodes",
"category": "latent/transform",
"output_node": false
},
"LatentFlip": {
"input": {
"required": {
"samples": ["LATENT"],
"flip_method": [["x-axis: vertically", "y-axis: horizontally"]]
}
},
"input_order": { "required": ["samples", "flip_method"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentFlip",
"display_name": "Flip Latent",
"description": "",
"python_module": "nodes",
"category": "latent/transform",
"output_node": false
},
"LatentCrop": {
"input": {
"required": {
"samples": ["LATENT"],
"width": [
"INT",
{ "default": 512, "min": 64, "max": 16384, "step": 8 }
],
"height": [
"INT",
{ "default": 512, "min": 64, "max": 16384, "step": 8 }
],
"x": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }],
"y": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }]
}
},
"input_order": { "required": ["samples", "width", "height", "x", "y"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentCrop",
"display_name": "Crop Latent",
"description": "",
"python_module": "nodes",
"category": "latent/transform",
"output_node": false
},
"LoraLoader": {
"input": {
"required": {
"model": [
"MODEL",
{ "tooltip": "The diffusion model the LoRA will be applied to." }
],
"clip": [
"CLIP",
{ "tooltip": "The CLIP model the LoRA will be applied to." }
],
"lora_name": [
[
"Characters/Cortana/Cortana(revAnimated).safetensors",
"Characters/Cortana/Cortana.safetensors",
"Characters/Cortana/Cortana_XL.safetensors",
"Characters/Cortana/cortana_xl_v3.safetensors",
"Characters/D.va/DVaOWXL - by KillerUwU13_AI.safetensors",
"Characters/D.va/DVaPony.safetensors",
"Characters/Lara Croft/ClassicLara.safetensors",
"Characters/Lara Croft/LaraCroft_character-20.safetensors",
"Characters/Lara Croft/lara_croft_xl_v2.safetensors",
"Characters/Peni Parker/32dim-MR_PeniParker-PONY.safetensors",
"Characters/Peni Parker/PeniParkerRivals-10.safetensors",
"Characters/Peni Parker/Peni_Parker-000007.safetensors",
"Characters/Peni Parker/Peni_parker_marvel_rivels.safetensors",
"Characters/Samus Aran/Samus AranPonyLora.safetensors",
"Characters/Samus Aran/samus aran.safetensors",
"Characters/Samus Aran/samus-09.safetensors",
"Characters/Scarlett Johansson/Scarlett-v20.safetensors",
"Characters/Scarlett Johansson/Scarlett4.safetensors",
"Characters/Widowmaker/SDXL_ow1 Windowmaker.safetensors",
"Characters/Widowmaker/WidowmakerPonyLoRA.safetensors",
"Characters/Widowmaker/Widowmaker_cgi.safetensors",
"Characters/princess_xl_v2.safetensors",
"Characters/princess_zelda.safetensors",
"Citron Pony Styles/80s_Pop_PDXL.safetensors",
"Citron Pony Styles/Alola_Style_PDXL.safetensors",
"Citron Pony Styles/BoldToon.safetensors",
"Citron Pony Styles/CandyCuteStylePDXL.safetensors",
"Citron Pony Styles/CatalystStylePDXL.safetensors",
"Citron Pony Styles/Citron3D_PDXL.safetensors",
"Citron Pony Styles/CitronAnimeTreasure-07.safetensors",
"Citron Pony Styles/EnergyCAT.safetensors",
"Citron Pony Styles/FlatAnimeP1.safetensors",
"Citron Pony Styles/LunarCAT_Style.safetensors",
"Citron Pony Styles/RealisticAnime.safetensors",
"Citron Pony Styles/Smooth.safetensors",
"Citron Pony Styles/Vivid.safetensors",
"Expressive_H-000001.safetensors",
"Hand v2.safetensors",
"LogoRedmondV2-Logo-LogoRedmAF.safetensors",
"NSFW/2025/cheekbulge.safetensors",
"NSFW/2025/closedmouthfullofcum.safetensors",
"NSFW/2025/doublepenetration_r1.safetensors",
"NSFW/2025/xray (1).safetensors",
"NSFW/Acts/LapBlowLyingV1.safetensors",
"NSFW/Acts/Long tongue fellatio.safetensors",
"NSFW/Acts/Proper_Grinding.safetensors",
"NSFW/Acts/Vacuum felaltio-000009.safetensors",
"NSFW/Acts/assworship.safetensors",
"NSFW/Acts/boobsuck.safetensors",
"NSFW/Acts/breasts_squeezed_together_v02.safetensors",
"NSFW/Acts/chikan_v31.safetensors",
"NSFW/Acts/concept_sideboobpeek_ponyXL.safetensors",
"NSFW/Acts/covering privates_XL_V10.safetensors",
"NSFW/Acts/facesit_pov_pdxl_goofy.safetensors",
"NSFW/Acts/grinding_pony_V10.safetensors",
"NSFW/Acts/hand_milking_pdxl_goofy.safetensors",
"NSFW/Acts/mating_press_v02-pony.safetensors",
"NSFW/Acts/pantjob.safetensors",
"NSFW/Acts/undressing_another_v05.safetensors",
"NSFW/All the way through tentacles.safetensors",
"NSFW/Deep_Throat_JAV_MIAA572_PONY_V1.safetensors",
"NSFW/FComic_1to1000_Pony_V1.safetensors",
"NSFW/FComic_HardCore_Pony_V1.safetensors",
"NSFW/Poses/Double anal back-000006.safetensors",
"NSFW/Poses/Double penetration suspended LORA-000009.safetensors",
"NSFW/Poses/Missionary DP 2-000008.safetensors",
"NSFW/Poses/Piledrive pov-000008.safetensors",
"NSFW/Poses/Pressed_Missionary_Feet_On_Chest.safetensors",
"NSFW/Poses/Pretzel.safetensors",
"NSFW/Poses/Reverse spitroast.safetensors",
"NSFW/Poses/chokesex.safetensors",
"NSFW/Poses/dp_from_behind_v01b.safetensors",
"NSFW/Poses/leg_up_side_matsubamuzushi_pony_V10.safetensors",
"NSFW/Poses/suspended_congress_kiben_pony_V10.safetensors",
"NSFW/Poses/suspensionPony.safetensors",
"NSFW/Poses/top-down_doggystyle_v02-pony.safetensors",
"NSFW/Poses/wheel_barrow_oshiguruma_pony_V10.safetensors",
"NSFW/Rough_Sex_Any_position.safetensors",
"NSFW/Saya-spread pussy(fingers).safetensors",
"NSFW/X-ray anal 3.safetensors",
"NSFW/closeprone.safetensors",
"NSFW/cumontongue.safetensors",
"NSFW/helpbj.safetensors",
"NSFW/micro_bra_pdxl_goofy.safetensors",
"NSFW/mouthful.safetensors",
"NSFW/projectile_cum_v02.safetensors",
"NSFW/pussy_sandwich_v02-pony.safetensors",
"NSFW/restroom_v02a.safetensors",
"NSFW/spp_spreadpussy-W-V1.safetensors",
"Vixon's Pony Styles/Sh4rd4n1cXLP.safetensors",
"Vixon's Pony Styles/ch33s3XLP.safetensors",
"Vixon's Pony Styles/itsyelizXLP.safetensors",
"Vixon's Pony Styles/lalangheejXLP.safetensors",
"Vixon's Pony Styles/nikkileeismeXLP.safetensors",
"Vixon's Pony Styles/tomidoronXLP.safetensors",
"WowifierXL-V2.safetensors",
"detailed_notrigger.safetensors",
"detailxl.safetensors"
],
{ "tooltip": "The name of the LoRA." }
],
"strength_model": [
"FLOAT",
{
"default": 1.0,
"min": -100.0,
"max": 100.0,
"step": 0.01,
"tooltip": "How strongly to modify the diffusion model. This value can be negative."
}
],
"strength_clip": [
"FLOAT",
{
"default": 1.0,
"min": -100.0,
"max": 100.0,
"step": 0.01,
"tooltip": "How strongly to modify the CLIP model. This value can be negative."
}
]
}
},
"input_order": {
"required": [
"model",
"clip",
"lora_name",
"strength_model",
"strength_clip"
]
},
"output": ["MODEL", "CLIP"],
"output_is_list": [false, false],
"output_name": ["MODEL", "CLIP"],
"name": "LoraLoader",
"display_name": "Load LoRA",
"description": "LoRAs are used to modify diffusion and CLIP models, altering the way in which latents are denoised such as applying styles. Multiple LoRA nodes can be linked together.",
"python_module": "nodes",
"category": "loaders",
"output_node": false,
"output_tooltips": [
"The modified diffusion model.",
"The modified CLIP model."
]
},
"CLIPLoader": {
"input": {
"required": {
"clip_name": [[]],
"type": [
[
"stable_diffusion",
"stable_cascade",
"sd3",
"stable_audio",
"mochi",
"ltxv",
"pixart",
"cosmos",
"lumina2",
"wan"
]
]
},
"optional": { "device": [["default", "cpu"], { "advanced": true }] }
},
"input_order": {
"required": ["clip_name", "type"],
"optional": ["device"]
},
"output": ["CLIP"],
"output_is_list": [false],
"output_name": ["CLIP"],
"name": "CLIPLoader",
"display_name": "Load CLIP",
"description": "[Recipes]\n\nstable_diffusion: clip-l\nstable_cascade: clip-g\nsd3: t5 xxl/ clip-g / clip-l\nstable_audio: t5 base\nmochi: t5 xxl\ncosmos: old t5 xxl\nlumina2: gemma 2 2B\nwan: umt5 xxl",
"python_module": "nodes",
"category": "advanced/loaders",
"output_node": false
},
"UNETLoader": {
"input": {
"required": {
"unet_name": [[]],
"weight_dtype": [
["default", "fp8_e4m3fn", "fp8_e4m3fn_fast", "fp8_e5m2"]
]
}
},
"input_order": { "required": ["unet_name", "weight_dtype"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "UNETLoader",
"display_name": "Load Diffusion Model",
"description": "",
"python_module": "nodes",
"category": "advanced/loaders",
"output_node": false
},
"DualCLIPLoader": {
"input": {
"required": {
"clip_name1": [[]],
"clip_name2": [[]],
"type": [["sdxl", "sd3", "flux", "hunyuan_video"]]
},
"optional": { "device": [["default", "cpu"], { "advanced": true }] }
},
"input_order": {
"required": ["clip_name1", "clip_name2", "type"],
"optional": ["device"]
},
"output": ["CLIP"],
"output_is_list": [false],
"output_name": ["CLIP"],
"name": "DualCLIPLoader",
"display_name": "DualCLIPLoader",
"description": "[Recipes]\n\nsdxl: clip-l, clip-g\nsd3: clip-l, clip-g / clip-l, t5 / clip-g, t5\nflux: clip-l, t5",
"python_module": "nodes",
"category": "advanced/loaders",
"output_node": false
},
"CLIPVisionEncode": {
"input": {
"required": {
"clip_vision": ["CLIP_VISION"],
"image": ["IMAGE"],
"crop": [["center", "none"]]
}
},
"input_order": { "required": ["clip_vision", "image", "crop"] },
"output": ["CLIP_VISION_OUTPUT"],
"output_is_list": [false],
"output_name": ["CLIP_VISION_OUTPUT"],
"name": "CLIPVisionEncode",
"display_name": "CLIP Vision Encode",
"description": "",
"python_module": "nodes",
"category": "conditioning",
"output_node": false
},
"StyleModelApply": {
"input": {
"required": {
"conditioning": ["CONDITIONING"],
"style_model": ["STYLE_MODEL"],
"clip_vision_output": ["CLIP_VISION_OUTPUT"],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.001 }
],
"strength_type": [["multiply", "attn_bias"]]
}
},
"input_order": {
"required": [
"conditioning",
"style_model",
"clip_vision_output",
"strength",
"strength_type"
]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "StyleModelApply",
"display_name": "Apply Style Model",
"description": "",
"python_module": "nodes",
"category": "conditioning/style_model",
"output_node": false
},
"unCLIPConditioning": {
"input": {
"required": {
"conditioning": ["CONDITIONING"],
"clip_vision_output": ["CLIP_VISION_OUTPUT"],
"strength": [
"FLOAT",
{ "default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01 }
],
"noise_augmentation": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"conditioning",
"clip_vision_output",
"strength",
"noise_augmentation"
]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "unCLIPConditioning",
"display_name": "unCLIPConditioning",
"description": "",
"python_module": "nodes",
"category": "conditioning",
"output_node": false
},
"ControlNetApply": {
"input": {
"required": {
"conditioning": ["CONDITIONING"],
"control_net": ["CONTROL_NET"],
"image": ["IMAGE"],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": {
"required": ["conditioning", "control_net", "image", "strength"]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ControlNetApply",
"display_name": "Apply ControlNet (OLD)",
"description": "",
"python_module": "nodes",
"category": "conditioning/controlnet",
"output_node": false,
"deprecated": true
},
"ControlNetApplyAdvanced": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"control_net": ["CONTROL_NET"],
"image": ["IMAGE"],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"start_percent": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"end_percent": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001 }
]
},
"optional": { "vae": ["VAE"] }
},
"input_order": {
"required": [
"positive",
"negative",
"control_net",
"image",
"strength",
"start_percent",
"end_percent"
],
"optional": ["vae"]
},
"output": ["CONDITIONING", "CONDITIONING"],
"output_is_list": [false, false],
"output_name": ["positive", "negative"],
"name": "ControlNetApplyAdvanced",
"display_name": "Apply ControlNet",
"description": "",
"python_module": "nodes",
"category": "conditioning/controlnet",
"output_node": false
},
"ControlNetLoader": {
"input": { "required": { "control_net_name": [[]] } },
"input_order": { "required": ["control_net_name"] },
"output": ["CONTROL_NET"],
"output_is_list": [false],
"output_name": ["CONTROL_NET"],
"name": "ControlNetLoader",
"display_name": "Load ControlNet Model",
"description": "",
"python_module": "nodes",
"category": "loaders",
"output_node": false
},
"DiffControlNetLoader": {
"input": { "required": { "model": ["MODEL"], "control_net_name": [[]] } },
"input_order": { "required": ["model", "control_net_name"] },
"output": ["CONTROL_NET"],
"output_is_list": [false],
"output_name": ["CONTROL_NET"],
"name": "DiffControlNetLoader",
"display_name": "Load ControlNet Model (diff)",
"description": "",
"python_module": "nodes",
"category": "loaders",
"output_node": false
},
"StyleModelLoader": {
"input": { "required": { "style_model_name": [[]] } },
"input_order": { "required": ["style_model_name"] },
"output": ["STYLE_MODEL"],
"output_is_list": [false],
"output_name": ["STYLE_MODEL"],
"name": "StyleModelLoader",
"display_name": "Load Style Model",
"description": "",
"python_module": "nodes",
"category": "loaders",
"output_node": false
},
"CLIPVisionLoader": {
"input": { "required": { "clip_name": [[]] } },
"input_order": { "required": ["clip_name"] },
"output": ["CLIP_VISION"],
"output_is_list": [false],
"output_name": ["CLIP_VISION"],
"name": "CLIPVisionLoader",
"display_name": "Load CLIP Vision",
"description": "",
"python_module": "nodes",
"category": "loaders",
"output_node": false
},
"VAEDecodeTiled": {
"input": {
"required": {
"samples": ["LATENT"],
"vae": ["VAE"],
"tile_size": [
"INT",
{ "default": 512, "min": 64, "max": 4096, "step": 32 }
],
"overlap": [
"INT",
{ "default": 64, "min": 0, "max": 4096, "step": 32 }
],
"temporal_size": [
"INT",
{
"default": 64,
"min": 8,
"max": 4096,
"step": 4,
"tooltip": "Only used for video VAEs: Amount of frames to decode at a time."
}
],
"temporal_overlap": [
"INT",
{
"default": 8,
"min": 4,
"max": 4096,
"step": 4,
"tooltip": "Only used for video VAEs: Amount of frames to overlap."
}
]
}
},
"input_order": {
"required": [
"samples",
"vae",
"tile_size",
"overlap",
"temporal_size",
"temporal_overlap"
]
},
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "VAEDecodeTiled",
"display_name": "VAE Decode (Tiled)",
"description": "",
"python_module": "nodes",
"category": "_for_testing",
"output_node": false
},
"VAEEncodeTiled": {
"input": {
"required": {
"pixels": ["IMAGE"],
"vae": ["VAE"],
"tile_size": [
"INT",
{ "default": 512, "min": 64, "max": 4096, "step": 64 }
],
"overlap": [
"INT",
{ "default": 64, "min": 0, "max": 4096, "step": 32 }
],
"temporal_size": [
"INT",
{
"default": 64,
"min": 8,
"max": 4096,
"step": 4,
"tooltip": "Only used for video VAEs: Amount of frames to encode at a time."
}
],
"temporal_overlap": [
"INT",
{
"default": 8,
"min": 4,
"max": 4096,
"step": 4,
"tooltip": "Only used for video VAEs: Amount of frames to overlap."
}
]
}
},
"input_order": {
"required": [
"pixels",
"vae",
"tile_size",
"overlap",
"temporal_size",
"temporal_overlap"
]
},
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "VAEEncodeTiled",
"display_name": "VAE Encode (Tiled)",
"description": "",
"python_module": "nodes",
"category": "_for_testing",
"output_node": false
},
"unCLIPCheckpointLoader": {
"input": {
"required": {
"ckpt_name": [
[
"Anime/autismmixSDXL_autismmixConfetti.safetensors",
"Anime/autismmixSDXL_autismmixPony.safetensors",
"Anime/ponyDiffusionV6XL_v6StartWithThisOne.safetensors",
"Anime/prefectPonyXL_v50.safetensors",
"Anime/waiANINSFWPONYXL_v11.safetensors",
"Anime/waiANINSFWPONYXL_v130.safetensors",
"Anime/waiNSFWIllustrious_v70.safetensors",
"Babes/babesBYSTABLEYOGI_xlV2.safetensors",
"Babes/babesByStableYogi_ponyV3VAE.safetensors",
"FLUX/flux1-dev-fp8.safetensors",
"RDXL/rdxlAnime_sdxlPony8.safetensors",
"RDXL/rdxlPixelArt_pony2.safetensors",
"RDXL/realDream_sdxlPony12.safetensors",
"Realism/cyberrealisticPony_v70a.safetensors",
"Realism/cyberrealisticPony_v8.safetensors",
"Realism/realvisxlV50_v50Bakedvae.safetensors",
"SD3.5/sd3.5_large_fp16.safetensors",
"SD3.5/sd3.5_large_fp8_scaled.safetensors",
"Semi-realism/bemypony_Semirealanime.safetensors",
"Semi-realism/duchaitenPonyXLNo_v60.safetensors",
"prefectPonyXL_v3.safetensors",
"sd-v1-5-inpainting.ckpt",
"v1-5-pruned-emaonly.ckpt"
]
]
}
},
"input_order": { "required": ["ckpt_name"] },
"output": ["MODEL", "CLIP", "VAE", "CLIP_VISION"],
"output_is_list": [false, false, false, false],
"output_name": ["MODEL", "CLIP", "VAE", "CLIP_VISION"],
"name": "unCLIPCheckpointLoader",
"display_name": "unCLIPCheckpointLoader",
"description": "",
"python_module": "nodes",
"category": "loaders",
"output_node": false
},
"GLIGENLoader": {
"input": { "required": { "gligen_name": [[]] } },
"input_order": { "required": ["gligen_name"] },
"output": ["GLIGEN"],
"output_is_list": [false],
"output_name": ["GLIGEN"],
"name": "GLIGENLoader",
"display_name": "GLIGENLoader",
"description": "",
"python_module": "nodes",
"category": "loaders",
"output_node": false
},
"GLIGENTextBoxApply": {
"input": {
"required": {
"conditioning_to": ["CONDITIONING"],
"clip": ["CLIP"],
"gligen_textbox_model": ["GLIGEN"],
"text": ["STRING", { "multiline": true, "dynamicPrompts": true }],
"width": ["INT", { "default": 64, "min": 8, "max": 16384, "step": 8 }],
"height": ["INT", { "default": 64, "min": 8, "max": 16384, "step": 8 }],
"x": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }],
"y": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }]
}
},
"input_order": {
"required": [
"conditioning_to",
"clip",
"gligen_textbox_model",
"text",
"width",
"height",
"x",
"y"
]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "GLIGENTextBoxApply",
"display_name": "GLIGENTextBoxApply",
"description": "",
"python_module": "nodes",
"category": "conditioning/gligen",
"output_node": false
},
"InpaintModelConditioning": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"vae": ["VAE"],
"pixels": ["IMAGE"],
"mask": ["MASK"],
"noise_mask": [
"BOOLEAN",
{
"default": true,
"tooltip": "Add a noise mask to the latent so sampling will only happen within the mask. Might improve results or completely break things depending on the model."
}
]
}
},
"input_order": {
"required": [
"positive",
"negative",
"vae",
"pixels",
"mask",
"noise_mask"
]
},
"output": ["CONDITIONING", "CONDITIONING", "LATENT"],
"output_is_list": [false, false, false],
"output_name": ["positive", "negative", "latent"],
"name": "InpaintModelConditioning",
"display_name": "InpaintModelConditioning",
"description": "",
"python_module": "nodes",
"category": "conditioning/inpaint",
"output_node": false
},
"CheckpointLoader": {
"input": {
"required": {
"config_name": [
[
"anything_v3.yaml",
"v1-inference.yaml",
"v1-inference_clip_skip_2.yaml",
"v1-inference_clip_skip_2_fp16.yaml",
"v1-inference_fp16.yaml",
"v1-inpainting-inference.yaml",
"v2-inference-v.yaml",
"v2-inference-v_fp32.yaml",
"v2-inference.yaml",
"v2-inference_fp32.yaml",
"v2-inpainting-inference.yaml"
]
],
"ckpt_name": [
[
"Anime/autismmixSDXL_autismmixConfetti.safetensors",
"Anime/autismmixSDXL_autismmixPony.safetensors",
"Anime/ponyDiffusionV6XL_v6StartWithThisOne.safetensors",
"Anime/prefectPonyXL_v50.safetensors",
"Anime/waiANINSFWPONYXL_v11.safetensors",
"Anime/waiANINSFWPONYXL_v130.safetensors",
"Anime/waiNSFWIllustrious_v70.safetensors",
"Babes/babesBYSTABLEYOGI_xlV2.safetensors",
"Babes/babesByStableYogi_ponyV3VAE.safetensors",
"FLUX/flux1-dev-fp8.safetensors",
"RDXL/rdxlAnime_sdxlPony8.safetensors",
"RDXL/rdxlPixelArt_pony2.safetensors",
"RDXL/realDream_sdxlPony12.safetensors",
"Realism/cyberrealisticPony_v70a.safetensors",
"Realism/cyberrealisticPony_v8.safetensors",
"Realism/realvisxlV50_v50Bakedvae.safetensors",
"SD3.5/sd3.5_large_fp16.safetensors",
"SD3.5/sd3.5_large_fp8_scaled.safetensors",
"Semi-realism/bemypony_Semirealanime.safetensors",
"Semi-realism/duchaitenPonyXLNo_v60.safetensors",
"prefectPonyXL_v3.safetensors",
"sd-v1-5-inpainting.ckpt",
"v1-5-pruned-emaonly.ckpt"
]
]
}
},
"input_order": { "required": ["config_name", "ckpt_name"] },
"output": ["MODEL", "CLIP", "VAE"],
"output_is_list": [false, false, false],
"output_name": ["MODEL", "CLIP", "VAE"],
"name": "CheckpointLoader",
"display_name": "Load Checkpoint With Config (DEPRECATED)",
"description": "",
"python_module": "nodes",
"category": "advanced/loaders",
"output_node": false,
"deprecated": true
},
"DiffusersLoader": {
"input": { "required": { "model_path": [[]] } },
"input_order": { "required": ["model_path"] },
"output": ["MODEL", "CLIP", "VAE"],
"output_is_list": [false, false, false],
"output_name": ["MODEL", "CLIP", "VAE"],
"name": "DiffusersLoader",
"display_name": "DiffusersLoader",
"description": "",
"python_module": "nodes",
"category": "advanced/loaders/deprecated",
"output_node": false
},
"LoadLatent": {
"input": { "required": { "latent": [[]] } },
"input_order": { "required": ["latent"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LoadLatent",
"display_name": "LoadLatent",
"description": "",
"python_module": "nodes",
"category": "_for_testing",
"output_node": false
},
"SaveLatent": {
"input": {
"required": {
"samples": ["LATENT"],
"filename_prefix": ["STRING", { "default": "latents/ComfyUI" }]
},
"hidden": { "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" }
},
"input_order": {
"required": ["samples", "filename_prefix"],
"hidden": ["prompt", "extra_pnginfo"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "SaveLatent",
"display_name": "SaveLatent",
"description": "",
"python_module": "nodes",
"category": "_for_testing",
"output_node": true
},
"ConditioningZeroOut": {
"input": { "required": { "conditioning": ["CONDITIONING"] } },
"input_order": { "required": ["conditioning"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ConditioningZeroOut",
"display_name": "ConditioningZeroOut",
"description": "",
"python_module": "nodes",
"category": "advanced/conditioning",
"output_node": false
},
"ConditioningSetTimestepRange": {
"input": {
"required": {
"conditioning": ["CONDITIONING"],
"start": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"end": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001 }
]
}
},
"input_order": { "required": ["conditioning", "start", "end"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ConditioningSetTimestepRange",
"display_name": "ConditioningSetTimestepRange",
"description": "",
"python_module": "nodes",
"category": "advanced/conditioning",
"output_node": false
},
"LoraLoaderModelOnly": {
"input": {
"required": {
"model": ["MODEL"],
"lora_name": [
[
"Characters/Cortana/Cortana(revAnimated).safetensors",
"Characters/Cortana/Cortana.safetensors",
"Characters/Cortana/Cortana_XL.safetensors",
"Characters/Cortana/cortana_xl_v3.safetensors",
"Characters/D.va/DVaOWXL - by KillerUwU13_AI.safetensors",
"Characters/D.va/DVaPony.safetensors",
"Characters/Lara Croft/ClassicLara.safetensors",
"Characters/Lara Croft/LaraCroft_character-20.safetensors",
"Characters/Lara Croft/lara_croft_xl_v2.safetensors",
"Characters/Peni Parker/32dim-MR_PeniParker-PONY.safetensors",
"Characters/Peni Parker/PeniParkerRivals-10.safetensors",
"Characters/Peni Parker/Peni_Parker-000007.safetensors",
"Characters/Peni Parker/Peni_parker_marvel_rivels.safetensors",
"Characters/Samus Aran/Samus AranPonyLora.safetensors",
"Characters/Samus Aran/samus aran.safetensors",
"Characters/Samus Aran/samus-09.safetensors",
"Characters/Scarlett Johansson/Scarlett-v20.safetensors",
"Characters/Scarlett Johansson/Scarlett4.safetensors",
"Characters/Widowmaker/SDXL_ow1 Windowmaker.safetensors",
"Characters/Widowmaker/WidowmakerPonyLoRA.safetensors",
"Characters/Widowmaker/Widowmaker_cgi.safetensors",
"Characters/princess_xl_v2.safetensors",
"Characters/princess_zelda.safetensors",
"Citron Pony Styles/80s_Pop_PDXL.safetensors",
"Citron Pony Styles/Alola_Style_PDXL.safetensors",
"Citron Pony Styles/BoldToon.safetensors",
"Citron Pony Styles/CandyCuteStylePDXL.safetensors",
"Citron Pony Styles/CatalystStylePDXL.safetensors",
"Citron Pony Styles/Citron3D_PDXL.safetensors",
"Citron Pony Styles/CitronAnimeTreasure-07.safetensors",
"Citron Pony Styles/EnergyCAT.safetensors",
"Citron Pony Styles/FlatAnimeP1.safetensors",
"Citron Pony Styles/LunarCAT_Style.safetensors",
"Citron Pony Styles/RealisticAnime.safetensors",
"Citron Pony Styles/Smooth.safetensors",
"Citron Pony Styles/Vivid.safetensors",
"Expressive_H-000001.safetensors",
"Hand v2.safetensors",
"LogoRedmondV2-Logo-LogoRedmAF.safetensors",
"NSFW/2025/cheekbulge.safetensors",
"NSFW/2025/closedmouthfullofcum.safetensors",
"NSFW/2025/doublepenetration_r1.safetensors",
"NSFW/2025/xray (1).safetensors",
"NSFW/Acts/LapBlowLyingV1.safetensors",
"NSFW/Acts/Long tongue fellatio.safetensors",
"NSFW/Acts/Proper_Grinding.safetensors",
"NSFW/Acts/Vacuum felaltio-000009.safetensors",
"NSFW/Acts/assworship.safetensors",
"NSFW/Acts/boobsuck.safetensors",
"NSFW/Acts/breasts_squeezed_together_v02.safetensors",
"NSFW/Acts/chikan_v31.safetensors",
"NSFW/Acts/concept_sideboobpeek_ponyXL.safetensors",
"NSFW/Acts/covering privates_XL_V10.safetensors",
"NSFW/Acts/facesit_pov_pdxl_goofy.safetensors",
"NSFW/Acts/grinding_pony_V10.safetensors",
"NSFW/Acts/hand_milking_pdxl_goofy.safetensors",
"NSFW/Acts/mating_press_v02-pony.safetensors",
"NSFW/Acts/pantjob.safetensors",
"NSFW/Acts/undressing_another_v05.safetensors",
"NSFW/All the way through tentacles.safetensors",
"NSFW/Deep_Throat_JAV_MIAA572_PONY_V1.safetensors",
"NSFW/FComic_1to1000_Pony_V1.safetensors",
"NSFW/FComic_HardCore_Pony_V1.safetensors",
"NSFW/Poses/Double anal back-000006.safetensors",
"NSFW/Poses/Double penetration suspended LORA-000009.safetensors",
"NSFW/Poses/Missionary DP 2-000008.safetensors",
"NSFW/Poses/Piledrive pov-000008.safetensors",
"NSFW/Poses/Pressed_Missionary_Feet_On_Chest.safetensors",
"NSFW/Poses/Pretzel.safetensors",
"NSFW/Poses/Reverse spitroast.safetensors",
"NSFW/Poses/chokesex.safetensors",
"NSFW/Poses/dp_from_behind_v01b.safetensors",
"NSFW/Poses/leg_up_side_matsubamuzushi_pony_V10.safetensors",
"NSFW/Poses/suspended_congress_kiben_pony_V10.safetensors",
"NSFW/Poses/suspensionPony.safetensors",
"NSFW/Poses/top-down_doggystyle_v02-pony.safetensors",
"NSFW/Poses/wheel_barrow_oshiguruma_pony_V10.safetensors",
"NSFW/Rough_Sex_Any_position.safetensors",
"NSFW/Saya-spread pussy(fingers).safetensors",
"NSFW/X-ray anal 3.safetensors",
"NSFW/closeprone.safetensors",
"NSFW/cumontongue.safetensors",
"NSFW/helpbj.safetensors",
"NSFW/micro_bra_pdxl_goofy.safetensors",
"NSFW/mouthful.safetensors",
"NSFW/projectile_cum_v02.safetensors",
"NSFW/pussy_sandwich_v02-pony.safetensors",
"NSFW/restroom_v02a.safetensors",
"NSFW/spp_spreadpussy-W-V1.safetensors",
"Vixon's Pony Styles/Sh4rd4n1cXLP.safetensors",
"Vixon's Pony Styles/ch33s3XLP.safetensors",
"Vixon's Pony Styles/itsyelizXLP.safetensors",
"Vixon's Pony Styles/lalangheejXLP.safetensors",
"Vixon's Pony Styles/nikkileeismeXLP.safetensors",
"Vixon's Pony Styles/tomidoronXLP.safetensors",
"WowifierXL-V2.safetensors",
"detailed_notrigger.safetensors",
"detailxl.safetensors"
]
],
"strength_model": [
"FLOAT",
{ "default": 1.0, "min": -100.0, "max": 100.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "lora_name", "strength_model"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "LoraLoaderModelOnly",
"display_name": "LoraLoaderModelOnly",
"description": "LoRAs are used to modify diffusion and CLIP models, altering the way in which latents are denoised such as applying styles. Multiple LoRA nodes can be linked together.",
"python_module": "nodes",
"category": "loaders",
"output_node": false,
"output_tooltips": [
"The modified diffusion model.",
"The modified CLIP model."
]
},
"LatentAdd": {
"input": { "required": { "samples1": ["LATENT"], "samples2": ["LATENT"] } },
"input_order": { "required": ["samples1", "samples2"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentAdd",
"display_name": "LatentAdd",
"description": "",
"python_module": "comfy_extras.nodes_latent",
"category": "latent/advanced",
"output_node": false
},
"LatentSubtract": {
"input": { "required": { "samples1": ["LATENT"], "samples2": ["LATENT"] } },
"input_order": { "required": ["samples1", "samples2"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentSubtract",
"display_name": "LatentSubtract",
"description": "",
"python_module": "comfy_extras.nodes_latent",
"category": "latent/advanced",
"output_node": false
},
"LatentMultiply": {
"input": {
"required": {
"samples": ["LATENT"],
"multiplier": [
"FLOAT",
{ "default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["samples", "multiplier"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentMultiply",
"display_name": "LatentMultiply",
"description": "",
"python_module": "comfy_extras.nodes_latent",
"category": "latent/advanced",
"output_node": false
},
"LatentInterpolate": {
"input": {
"required": {
"samples1": ["LATENT"],
"samples2": ["LATENT"],
"ratio": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["samples1", "samples2", "ratio"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentInterpolate",
"display_name": "LatentInterpolate",
"description": "",
"python_module": "comfy_extras.nodes_latent",
"category": "latent/advanced",
"output_node": false
},
"LatentBatch": {
"input": { "required": { "samples1": ["LATENT"], "samples2": ["LATENT"] } },
"input_order": { "required": ["samples1", "samples2"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentBatch",
"display_name": "LatentBatch",
"description": "",
"python_module": "comfy_extras.nodes_latent",
"category": "latent/batch",
"output_node": false
},
"LatentBatchSeedBehavior": {
"input": {
"required": {
"samples": ["LATENT"],
"seed_behavior": [["random", "fixed"], { "default": "fixed" }]
}
},
"input_order": { "required": ["samples", "seed_behavior"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentBatchSeedBehavior",
"display_name": "LatentBatchSeedBehavior",
"description": "",
"python_module": "comfy_extras.nodes_latent",
"category": "latent/advanced",
"output_node": false
},
"LatentApplyOperation": {
"input": {
"required": { "samples": ["LATENT"], "operation": ["LATENT_OPERATION"] }
},
"input_order": { "required": ["samples", "operation"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentApplyOperation",
"display_name": "LatentApplyOperation",
"description": "",
"python_module": "comfy_extras.nodes_latent",
"category": "latent/advanced/operations",
"output_node": false,
"experimental": true
},
"LatentApplyOperationCFG": {
"input": {
"required": { "model": ["MODEL"], "operation": ["LATENT_OPERATION"] }
},
"input_order": { "required": ["model", "operation"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "LatentApplyOperationCFG",
"display_name": "LatentApplyOperationCFG",
"description": "",
"python_module": "comfy_extras.nodes_latent",
"category": "latent/advanced/operations",
"output_node": false,
"experimental": true
},
"LatentOperationTonemapReinhard": {
"input": {
"required": {
"multiplier": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 100.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["multiplier"] },
"output": ["LATENT_OPERATION"],
"output_is_list": [false],
"output_name": ["LATENT_OPERATION"],
"name": "LatentOperationTonemapReinhard",
"display_name": "LatentOperationTonemapReinhard",
"description": "",
"python_module": "comfy_extras.nodes_latent",
"category": "latent/advanced/operations",
"output_node": false,
"experimental": true
},
"LatentOperationSharpen": {
"input": {
"required": {
"sharpen_radius": [
"INT",
{ "default": 9, "min": 1, "max": 31, "step": 1 }
],
"sigma": [
"FLOAT",
{ "default": 1.0, "min": 0.1, "max": 10.0, "step": 0.1 }
],
"alpha": [
"FLOAT",
{ "default": 0.1, "min": 0.0, "max": 5.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["sharpen_radius", "sigma", "alpha"] },
"output": ["LATENT_OPERATION"],
"output_is_list": [false],
"output_name": ["LATENT_OPERATION"],
"name": "LatentOperationSharpen",
"display_name": "LatentOperationSharpen",
"description": "",
"python_module": "comfy_extras.nodes_latent",
"category": "latent/advanced/operations",
"output_node": false,
"experimental": true
},
"HypernetworkLoader": {
"input": {
"required": {
"model": ["MODEL"],
"hypernetwork_name": [[]],
"strength": [
"FLOAT",
{ "default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "hypernetwork_name", "strength"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "HypernetworkLoader",
"display_name": "HypernetworkLoader",
"description": "",
"python_module": "comfy_extras.nodes_hypernetwork",
"category": "loaders",
"output_node": false
},
"UpscaleModelLoader": {
"input": {
"required": {
"model_name": [
[
"4x-AnimeSharp.pth",
"4x-UltraSharp.pth",
"4xNMKDSuperscale_4xNMKDSuperscale.pt",
"ESRGAN_4x.pth",
"GFPGANv1.4.pth",
"RealESRGAN_x4plus.pth",
"RealESRGAN_x4plus_anime_6B.pth",
"SwinIR_4x.pth"
]
]
}
},
"input_order": { "required": ["model_name"] },
"output": ["UPSCALE_MODEL"],
"output_is_list": [false],
"output_name": ["UPSCALE_MODEL"],
"name": "UpscaleModelLoader",
"display_name": "Load Upscale Model",
"description": "",
"python_module": "comfy_extras.nodes_upscale_model",
"category": "loaders",
"output_node": false
},
"ImageUpscaleWithModel": {
"input": {
"required": { "upscale_model": ["UPSCALE_MODEL"], "image": ["IMAGE"] }
},
"input_order": { "required": ["upscale_model", "image"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "ImageUpscaleWithModel",
"display_name": "Upscale Image (using Model)",
"description": "",
"python_module": "comfy_extras.nodes_upscale_model",
"category": "image/upscaling",
"output_node": false
},
"ImageBlend": {
"input": {
"required": {
"image1": ["IMAGE"],
"image2": ["IMAGE"],
"blend_factor": [
"FLOAT",
{ "default": 0.5, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blend_mode": [
[
"normal",
"multiply",
"screen",
"overlay",
"soft_light",
"difference"
]
]
}
},
"input_order": {
"required": ["image1", "image2", "blend_factor", "blend_mode"]
},
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "ImageBlend",
"display_name": "Image Blend",
"description": "",
"python_module": "comfy_extras.nodes_post_processing",
"category": "image/postprocessing",
"output_node": false
},
"ImageBlur": {
"input": {
"required": {
"image": ["IMAGE"],
"blur_radius": [
"INT",
{ "default": 1, "min": 1, "max": 31, "step": 1 }
],
"sigma": [
"FLOAT",
{ "default": 1.0, "min": 0.1, "max": 10.0, "step": 0.1 }
]
}
},
"input_order": { "required": ["image", "blur_radius", "sigma"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "ImageBlur",
"display_name": "Image Blur",
"description": "",
"python_module": "comfy_extras.nodes_post_processing",
"category": "image/postprocessing",
"output_node": false
},
"ImageQuantize": {
"input": {
"required": {
"image": ["IMAGE"],
"colors": ["INT", { "default": 256, "min": 1, "max": 256, "step": 1 }],
"dither": [
[
"none",
"floyd-steinberg",
"bayer-2",
"bayer-4",
"bayer-8",
"bayer-16"
]
]
}
},
"input_order": { "required": ["image", "colors", "dither"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "ImageQuantize",
"display_name": "Image Quantize",
"description": "",
"python_module": "comfy_extras.nodes_post_processing",
"category": "image/postprocessing",
"output_node": false
},
"ImageSharpen": {
"input": {
"required": {
"image": ["IMAGE"],
"sharpen_radius": [
"INT",
{ "default": 1, "min": 1, "max": 31, "step": 1 }
],
"sigma": [
"FLOAT",
{ "default": 1.0, "min": 0.1, "max": 10.0, "step": 0.01 }
],
"alpha": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 5.0, "step": 0.01 }
]
}
},
"input_order": {
"required": ["image", "sharpen_radius", "sigma", "alpha"]
},
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "ImageSharpen",
"display_name": "Image Sharpen",
"description": "",
"python_module": "comfy_extras.nodes_post_processing",
"category": "image/postprocessing",
"output_node": false
},
"ImageScaleToTotalPixels": {
"input": {
"required": {
"image": ["IMAGE"],
"upscale_method": [
["nearest-exact", "bilinear", "area", "bicubic", "lanczos"]
],
"megapixels": [
"FLOAT",
{ "default": 1.0, "min": 0.01, "max": 16.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["image", "upscale_method", "megapixels"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "ImageScaleToTotalPixels",
"display_name": "Scale Image to Total Pixels",
"description": "",
"python_module": "comfy_extras.nodes_post_processing",
"category": "image/upscaling",
"output_node": false
},
"LatentCompositeMasked": {
"input": {
"required": {
"destination": ["LATENT"],
"source": ["LATENT"],
"x": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }],
"y": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 8 }],
"resize_source": ["BOOLEAN", { "default": false }]
},
"optional": { "mask": ["MASK"] }
},
"input_order": {
"required": ["destination", "source", "x", "y", "resize_source"],
"optional": ["mask"]
},
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "LatentCompositeMasked",
"display_name": "LatentCompositeMasked",
"description": "",
"python_module": "comfy_extras.nodes_mask",
"category": "latent",
"output_node": false
},
"ImageCompositeMasked": {
"input": {
"required": {
"destination": ["IMAGE"],
"source": ["IMAGE"],
"x": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }],
"y": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }],
"resize_source": ["BOOLEAN", { "default": false }]
},
"optional": { "mask": ["MASK"] }
},
"input_order": {
"required": ["destination", "source", "x", "y", "resize_source"],
"optional": ["mask"]
},
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "ImageCompositeMasked",
"display_name": "ImageCompositeMasked",
"description": "",
"python_module": "comfy_extras.nodes_mask",
"category": "image",
"output_node": false
},
"MaskToImage": {
"input": { "required": { "mask": ["MASK"] } },
"input_order": { "required": ["mask"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "MaskToImage",
"display_name": "Convert Mask to Image",
"description": "",
"python_module": "comfy_extras.nodes_mask",
"category": "mask",
"output_node": false
},
"ImageToMask": {
"input": {
"required": {
"image": ["IMAGE"],
"channel": [["red", "green", "blue", "alpha"]]
}
},
"input_order": { "required": ["image", "channel"] },
"output": ["MASK"],
"output_is_list": [false],
"output_name": ["MASK"],
"name": "ImageToMask",
"display_name": "Convert Image to Mask",
"description": "",
"python_module": "comfy_extras.nodes_mask",
"category": "mask",
"output_node": false
},
"ImageColorToMask": {
"input": {
"required": {
"image": ["IMAGE"],
"color": [
"INT",
{
"default": 0,
"min": 0,
"max": 16777215,
"step": 1,
"display": "color"
}
]
}
},
"input_order": { "required": ["image", "color"] },
"output": ["MASK"],
"output_is_list": [false],
"output_name": ["MASK"],
"name": "ImageColorToMask",
"display_name": "ImageColorToMask",
"description": "",
"python_module": "comfy_extras.nodes_mask",
"category": "mask",
"output_node": false
},
"SolidMask": {
"input": {
"required": {
"value": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"width": ["INT", { "default": 512, "min": 1, "max": 16384, "step": 1 }],
"height": ["INT", { "default": 512, "min": 1, "max": 16384, "step": 1 }]
}
},
"input_order": { "required": ["value", "width", "height"] },
"output": ["MASK"],
"output_is_list": [false],
"output_name": ["MASK"],
"name": "SolidMask",
"display_name": "SolidMask",
"description": "",
"python_module": "comfy_extras.nodes_mask",
"category": "mask",
"output_node": false
},
"InvertMask": {
"input": { "required": { "mask": ["MASK"] } },
"input_order": { "required": ["mask"] },
"output": ["MASK"],
"output_is_list": [false],
"output_name": ["MASK"],
"name": "InvertMask",
"display_name": "InvertMask",
"description": "",
"python_module": "comfy_extras.nodes_mask",
"category": "mask",
"output_node": false
},
"CropMask": {
"input": {
"required": {
"mask": ["MASK"],
"x": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }],
"y": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }],
"width": ["INT", { "default": 512, "min": 1, "max": 16384, "step": 1 }],
"height": ["INT", { "default": 512, "min": 1, "max": 16384, "step": 1 }]
}
},
"input_order": { "required": ["mask", "x", "y", "width", "height"] },
"output": ["MASK"],
"output_is_list": [false],
"output_name": ["MASK"],
"name": "CropMask",
"display_name": "CropMask",
"description": "",
"python_module": "comfy_extras.nodes_mask",
"category": "mask",
"output_node": false
},
"MaskComposite": {
"input": {
"required": {
"destination": ["MASK"],
"source": ["MASK"],
"x": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }],
"y": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }],
"operation": [["multiply", "add", "subtract", "and", "or", "xor"]]
}
},
"input_order": {
"required": ["destination", "source", "x", "y", "operation"]
},
"output": ["MASK"],
"output_is_list": [false],
"output_name": ["MASK"],
"name": "MaskComposite",
"display_name": "MaskComposite",
"description": "",
"python_module": "comfy_extras.nodes_mask",
"category": "mask",
"output_node": false
},
"FeatherMask": {
"input": {
"required": {
"mask": ["MASK"],
"left": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }],
"top": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }],
"right": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }],
"bottom": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }]
}
},
"input_order": { "required": ["mask", "left", "top", "right", "bottom"] },
"output": ["MASK"],
"output_is_list": [false],
"output_name": ["MASK"],
"name": "FeatherMask",
"display_name": "FeatherMask",
"description": "",
"python_module": "comfy_extras.nodes_mask",
"category": "mask",
"output_node": false
},
"GrowMask": {
"input": {
"required": {
"mask": ["MASK"],
"expand": [
"INT",
{ "default": 0, "min": -16384, "max": 16384, "step": 1 }
],
"tapered_corners": ["BOOLEAN", { "default": true }]
}
},
"input_order": { "required": ["mask", "expand", "tapered_corners"] },
"output": ["MASK"],
"output_is_list": [false],
"output_name": ["MASK"],
"name": "GrowMask",
"display_name": "GrowMask",
"description": "",
"python_module": "comfy_extras.nodes_mask",
"category": "mask",
"output_node": false
},
"ThresholdMask": {
"input": {
"required": {
"mask": ["MASK"],
"value": [
"FLOAT",
{ "default": 0.5, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["mask", "value"] },
"output": ["MASK"],
"output_is_list": [false],
"output_name": ["MASK"],
"name": "ThresholdMask",
"display_name": "ThresholdMask",
"description": "",
"python_module": "comfy_extras.nodes_mask",
"category": "mask",
"output_node": false
},
"PorterDuffImageComposite": {
"input": {
"required": {
"source": ["IMAGE"],
"source_alpha": ["MASK"],
"destination": ["IMAGE"],
"destination_alpha": ["MASK"],
"mode": [
[
"ADD",
"CLEAR",
"DARKEN",
"DST",
"DST_ATOP",
"DST_IN",
"DST_OUT",
"DST_OVER",
"LIGHTEN",
"MULTIPLY",
"OVERLAY",
"SCREEN",
"SRC",
"SRC_ATOP",
"SRC_IN",
"SRC_OUT",
"SRC_OVER",
"XOR"
],
{ "default": "DST" }
]
}
},
"input_order": {
"required": [
"source",
"source_alpha",
"destination",
"destination_alpha",
"mode"
]
},
"output": ["IMAGE", "MASK"],
"output_is_list": [false, false],
"output_name": ["IMAGE", "MASK"],
"name": "PorterDuffImageComposite",
"display_name": "Porter-Duff Image Composite",
"description": "",
"python_module": "comfy_extras.nodes_compositing",
"category": "mask/compositing",
"output_node": false
},
"SplitImageWithAlpha": {
"input": { "required": { "image": ["IMAGE"] } },
"input_order": { "required": ["image"] },
"output": ["IMAGE", "MASK"],
"output_is_list": [false, false],
"output_name": ["IMAGE", "MASK"],
"name": "SplitImageWithAlpha",
"display_name": "Split Image with Alpha",
"description": "",
"python_module": "comfy_extras.nodes_compositing",
"category": "mask/compositing",
"output_node": false
},
"JoinImageWithAlpha": {
"input": { "required": { "image": ["IMAGE"], "alpha": ["MASK"] } },
"input_order": { "required": ["image", "alpha"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "JoinImageWithAlpha",
"display_name": "Join Image with Alpha",
"description": "",
"python_module": "comfy_extras.nodes_compositing",
"category": "mask/compositing",
"output_node": false
},
"RebatchLatents": {
"input": {
"required": {
"latents": ["LATENT"],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }]
}
},
"input_order": { "required": ["latents", "batch_size"] },
"output": ["LATENT"],
"output_is_list": [true],
"output_name": ["LATENT"],
"name": "RebatchLatents",
"display_name": "Rebatch Latents",
"description": "",
"python_module": "comfy_extras.nodes_rebatch",
"category": "latent/batch",
"output_node": false
},
"RebatchImages": {
"input": {
"required": {
"images": ["IMAGE"],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }]
}
},
"input_order": { "required": ["images", "batch_size"] },
"output": ["IMAGE"],
"output_is_list": [true],
"output_name": ["IMAGE"],
"name": "RebatchImages",
"display_name": "Rebatch Images",
"description": "",
"python_module": "comfy_extras.nodes_rebatch",
"category": "image/batch",
"output_node": false
},
"ModelMergeSimple": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"ratio": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model1", "model2", "ratio"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeSimple",
"display_name": "ModelMergeSimple",
"description": "",
"python_module": "comfy_extras.nodes_model_merging",
"category": "advanced/model_merging",
"output_node": false
},
"ModelMergeBlocks": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"input": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"middle": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"out": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": ["model1", "model2", "input", "middle", "out"]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeBlocks",
"display_name": "ModelMergeBlocks",
"description": "",
"python_module": "comfy_extras.nodes_model_merging",
"category": "advanced/model_merging",
"output_node": false
},
"ModelMergeSubtract": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"multiplier": [
"FLOAT",
{ "default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model1", "model2", "multiplier"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeSubtract",
"display_name": "ModelMergeSubtract",
"description": "",
"python_module": "comfy_extras.nodes_model_merging",
"category": "advanced/model_merging",
"output_node": false
},
"ModelMergeAdd": {
"input": { "required": { "model1": ["MODEL"], "model2": ["MODEL"] } },
"input_order": { "required": ["model1", "model2"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeAdd",
"display_name": "ModelMergeAdd",
"description": "",
"python_module": "comfy_extras.nodes_model_merging",
"category": "advanced/model_merging",
"output_node": false
},
"CheckpointSave": {
"input": {
"required": {
"model": ["MODEL"],
"clip": ["CLIP"],
"vae": ["VAE"],
"filename_prefix": ["STRING", { "default": "checkpoints/ComfyUI" }]
},
"hidden": { "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" }
},
"input_order": {
"required": ["model", "clip", "vae", "filename_prefix"],
"hidden": ["prompt", "extra_pnginfo"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "CheckpointSave",
"display_name": "Save Checkpoint",
"description": "",
"python_module": "comfy_extras.nodes_model_merging",
"category": "advanced/model_merging",
"output_node": true
},
"CLIPMergeSimple": {
"input": {
"required": {
"clip1": ["CLIP"],
"clip2": ["CLIP"],
"ratio": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["clip1", "clip2", "ratio"] },
"output": ["CLIP"],
"output_is_list": [false],
"output_name": ["CLIP"],
"name": "CLIPMergeSimple",
"display_name": "CLIPMergeSimple",
"description": "",
"python_module": "comfy_extras.nodes_model_merging",
"category": "advanced/model_merging",
"output_node": false
},
"CLIPMergeSubtract": {
"input": {
"required": {
"clip1": ["CLIP"],
"clip2": ["CLIP"],
"multiplier": [
"FLOAT",
{ "default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["clip1", "clip2", "multiplier"] },
"output": ["CLIP"],
"output_is_list": [false],
"output_name": ["CLIP"],
"name": "CLIPMergeSubtract",
"display_name": "CLIPMergeSubtract",
"description": "",
"python_module": "comfy_extras.nodes_model_merging",
"category": "advanced/model_merging",
"output_node": false
},
"CLIPMergeAdd": {
"input": { "required": { "clip1": ["CLIP"], "clip2": ["CLIP"] } },
"input_order": { "required": ["clip1", "clip2"] },
"output": ["CLIP"],
"output_is_list": [false],
"output_name": ["CLIP"],
"name": "CLIPMergeAdd",
"display_name": "CLIPMergeAdd",
"description": "",
"python_module": "comfy_extras.nodes_model_merging",
"category": "advanced/model_merging",
"output_node": false
},
"CLIPSave": {
"input": {
"required": {
"clip": ["CLIP"],
"filename_prefix": ["STRING", { "default": "clip/ComfyUI" }]
},
"hidden": { "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" }
},
"input_order": {
"required": ["clip", "filename_prefix"],
"hidden": ["prompt", "extra_pnginfo"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "CLIPSave",
"display_name": "CLIPSave",
"description": "",
"python_module": "comfy_extras.nodes_model_merging",
"category": "advanced/model_merging",
"output_node": true
},
"VAESave": {
"input": {
"required": {
"vae": ["VAE"],
"filename_prefix": ["STRING", { "default": "vae/ComfyUI_vae" }]
},
"hidden": { "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" }
},
"input_order": {
"required": ["vae", "filename_prefix"],
"hidden": ["prompt", "extra_pnginfo"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "VAESave",
"display_name": "VAESave",
"description": "",
"python_module": "comfy_extras.nodes_model_merging",
"category": "advanced/model_merging",
"output_node": true
},
"ModelSave": {
"input": {
"required": {
"model": ["MODEL"],
"filename_prefix": ["STRING", { "default": "diffusion_models/ComfyUI" }]
},
"hidden": { "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" }
},
"input_order": {
"required": ["model", "filename_prefix"],
"hidden": ["prompt", "extra_pnginfo"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "ModelSave",
"display_name": "ModelSave",
"description": "",
"python_module": "comfy_extras.nodes_model_merging",
"category": "advanced/model_merging",
"output_node": true
},
"TomePatchModel": {
"input": {
"required": {
"model": ["MODEL"],
"ratio": [
"FLOAT",
{ "default": 0.3, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "ratio"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "TomePatchModel",
"display_name": "TomePatchModel",
"description": "",
"python_module": "comfy_extras.nodes_tomesd",
"category": "model_patches/unet",
"output_node": false
},
"CLIPTextEncodeSDXLRefiner": {
"input": {
"required": {
"ascore": [
"FLOAT",
{ "default": 6.0, "min": 0.0, "max": 1000.0, "step": 0.01 }
],
"width": ["INT", { "default": 1024.0, "min": 0, "max": 16384 }],
"height": ["INT", { "default": 1024.0, "min": 0, "max": 16384 }],
"text": ["STRING", { "multiline": true, "dynamicPrompts": true }],
"clip": ["CLIP"]
}
},
"input_order": {
"required": ["ascore", "width", "height", "text", "clip"]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "CLIPTextEncodeSDXLRefiner",
"display_name": "CLIPTextEncodeSDXLRefiner",
"description": "",
"python_module": "comfy_extras.nodes_clip_sdxl",
"category": "advanced/conditioning",
"output_node": false
},
"CLIPTextEncodeSDXL": {
"input": {
"required": {
"clip": ["CLIP"],
"width": ["INT", { "default": 1024.0, "min": 0, "max": 16384 }],
"height": ["INT", { "default": 1024.0, "min": 0, "max": 16384 }],
"crop_w": ["INT", { "default": 0, "min": 0, "max": 16384 }],
"crop_h": ["INT", { "default": 0, "min": 0, "max": 16384 }],
"target_width": ["INT", { "default": 1024.0, "min": 0, "max": 16384 }],
"target_height": ["INT", { "default": 1024.0, "min": 0, "max": 16384 }],
"text_g": ["STRING", { "multiline": true, "dynamicPrompts": true }],
"text_l": ["STRING", { "multiline": true, "dynamicPrompts": true }]
}
},
"input_order": {
"required": [
"clip",
"width",
"height",
"crop_w",
"crop_h",
"target_width",
"target_height",
"text_g",
"text_l"
]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "CLIPTextEncodeSDXL",
"display_name": "CLIPTextEncodeSDXL",
"description": "",
"python_module": "comfy_extras.nodes_clip_sdxl",
"category": "advanced/conditioning",
"output_node": false
},
"Canny": {
"input": {
"required": {
"image": ["IMAGE"],
"low_threshold": [
"FLOAT",
{ "default": 0.4, "min": 0.01, "max": 0.99, "step": 0.01 }
],
"high_threshold": [
"FLOAT",
{ "default": 0.8, "min": 0.01, "max": 0.99, "step": 0.01 }
]
}
},
"input_order": { "required": ["image", "low_threshold", "high_threshold"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "Canny",
"display_name": "Canny",
"description": "",
"python_module": "comfy_extras.nodes_canny",
"category": "image/preprocessors",
"output_node": false
},
"FreeU": {
"input": {
"required": {
"model": ["MODEL"],
"b1": [
"FLOAT",
{ "default": 1.1, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"b2": [
"FLOAT",
{ "default": 1.2, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"s1": [
"FLOAT",
{ "default": 0.9, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"s2": [
"FLOAT",
{ "default": 0.2, "min": 0.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "b1", "b2", "s1", "s2"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "FreeU",
"display_name": "FreeU",
"description": "",
"python_module": "comfy_extras.nodes_freelunch",
"category": "model_patches/unet",
"output_node": false
},
"FreeU_V2": {
"input": {
"required": {
"model": ["MODEL"],
"b1": [
"FLOAT",
{ "default": 1.3, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"b2": [
"FLOAT",
{ "default": 1.4, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"s1": [
"FLOAT",
{ "default": 0.9, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"s2": [
"FLOAT",
{ "default": 0.2, "min": 0.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "b1", "b2", "s1", "s2"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "FreeU_V2",
"display_name": "FreeU_V2",
"description": "",
"python_module": "comfy_extras.nodes_freelunch",
"category": "model_patches/unet",
"output_node": false
},
"SamplerCustom": {
"input": {
"required": {
"model": ["MODEL"],
"add_noise": ["BOOLEAN", { "default": true }],
"noise_seed": [
"INT",
{
"default": 0,
"min": 0,
"max": 18446744073709551615,
"control_after_generate": true
}
],
"cfg": [
"FLOAT",
{
"default": 8.0,
"min": 0.0,
"max": 100.0,
"step": 0.1,
"round": 0.01
}
],
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"sampler": ["SAMPLER"],
"sigmas": ["SIGMAS"],
"latent_image": ["LATENT"]
}
},
"input_order": {
"required": [
"model",
"add_noise",
"noise_seed",
"cfg",
"positive",
"negative",
"sampler",
"sigmas",
"latent_image"
]
},
"output": ["LATENT", "LATENT"],
"output_is_list": [false, false],
"output_name": ["output", "denoised_output"],
"name": "SamplerCustom",
"display_name": "SamplerCustom",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling",
"output_node": false
},
"BasicScheduler": {
"input": {
"required": {
"model": ["MODEL"],
"scheduler": [
[
"normal",
"karras",
"exponential",
"sgm_uniform",
"simple",
"ddim_uniform",
"beta",
"linear_quadratic",
"kl_optimal"
]
],
"steps": ["INT", { "default": 20, "min": 1, "max": 10000 }],
"denoise": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "scheduler", "steps", "denoise"] },
"output": ["SIGMAS"],
"output_is_list": [false],
"output_name": ["SIGMAS"],
"name": "BasicScheduler",
"display_name": "BasicScheduler",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/schedulers",
"output_node": false
},
"KarrasScheduler": {
"input": {
"required": {
"steps": ["INT", { "default": 20, "min": 1, "max": 10000 }],
"sigma_max": [
"FLOAT",
{
"default": 14.614642,
"min": 0.0,
"max": 5000.0,
"step": 0.01,
"round": false
}
],
"sigma_min": [
"FLOAT",
{
"default": 0.0291675,
"min": 0.0,
"max": 5000.0,
"step": 0.01,
"round": false
}
],
"rho": [
"FLOAT",
{
"default": 7.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
]
}
},
"input_order": { "required": ["steps", "sigma_max", "sigma_min", "rho"] },
"output": ["SIGMAS"],
"output_is_list": [false],
"output_name": ["SIGMAS"],
"name": "KarrasScheduler",
"display_name": "KarrasScheduler",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/schedulers",
"output_node": false
},
"ExponentialScheduler": {
"input": {
"required": {
"steps": ["INT", { "default": 20, "min": 1, "max": 10000 }],
"sigma_max": [
"FLOAT",
{
"default": 14.614642,
"min": 0.0,
"max": 5000.0,
"step": 0.01,
"round": false
}
],
"sigma_min": [
"FLOAT",
{
"default": 0.0291675,
"min": 0.0,
"max": 5000.0,
"step": 0.01,
"round": false
}
]
}
},
"input_order": { "required": ["steps", "sigma_max", "sigma_min"] },
"output": ["SIGMAS"],
"output_is_list": [false],
"output_name": ["SIGMAS"],
"name": "ExponentialScheduler",
"display_name": "ExponentialScheduler",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/schedulers",
"output_node": false
},
"PolyexponentialScheduler": {
"input": {
"required": {
"steps": ["INT", { "default": 20, "min": 1, "max": 10000 }],
"sigma_max": [
"FLOAT",
{
"default": 14.614642,
"min": 0.0,
"max": 5000.0,
"step": 0.01,
"round": false
}
],
"sigma_min": [
"FLOAT",
{
"default": 0.0291675,
"min": 0.0,
"max": 5000.0,
"step": 0.01,
"round": false
}
],
"rho": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
]
}
},
"input_order": { "required": ["steps", "sigma_max", "sigma_min", "rho"] },
"output": ["SIGMAS"],
"output_is_list": [false],
"output_name": ["SIGMAS"],
"name": "PolyexponentialScheduler",
"display_name": "PolyexponentialScheduler",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/schedulers",
"output_node": false
},
"LaplaceScheduler": {
"input": {
"required": {
"steps": ["INT", { "default": 20, "min": 1, "max": 10000 }],
"sigma_max": [
"FLOAT",
{
"default": 14.614642,
"min": 0.0,
"max": 5000.0,
"step": 0.01,
"round": false
}
],
"sigma_min": [
"FLOAT",
{
"default": 0.0291675,
"min": 0.0,
"max": 5000.0,
"step": 0.01,
"round": false
}
],
"mu": [
"FLOAT",
{
"default": 0.0,
"min": -10.0,
"max": 10.0,
"step": 0.1,
"round": false
}
],
"beta": [
"FLOAT",
{
"default": 0.5,
"min": 0.0,
"max": 10.0,
"step": 0.1,
"round": false
}
]
}
},
"input_order": {
"required": ["steps", "sigma_max", "sigma_min", "mu", "beta"]
},
"output": ["SIGMAS"],
"output_is_list": [false],
"output_name": ["SIGMAS"],
"name": "LaplaceScheduler",
"display_name": "LaplaceScheduler",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/schedulers",
"output_node": false
},
"VPScheduler": {
"input": {
"required": {
"steps": ["INT", { "default": 20, "min": 1, "max": 10000 }],
"beta_d": [
"FLOAT",
{
"default": 19.9,
"min": 0.0,
"max": 5000.0,
"step": 0.01,
"round": false
}
],
"beta_min": [
"FLOAT",
{
"default": 0.1,
"min": 0.0,
"max": 5000.0,
"step": 0.01,
"round": false
}
],
"eps_s": [
"FLOAT",
{
"default": 0.001,
"min": 0.0,
"max": 1.0,
"step": 0.0001,
"round": false
}
]
}
},
"input_order": { "required": ["steps", "beta_d", "beta_min", "eps_s"] },
"output": ["SIGMAS"],
"output_is_list": [false],
"output_name": ["SIGMAS"],
"name": "VPScheduler",
"display_name": "VPScheduler",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/schedulers",
"output_node": false
},
"BetaSamplingScheduler": {
"input": {
"required": {
"model": ["MODEL"],
"steps": ["INT", { "default": 20, "min": 1, "max": 10000 }],
"alpha": [
"FLOAT",
{
"default": 0.6,
"min": 0.0,
"max": 50.0,
"step": 0.01,
"round": false
}
],
"beta": [
"FLOAT",
{
"default": 0.6,
"min": 0.0,
"max": 50.0,
"step": 0.01,
"round": false
}
]
}
},
"input_order": { "required": ["model", "steps", "alpha", "beta"] },
"output": ["SIGMAS"],
"output_is_list": [false],
"output_name": ["SIGMAS"],
"name": "BetaSamplingScheduler",
"display_name": "BetaSamplingScheduler",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/schedulers",
"output_node": false
},
"SDTurboScheduler": {
"input": {
"required": {
"model": ["MODEL"],
"steps": ["INT", { "default": 1, "min": 1, "max": 10 }],
"denoise": [
"FLOAT",
{ "default": 1.0, "min": 0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "steps", "denoise"] },
"output": ["SIGMAS"],
"output_is_list": [false],
"output_name": ["SIGMAS"],
"name": "SDTurboScheduler",
"display_name": "SDTurboScheduler",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/schedulers",
"output_node": false
},
"KSamplerSelect": {
"input": {
"required": {
"sampler_name": [
[
"euler",
"euler_cfg_pp",
"euler_ancestral",
"euler_ancestral_cfg_pp",
"heun",
"heunpp2",
"dpm_2",
"dpm_2_ancestral",
"lms",
"dpm_fast",
"dpm_adaptive",
"dpmpp_2s_ancestral",
"dpmpp_2s_ancestral_cfg_pp",
"dpmpp_sde",
"dpmpp_sde_gpu",
"dpmpp_2m",
"dpmpp_2m_cfg_pp",
"dpmpp_2m_sde",
"dpmpp_2m_sde_gpu",
"dpmpp_3m_sde",
"dpmpp_3m_sde_gpu",
"ddpm",
"lcm",
"ipndm",
"ipndm_v",
"deis",
"res_multistep",
"res_multistep_cfg_pp",
"res_multistep_ancestral",
"res_multistep_ancestral_cfg_pp",
"gradient_estimation",
"er_sde",
"ddim",
"uni_pc",
"uni_pc_bh2"
]
]
}
},
"input_order": { "required": ["sampler_name"] },
"output": ["SAMPLER"],
"output_is_list": [false],
"output_name": ["SAMPLER"],
"name": "KSamplerSelect",
"display_name": "KSamplerSelect",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/samplers",
"output_node": false
},
"SamplerEulerAncestral": {
"input": {
"required": {
"eta": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"s_noise": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
]
}
},
"input_order": { "required": ["eta", "s_noise"] },
"output": ["SAMPLER"],
"output_is_list": [false],
"output_name": ["SAMPLER"],
"name": "SamplerEulerAncestral",
"display_name": "SamplerEulerAncestral",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/samplers",
"output_node": false
},
"SamplerEulerAncestralCFGPP": {
"input": {
"required": {
"eta": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 1.0,
"step": 0.01,
"round": false
}
],
"s_noise": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 10.0,
"step": 0.01,
"round": false
}
]
}
},
"input_order": { "required": ["eta", "s_noise"] },
"output": ["SAMPLER"],
"output_is_list": [false],
"output_name": ["SAMPLER"],
"name": "SamplerEulerAncestralCFGPP",
"display_name": "SamplerEulerAncestralCFG++",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/samplers",
"output_node": false
},
"SamplerLMS": {
"input": {
"required": { "order": ["INT", { "default": 4, "min": 1, "max": 100 }] }
},
"input_order": { "required": ["order"] },
"output": ["SAMPLER"],
"output_is_list": [false],
"output_name": ["SAMPLER"],
"name": "SamplerLMS",
"display_name": "SamplerLMS",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/samplers",
"output_node": false
},
"SamplerDPMPP_3M_SDE": {
"input": {
"required": {
"eta": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"s_noise": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"noise_device": [["gpu", "cpu"]]
}
},
"input_order": { "required": ["eta", "s_noise", "noise_device"] },
"output": ["SAMPLER"],
"output_is_list": [false],
"output_name": ["SAMPLER"],
"name": "SamplerDPMPP_3M_SDE",
"display_name": "SamplerDPMPP_3M_SDE",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/samplers",
"output_node": false
},
"SamplerDPMPP_2M_SDE": {
"input": {
"required": {
"solver_type": [["midpoint", "heun"]],
"eta": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"s_noise": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"noise_device": [["gpu", "cpu"]]
}
},
"input_order": {
"required": ["solver_type", "eta", "s_noise", "noise_device"]
},
"output": ["SAMPLER"],
"output_is_list": [false],
"output_name": ["SAMPLER"],
"name": "SamplerDPMPP_2M_SDE",
"display_name": "SamplerDPMPP_2M_SDE",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/samplers",
"output_node": false
},
"SamplerDPMPP_SDE": {
"input": {
"required": {
"eta": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"s_noise": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"r": [
"FLOAT",
{
"default": 0.5,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"noise_device": [["gpu", "cpu"]]
}
},
"input_order": { "required": ["eta", "s_noise", "r", "noise_device"] },
"output": ["SAMPLER"],
"output_is_list": [false],
"output_name": ["SAMPLER"],
"name": "SamplerDPMPP_SDE",
"display_name": "SamplerDPMPP_SDE",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/samplers",
"output_node": false
},
"SamplerDPMPP_2S_Ancestral": {
"input": {
"required": {
"eta": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"s_noise": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
]
}
},
"input_order": { "required": ["eta", "s_noise"] },
"output": ["SAMPLER"],
"output_is_list": [false],
"output_name": ["SAMPLER"],
"name": "SamplerDPMPP_2S_Ancestral",
"display_name": "SamplerDPMPP_2S_Ancestral",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/samplers",
"output_node": false
},
"SamplerDPMAdaptative": {
"input": {
"required": {
"order": ["INT", { "default": 3, "min": 2, "max": 3 }],
"rtol": [
"FLOAT",
{
"default": 0.05,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"atol": [
"FLOAT",
{
"default": 0.0078,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"h_init": [
"FLOAT",
{
"default": 0.05,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"pcoeff": [
"FLOAT",
{
"default": 0.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"icoeff": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"dcoeff": [
"FLOAT",
{
"default": 0.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"accept_safety": [
"FLOAT",
{
"default": 0.81,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"eta": [
"FLOAT",
{
"default": 0.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
],
"s_noise": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": false
}
]
}
},
"input_order": {
"required": [
"order",
"rtol",
"atol",
"h_init",
"pcoeff",
"icoeff",
"dcoeff",
"accept_safety",
"eta",
"s_noise"
]
},
"output": ["SAMPLER"],
"output_is_list": [false],
"output_name": ["SAMPLER"],
"name": "SamplerDPMAdaptative",
"display_name": "SamplerDPMAdaptative",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/samplers",
"output_node": false
},
"SplitSigmas": {
"input": {
"required": {
"sigmas": ["SIGMAS"],
"step": ["INT", { "default": 0, "min": 0, "max": 10000 }]
}
},
"input_order": { "required": ["sigmas", "step"] },
"output": ["SIGMAS", "SIGMAS"],
"output_is_list": [false, false],
"output_name": ["high_sigmas", "low_sigmas"],
"name": "SplitSigmas",
"display_name": "SplitSigmas",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/sigmas",
"output_node": false
},
"SplitSigmasDenoise": {
"input": {
"required": {
"sigmas": ["SIGMAS"],
"denoise": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["sigmas", "denoise"] },
"output": ["SIGMAS", "SIGMAS"],
"output_is_list": [false, false],
"output_name": ["high_sigmas", "low_sigmas"],
"name": "SplitSigmasDenoise",
"display_name": "SplitSigmasDenoise",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/sigmas",
"output_node": false
},
"FlipSigmas": {
"input": { "required": { "sigmas": ["SIGMAS"] } },
"input_order": { "required": ["sigmas"] },
"output": ["SIGMAS"],
"output_is_list": [false],
"output_name": ["SIGMAS"],
"name": "FlipSigmas",
"display_name": "FlipSigmas",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/sigmas",
"output_node": false
},
"SetFirstSigma": {
"input": {
"required": {
"sigmas": ["SIGMAS"],
"sigma": [
"FLOAT",
{
"default": 136.0,
"min": 0.0,
"max": 20000.0,
"step": 0.001,
"round": false
}
]
}
},
"input_order": { "required": ["sigmas", "sigma"] },
"output": ["SIGMAS"],
"output_is_list": [false],
"output_name": ["SIGMAS"],
"name": "SetFirstSigma",
"display_name": "SetFirstSigma",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/sigmas",
"output_node": false
},
"CFGGuider": {
"input": {
"required": {
"model": ["MODEL"],
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"cfg": [
"FLOAT",
{
"default": 8.0,
"min": 0.0,
"max": 100.0,
"step": 0.1,
"round": 0.01
}
]
}
},
"input_order": { "required": ["model", "positive", "negative", "cfg"] },
"output": ["GUIDER"],
"output_is_list": [false],
"output_name": ["GUIDER"],
"name": "CFGGuider",
"display_name": "CFGGuider",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/guiders",
"output_node": false
},
"DualCFGGuider": {
"input": {
"required": {
"model": ["MODEL"],
"cond1": ["CONDITIONING"],
"cond2": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"cfg_conds": [
"FLOAT",
{
"default": 8.0,
"min": 0.0,
"max": 100.0,
"step": 0.1,
"round": 0.01
}
],
"cfg_cond2_negative": [
"FLOAT",
{
"default": 8.0,
"min": 0.0,
"max": 100.0,
"step": 0.1,
"round": 0.01
}
]
}
},
"input_order": {
"required": [
"model",
"cond1",
"cond2",
"negative",
"cfg_conds",
"cfg_cond2_negative"
]
},
"output": ["GUIDER"],
"output_is_list": [false],
"output_name": ["GUIDER"],
"name": "DualCFGGuider",
"display_name": "DualCFGGuider",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/guiders",
"output_node": false
},
"BasicGuider": {
"input": {
"required": { "model": ["MODEL"], "conditioning": ["CONDITIONING"] }
},
"input_order": { "required": ["model", "conditioning"] },
"output": ["GUIDER"],
"output_is_list": [false],
"output_name": ["GUIDER"],
"name": "BasicGuider",
"display_name": "BasicGuider",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/guiders",
"output_node": false
},
"RandomNoise": {
"input": {
"required": {
"noise_seed": [
"INT",
{
"default": 0,
"min": 0,
"max": 18446744073709551615,
"control_after_generate": true
}
]
}
},
"input_order": { "required": ["noise_seed"] },
"output": ["NOISE"],
"output_is_list": [false],
"output_name": ["NOISE"],
"name": "RandomNoise",
"display_name": "RandomNoise",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/noise",
"output_node": false
},
"DisableNoise": {
"input": { "required": {} },
"input_order": { "required": [] },
"output": ["NOISE"],
"output_is_list": [false],
"output_name": ["NOISE"],
"name": "DisableNoise",
"display_name": "DisableNoise",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling/noise",
"output_node": false
},
"AddNoise": {
"input": {
"required": {
"model": ["MODEL"],
"noise": ["NOISE"],
"sigmas": ["SIGMAS"],
"latent_image": ["LATENT"]
}
},
"input_order": { "required": ["model", "noise", "sigmas", "latent_image"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "AddNoise",
"display_name": "AddNoise",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "_for_testing/custom_sampling/noise",
"output_node": false
},
"SamplerCustomAdvanced": {
"input": {
"required": {
"noise": ["NOISE"],
"guider": ["GUIDER"],
"sampler": ["SAMPLER"],
"sigmas": ["SIGMAS"],
"latent_image": ["LATENT"]
}
},
"input_order": {
"required": ["noise", "guider", "sampler", "sigmas", "latent_image"]
},
"output": ["LATENT", "LATENT"],
"output_is_list": [false, false],
"output_name": ["output", "denoised_output"],
"name": "SamplerCustomAdvanced",
"display_name": "SamplerCustomAdvanced",
"description": "",
"python_module": "comfy_extras.nodes_custom_sampler",
"category": "sampling/custom_sampling",
"output_node": false
},
"HyperTile": {
"input": {
"required": {
"model": ["MODEL"],
"tile_size": ["INT", { "default": 256, "min": 1, "max": 2048 }],
"swap_size": ["INT", { "default": 2, "min": 1, "max": 128 }],
"max_depth": ["INT", { "default": 0, "min": 0, "max": 10 }],
"scale_depth": ["BOOLEAN", { "default": false }]
}
},
"input_order": {
"required": [
"model",
"tile_size",
"swap_size",
"max_depth",
"scale_depth"
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "HyperTile",
"display_name": "HyperTile",
"description": "",
"python_module": "comfy_extras.nodes_hypertile",
"category": "model_patches/unet",
"output_node": false
},
"ModelSamplingDiscrete": {
"input": {
"required": {
"model": ["MODEL"],
"sampling": [["eps", "v_prediction", "lcm", "x0"]],
"zsnr": ["BOOLEAN", { "default": false }]
}
},
"input_order": { "required": ["model", "sampling", "zsnr"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelSamplingDiscrete",
"display_name": "ModelSamplingDiscrete",
"description": "",
"python_module": "comfy_extras.nodes_model_advanced",
"category": "advanced/model",
"output_node": false
},
"ModelSamplingContinuousEDM": {
"input": {
"required": {
"model": ["MODEL"],
"sampling": [["v_prediction", "edm", "edm_playground_v2.5", "eps"]],
"sigma_max": [
"FLOAT",
{
"default": 120.0,
"min": 0.0,
"max": 1000.0,
"step": 0.001,
"round": false
}
],
"sigma_min": [
"FLOAT",
{
"default": 0.002,
"min": 0.0,
"max": 1000.0,
"step": 0.001,
"round": false
}
]
}
},
"input_order": {
"required": ["model", "sampling", "sigma_max", "sigma_min"]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelSamplingContinuousEDM",
"display_name": "ModelSamplingContinuousEDM",
"description": "",
"python_module": "comfy_extras.nodes_model_advanced",
"category": "advanced/model",
"output_node": false
},
"ModelSamplingContinuousV": {
"input": {
"required": {
"model": ["MODEL"],
"sampling": [["v_prediction"]],
"sigma_max": [
"FLOAT",
{
"default": 500.0,
"min": 0.0,
"max": 1000.0,
"step": 0.001,
"round": false
}
],
"sigma_min": [
"FLOAT",
{
"default": 0.03,
"min": 0.0,
"max": 1000.0,
"step": 0.001,
"round": false
}
]
}
},
"input_order": {
"required": ["model", "sampling", "sigma_max", "sigma_min"]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelSamplingContinuousV",
"display_name": "ModelSamplingContinuousV",
"description": "",
"python_module": "comfy_extras.nodes_model_advanced",
"category": "advanced/model",
"output_node": false
},
"ModelSamplingStableCascade": {
"input": {
"required": {
"model": ["MODEL"],
"shift": [
"FLOAT",
{ "default": 2.0, "min": 0.0, "max": 100.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "shift"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelSamplingStableCascade",
"display_name": "ModelSamplingStableCascade",
"description": "",
"python_module": "comfy_extras.nodes_model_advanced",
"category": "advanced/model",
"output_node": false
},
"ModelSamplingSD3": {
"input": {
"required": {
"model": ["MODEL"],
"shift": [
"FLOAT",
{ "default": 3.0, "min": 0.0, "max": 100.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "shift"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelSamplingSD3",
"display_name": "ModelSamplingSD3",
"description": "",
"python_module": "comfy_extras.nodes_model_advanced",
"category": "advanced/model",
"output_node": false
},
"ModelSamplingAuraFlow": {
"input": {
"required": {
"model": ["MODEL"],
"shift": [
"FLOAT",
{ "default": 1.73, "min": 0.0, "max": 100.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "shift"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelSamplingAuraFlow",
"display_name": "ModelSamplingAuraFlow",
"description": "",
"python_module": "comfy_extras.nodes_model_advanced",
"category": "advanced/model",
"output_node": false
},
"ModelSamplingFlux": {
"input": {
"required": {
"model": ["MODEL"],
"max_shift": [
"FLOAT",
{ "default": 1.15, "min": 0.0, "max": 100.0, "step": 0.01 }
],
"base_shift": [
"FLOAT",
{ "default": 0.5, "min": 0.0, "max": 100.0, "step": 0.01 }
],
"width": [
"INT",
{ "default": 1024, "min": 16, "max": 16384, "step": 8 }
],
"height": [
"INT",
{ "default": 1024, "min": 16, "max": 16384, "step": 8 }
]
}
},
"input_order": {
"required": ["model", "max_shift", "base_shift", "width", "height"]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelSamplingFlux",
"display_name": "ModelSamplingFlux",
"description": "",
"python_module": "comfy_extras.nodes_model_advanced",
"category": "advanced/model",
"output_node": false
},
"RescaleCFG": {
"input": {
"required": {
"model": ["MODEL"],
"multiplier": [
"FLOAT",
{ "default": 0.7, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "multiplier"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "RescaleCFG",
"display_name": "RescaleCFG",
"description": "",
"python_module": "comfy_extras.nodes_model_advanced",
"category": "advanced/model",
"output_node": false
},
"ModelComputeDtype": {
"input": {
"required": {
"model": ["MODEL"],
"dtype": [["default", "fp32", "fp16", "bf16"]]
}
},
"input_order": { "required": ["model", "dtype"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelComputeDtype",
"display_name": "ModelComputeDtype",
"description": "",
"python_module": "comfy_extras.nodes_model_advanced",
"category": "advanced/debug/model",
"output_node": false
},
"PatchModelAddDownscale": {
"input": {
"required": {
"model": ["MODEL"],
"block_number": [
"INT",
{ "default": 3, "min": 1, "max": 32, "step": 1 }
],
"downscale_factor": [
"FLOAT",
{ "default": 2.0, "min": 0.1, "max": 9.0, "step": 0.001 }
],
"start_percent": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"end_percent": [
"FLOAT",
{ "default": 0.35, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"downscale_after_skip": ["BOOLEAN", { "default": true }],
"downscale_method": [
["bicubic", "nearest-exact", "bilinear", "area", "bislerp"]
],
"upscale_method": [
["bicubic", "nearest-exact", "bilinear", "area", "bislerp"]
]
}
},
"input_order": {
"required": [
"model",
"block_number",
"downscale_factor",
"start_percent",
"end_percent",
"downscale_after_skip",
"downscale_method",
"upscale_method"
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "PatchModelAddDownscale",
"display_name": "PatchModelAddDownscale (Kohya Deep Shrink)",
"description": "",
"python_module": "comfy_extras.nodes_model_downscale",
"category": "model_patches/unet",
"output_node": false
},
"ImageCrop": {
"input": {
"required": {
"image": ["IMAGE"],
"width": ["INT", { "default": 512, "min": 1, "max": 16384, "step": 1 }],
"height": [
"INT",
{ "default": 512, "min": 1, "max": 16384, "step": 1 }
],
"x": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }],
"y": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }]
}
},
"input_order": { "required": ["image", "width", "height", "x", "y"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "ImageCrop",
"display_name": "Image Crop",
"description": "",
"python_module": "comfy_extras.nodes_images",
"category": "image/transform",
"output_node": false
},
"RepeatImageBatch": {
"input": {
"required": {
"image": ["IMAGE"],
"amount": ["INT", { "default": 1, "min": 1, "max": 4096 }]
}
},
"input_order": { "required": ["image", "amount"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "RepeatImageBatch",
"display_name": "RepeatImageBatch",
"description": "",
"python_module": "comfy_extras.nodes_images",
"category": "image/batch",
"output_node": false
},
"ImageFromBatch": {
"input": {
"required": {
"image": ["IMAGE"],
"batch_index": ["INT", { "default": 0, "min": 0, "max": 4095 }],
"length": ["INT", { "default": 1, "min": 1, "max": 4096 }]
}
},
"input_order": { "required": ["image", "batch_index", "length"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "ImageFromBatch",
"display_name": "ImageFromBatch",
"description": "",
"python_module": "comfy_extras.nodes_images",
"category": "image/batch",
"output_node": false
},
"SaveAnimatedWEBP": {
"input": {
"required": {
"images": ["IMAGE"],
"filename_prefix": ["STRING", { "default": "ComfyUI" }],
"fps": [
"FLOAT",
{ "default": 6.0, "min": 0.01, "max": 1000.0, "step": 0.01 }
],
"lossless": ["BOOLEAN", { "default": true }],
"quality": ["INT", { "default": 80, "min": 0, "max": 100 }],
"method": [["default", "fastest", "slowest"]]
},
"hidden": { "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" }
},
"input_order": {
"required": [
"images",
"filename_prefix",
"fps",
"lossless",
"quality",
"method"
],
"hidden": ["prompt", "extra_pnginfo"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "SaveAnimatedWEBP",
"display_name": "SaveAnimatedWEBP",
"description": "",
"python_module": "comfy_extras.nodes_images",
"category": "image/animation",
"output_node": true
},
"SaveAnimatedPNG": {
"input": {
"required": {
"images": ["IMAGE"],
"filename_prefix": ["STRING", { "default": "ComfyUI" }],
"fps": [
"FLOAT",
{ "default": 6.0, "min": 0.01, "max": 1000.0, "step": 0.01 }
],
"compress_level": ["INT", { "default": 4, "min": 0, "max": 9 }]
},
"hidden": { "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" }
},
"input_order": {
"required": ["images", "filename_prefix", "fps", "compress_level"],
"hidden": ["prompt", "extra_pnginfo"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "SaveAnimatedPNG",
"display_name": "SaveAnimatedPNG",
"description": "",
"python_module": "comfy_extras.nodes_images",
"category": "image/animation",
"output_node": true
},
"ImageOnlyCheckpointLoader": {
"input": {
"required": {
"ckpt_name": [
[
"Anime/autismmixSDXL_autismmixConfetti.safetensors",
"Anime/autismmixSDXL_autismmixPony.safetensors",
"Anime/ponyDiffusionV6XL_v6StartWithThisOne.safetensors",
"Anime/prefectPonyXL_v50.safetensors",
"Anime/waiANINSFWPONYXL_v11.safetensors",
"Anime/waiANINSFWPONYXL_v130.safetensors",
"Anime/waiNSFWIllustrious_v70.safetensors",
"Babes/babesBYSTABLEYOGI_xlV2.safetensors",
"Babes/babesByStableYogi_ponyV3VAE.safetensors",
"FLUX/flux1-dev-fp8.safetensors",
"RDXL/rdxlAnime_sdxlPony8.safetensors",
"RDXL/rdxlPixelArt_pony2.safetensors",
"RDXL/realDream_sdxlPony12.safetensors",
"Realism/cyberrealisticPony_v70a.safetensors",
"Realism/cyberrealisticPony_v8.safetensors",
"Realism/realvisxlV50_v50Bakedvae.safetensors",
"SD3.5/sd3.5_large_fp16.safetensors",
"SD3.5/sd3.5_large_fp8_scaled.safetensors",
"Semi-realism/bemypony_Semirealanime.safetensors",
"Semi-realism/duchaitenPonyXLNo_v60.safetensors",
"prefectPonyXL_v3.safetensors",
"sd-v1-5-inpainting.ckpt",
"v1-5-pruned-emaonly.ckpt"
]
]
}
},
"input_order": { "required": ["ckpt_name"] },
"output": ["MODEL", "CLIP_VISION", "VAE"],
"output_is_list": [false, false, false],
"output_name": ["MODEL", "CLIP_VISION", "VAE"],
"name": "ImageOnlyCheckpointLoader",
"display_name": "Image Only Checkpoint Loader (img2vid model)",
"description": "",
"python_module": "comfy_extras.nodes_video_model",
"category": "loaders/video_models",
"output_node": false
},
"SVD_img2vid_Conditioning": {
"input": {
"required": {
"clip_vision": ["CLIP_VISION"],
"init_image": ["IMAGE"],
"vae": ["VAE"],
"width": [
"INT",
{ "default": 1024, "min": 16, "max": 16384, "step": 8 }
],
"height": [
"INT",
{ "default": 576, "min": 16, "max": 16384, "step": 8 }
],
"video_frames": ["INT", { "default": 14, "min": 1, "max": 4096 }],
"motion_bucket_id": ["INT", { "default": 127, "min": 1, "max": 1023 }],
"fps": ["INT", { "default": 6, "min": 1, "max": 1024 }],
"augmentation_level": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"clip_vision",
"init_image",
"vae",
"width",
"height",
"video_frames",
"motion_bucket_id",
"fps",
"augmentation_level"
]
},
"output": ["CONDITIONING", "CONDITIONING", "LATENT"],
"output_is_list": [false, false, false],
"output_name": ["positive", "negative", "latent"],
"name": "SVD_img2vid_Conditioning",
"display_name": "SVD_img2vid_Conditioning",
"description": "",
"python_module": "comfy_extras.nodes_video_model",
"category": "conditioning/video_models",
"output_node": false
},
"VideoLinearCFGGuidance": {
"input": {
"required": {
"model": ["MODEL"],
"min_cfg": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.5,
"round": 0.01
}
]
}
},
"input_order": { "required": ["model", "min_cfg"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "VideoLinearCFGGuidance",
"display_name": "VideoLinearCFGGuidance",
"description": "",
"python_module": "comfy_extras.nodes_video_model",
"category": "sampling/video_models",
"output_node": false
},
"VideoTriangleCFGGuidance": {
"input": {
"required": {
"model": ["MODEL"],
"min_cfg": [
"FLOAT",
{
"default": 1.0,
"min": 0.0,
"max": 100.0,
"step": 0.5,
"round": 0.01
}
]
}
},
"input_order": { "required": ["model", "min_cfg"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "VideoTriangleCFGGuidance",
"display_name": "VideoTriangleCFGGuidance",
"description": "",
"python_module": "comfy_extras.nodes_video_model",
"category": "sampling/video_models",
"output_node": false
},
"ImageOnlyCheckpointSave": {
"input": {
"required": {
"model": ["MODEL"],
"clip_vision": ["CLIP_VISION"],
"vae": ["VAE"],
"filename_prefix": ["STRING", { "default": "checkpoints/ComfyUI" }]
},
"hidden": { "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" }
},
"input_order": {
"required": ["model", "clip_vision", "vae", "filename_prefix"],
"hidden": ["prompt", "extra_pnginfo"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "ImageOnlyCheckpointSave",
"display_name": "ImageOnlyCheckpointSave",
"description": "",
"python_module": "comfy_extras.nodes_video_model",
"category": "advanced/model_merging",
"output_node": true
},
"ConditioningSetAreaPercentageVideo": {
"input": {
"required": {
"conditioning": ["CONDITIONING"],
"width": [
"FLOAT",
{ "default": 1.0, "min": 0, "max": 1.0, "step": 0.01 }
],
"height": [
"FLOAT",
{ "default": 1.0, "min": 0, "max": 1.0, "step": 0.01 }
],
"temporal": [
"FLOAT",
{ "default": 1.0, "min": 0, "max": 1.0, "step": 0.01 }
],
"x": ["FLOAT", { "default": 0, "min": 0, "max": 1.0, "step": 0.01 }],
"y": ["FLOAT", { "default": 0, "min": 0, "max": 1.0, "step": 0.01 }],
"z": ["FLOAT", { "default": 0, "min": 0, "max": 1.0, "step": 0.01 }],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"conditioning",
"width",
"height",
"temporal",
"x",
"y",
"z",
"strength"
]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ConditioningSetAreaPercentageVideo",
"display_name": "ConditioningSetAreaPercentageVideo",
"description": "",
"python_module": "comfy_extras.nodes_video_model",
"category": "conditioning",
"output_node": false
},
"SelfAttentionGuidance": {
"input": {
"required": {
"model": ["MODEL"],
"scale": [
"FLOAT",
{ "default": 0.5, "min": -2.0, "max": 5.0, "step": 0.01 }
],
"blur_sigma": [
"FLOAT",
{ "default": 2.0, "min": 0.0, "max": 10.0, "step": 0.1 }
]
}
},
"input_order": { "required": ["model", "scale", "blur_sigma"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "SelfAttentionGuidance",
"display_name": "Self-Attention Guidance",
"description": "",
"python_module": "comfy_extras.nodes_sag",
"category": "_for_testing",
"output_node": false
},
"PerpNeg": {
"input": {
"required": {
"model": ["MODEL"],
"empty_conditioning": ["CONDITIONING"],
"neg_scale": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 100.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "empty_conditioning", "neg_scale"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "PerpNeg",
"display_name": "Perp-Neg (DEPRECATED by PerpNegGuider)",
"description": "",
"python_module": "comfy_extras.nodes_perpneg",
"category": "_for_testing",
"output_node": false,
"deprecated": true
},
"PerpNegGuider": {
"input": {
"required": {
"model": ["MODEL"],
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"empty_conditioning": ["CONDITIONING"],
"cfg": [
"FLOAT",
{
"default": 8.0,
"min": 0.0,
"max": 100.0,
"step": 0.1,
"round": 0.01
}
],
"neg_scale": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 100.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model",
"positive",
"negative",
"empty_conditioning",
"cfg",
"neg_scale"
]
},
"output": ["GUIDER"],
"output_is_list": [false],
"output_name": ["GUIDER"],
"name": "PerpNegGuider",
"display_name": "PerpNegGuider",
"description": "",
"python_module": "comfy_extras.nodes_perpneg",
"category": "_for_testing",
"output_node": false
},
"StableZero123_Conditioning": {
"input": {
"required": {
"clip_vision": ["CLIP_VISION"],
"init_image": ["IMAGE"],
"vae": ["VAE"],
"width": [
"INT",
{ "default": 256, "min": 16, "max": 16384, "step": 8 }
],
"height": [
"INT",
{ "default": 256, "min": 16, "max": 16384, "step": 8 }
],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }],
"elevation": [
"FLOAT",
{
"default": 0.0,
"min": -180.0,
"max": 180.0,
"step": 0.1,
"round": false
}
],
"azimuth": [
"FLOAT",
{
"default": 0.0,
"min": -180.0,
"max": 180.0,
"step": 0.1,
"round": false
}
]
}
},
"input_order": {
"required": [
"clip_vision",
"init_image",
"vae",
"width",
"height",
"batch_size",
"elevation",
"azimuth"
]
},
"output": ["CONDITIONING", "CONDITIONING", "LATENT"],
"output_is_list": [false, false, false],
"output_name": ["positive", "negative", "latent"],
"name": "StableZero123_Conditioning",
"display_name": "StableZero123_Conditioning",
"description": "",
"python_module": "comfy_extras.nodes_stable3d",
"category": "conditioning/3d_models",
"output_node": false
},
"StableZero123_Conditioning_Batched": {
"input": {
"required": {
"clip_vision": ["CLIP_VISION"],
"init_image": ["IMAGE"],
"vae": ["VAE"],
"width": [
"INT",
{ "default": 256, "min": 16, "max": 16384, "step": 8 }
],
"height": [
"INT",
{ "default": 256, "min": 16, "max": 16384, "step": 8 }
],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }],
"elevation": [
"FLOAT",
{
"default": 0.0,
"min": -180.0,
"max": 180.0,
"step": 0.1,
"round": false
}
],
"azimuth": [
"FLOAT",
{
"default": 0.0,
"min": -180.0,
"max": 180.0,
"step": 0.1,
"round": false
}
],
"elevation_batch_increment": [
"FLOAT",
{
"default": 0.0,
"min": -180.0,
"max": 180.0,
"step": 0.1,
"round": false
}
],
"azimuth_batch_increment": [
"FLOAT",
{
"default": 0.0,
"min": -180.0,
"max": 180.0,
"step": 0.1,
"round": false
}
]
}
},
"input_order": {
"required": [
"clip_vision",
"init_image",
"vae",
"width",
"height",
"batch_size",
"elevation",
"azimuth",
"elevation_batch_increment",
"azimuth_batch_increment"
]
},
"output": ["CONDITIONING", "CONDITIONING", "LATENT"],
"output_is_list": [false, false, false],
"output_name": ["positive", "negative", "latent"],
"name": "StableZero123_Conditioning_Batched",
"display_name": "StableZero123_Conditioning_Batched",
"description": "",
"python_module": "comfy_extras.nodes_stable3d",
"category": "conditioning/3d_models",
"output_node": false
},
"SV3D_Conditioning": {
"input": {
"required": {
"clip_vision": ["CLIP_VISION"],
"init_image": ["IMAGE"],
"vae": ["VAE"],
"width": [
"INT",
{ "default": 576, "min": 16, "max": 16384, "step": 8 }
],
"height": [
"INT",
{ "default": 576, "min": 16, "max": 16384, "step": 8 }
],
"video_frames": ["INT", { "default": 21, "min": 1, "max": 4096 }],
"elevation": [
"FLOAT",
{
"default": 0.0,
"min": -90.0,
"max": 90.0,
"step": 0.1,
"round": false
}
]
}
},
"input_order": {
"required": [
"clip_vision",
"init_image",
"vae",
"width",
"height",
"video_frames",
"elevation"
]
},
"output": ["CONDITIONING", "CONDITIONING", "LATENT"],
"output_is_list": [false, false, false],
"output_name": ["positive", "negative", "latent"],
"name": "SV3D_Conditioning",
"display_name": "SV3D_Conditioning",
"description": "",
"python_module": "comfy_extras.nodes_stable3d",
"category": "conditioning/3d_models",
"output_node": false
},
"SD_4XUpscale_Conditioning": {
"input": {
"required": {
"images": ["IMAGE"],
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"scale_ratio": [
"FLOAT",
{ "default": 4.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"noise_augmentation": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001 }
]
}
},
"input_order": {
"required": [
"images",
"positive",
"negative",
"scale_ratio",
"noise_augmentation"
]
},
"output": ["CONDITIONING", "CONDITIONING", "LATENT"],
"output_is_list": [false, false, false],
"output_name": ["positive", "negative", "latent"],
"name": "SD_4XUpscale_Conditioning",
"display_name": "SD_4XUpscale_Conditioning",
"description": "",
"python_module": "comfy_extras.nodes_sdupscale",
"category": "conditioning/upscale_diffusion",
"output_node": false
},
"PhotoMakerLoader": {
"input": { "required": { "photomaker_model_name": [[]] } },
"input_order": { "required": ["photomaker_model_name"] },
"output": ["PHOTOMAKER"],
"output_is_list": [false],
"output_name": ["PHOTOMAKER"],
"name": "PhotoMakerLoader",
"display_name": "PhotoMakerLoader",
"description": "",
"python_module": "comfy_extras.nodes_photomaker",
"category": "_for_testing/photomaker",
"output_node": false
},
"PhotoMakerEncode": {
"input": {
"required": {
"photomaker": ["PHOTOMAKER"],
"image": ["IMAGE"],
"clip": ["CLIP"],
"text": [
"STRING",
{
"multiline": true,
"dynamicPrompts": true,
"default": "photograph of photomaker"
}
]
}
},
"input_order": { "required": ["photomaker", "image", "clip", "text"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "PhotoMakerEncode",
"display_name": "PhotoMakerEncode",
"description": "",
"python_module": "comfy_extras.nodes_photomaker",
"category": "_for_testing/photomaker",
"output_node": false
},
"CLIPTextEncodePixArtAlpha": {
"input": {
"required": {
"width": ["INT", { "default": 1024.0, "min": 0, "max": 16384 }],
"height": ["INT", { "default": 1024.0, "min": 0, "max": 16384 }],
"text": ["STRING", { "multiline": true, "dynamicPrompts": true }],
"clip": ["CLIP"]
}
},
"input_order": { "required": ["width", "height", "text", "clip"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "CLIPTextEncodePixArtAlpha",
"display_name": "CLIPTextEncodePixArtAlpha",
"description": "Encodes text and sets the resolution conditioning for PixArt Alpha. Does not apply to PixArt Sigma.",
"python_module": "comfy_extras.nodes_pixart",
"category": "advanced/conditioning",
"output_node": false
},
"CLIPTextEncodeControlnet": {
"input": {
"required": {
"clip": ["CLIP"],
"conditioning": ["CONDITIONING"],
"text": ["STRING", { "multiline": true, "dynamicPrompts": true }]
}
},
"input_order": { "required": ["clip", "conditioning", "text"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "CLIPTextEncodeControlnet",
"display_name": "CLIPTextEncodeControlnet",
"description": "",
"python_module": "comfy_extras.nodes_cond",
"category": "_for_testing/conditioning",
"output_node": false
},
"Morphology": {
"input": {
"required": {
"image": ["IMAGE"],
"operation": [
[
"erode",
"dilate",
"open",
"close",
"gradient",
"bottom_hat",
"top_hat"
]
],
"kernel_size": [
"INT",
{ "default": 3, "min": 3, "max": 999, "step": 1 }
]
}
},
"input_order": { "required": ["image", "operation", "kernel_size"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "Morphology",
"display_name": "ImageMorphology",
"description": "",
"python_module": "comfy_extras.nodes_morphology",
"category": "image/postprocessing",
"output_node": false
},
"StableCascade_EmptyLatentImage": {
"input": {
"required": {
"width": [
"INT",
{ "default": 1024, "min": 256, "max": 16384, "step": 8 }
],
"height": [
"INT",
{ "default": 1024, "min": 256, "max": 16384, "step": 8 }
],
"compression": [
"INT",
{ "default": 42, "min": 4, "max": 128, "step": 1 }
],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }]
}
},
"input_order": {
"required": ["width", "height", "compression", "batch_size"]
},
"output": ["LATENT", "LATENT"],
"output_is_list": [false, false],
"output_name": ["stage_c", "stage_b"],
"name": "StableCascade_EmptyLatentImage",
"display_name": "StableCascade_EmptyLatentImage",
"description": "",
"python_module": "comfy_extras.nodes_stable_cascade",
"category": "latent/stable_cascade",
"output_node": false
},
"StableCascade_StageB_Conditioning": {
"input": {
"required": { "conditioning": ["CONDITIONING"], "stage_c": ["LATENT"] }
},
"input_order": { "required": ["conditioning", "stage_c"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "StableCascade_StageB_Conditioning",
"display_name": "StableCascade_StageB_Conditioning",
"description": "",
"python_module": "comfy_extras.nodes_stable_cascade",
"category": "conditioning/stable_cascade",
"output_node": false
},
"StableCascade_StageC_VAEEncode": {
"input": {
"required": {
"image": ["IMAGE"],
"vae": ["VAE"],
"compression": [
"INT",
{ "default": 42, "min": 4, "max": 128, "step": 1 }
]
}
},
"input_order": { "required": ["image", "vae", "compression"] },
"output": ["LATENT", "LATENT"],
"output_is_list": [false, false],
"output_name": ["stage_c", "stage_b"],
"name": "StableCascade_StageC_VAEEncode",
"display_name": "StableCascade_StageC_VAEEncode",
"description": "",
"python_module": "comfy_extras.nodes_stable_cascade",
"category": "latent/stable_cascade",
"output_node": false
},
"StableCascade_SuperResolutionControlnet": {
"input": { "required": { "image": ["IMAGE"], "vae": ["VAE"] } },
"input_order": { "required": ["image", "vae"] },
"output": ["IMAGE", "LATENT", "LATENT"],
"output_is_list": [false, false, false],
"output_name": ["controlnet_input", "stage_c", "stage_b"],
"name": "StableCascade_SuperResolutionControlnet",
"display_name": "StableCascade_SuperResolutionControlnet",
"description": "",
"python_module": "comfy_extras.nodes_stable_cascade",
"category": "_for_testing/stable_cascade",
"output_node": false,
"experimental": true
},
"DifferentialDiffusion": {
"input": { "required": { "model": ["MODEL"] } },
"input_order": { "required": ["model"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "DifferentialDiffusion",
"display_name": "Differential Diffusion",
"description": "",
"python_module": "comfy_extras.nodes_differential_diffusion",
"category": "_for_testing",
"output_node": false
},
"InstructPixToPixConditioning": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"vae": ["VAE"],
"pixels": ["IMAGE"]
}
},
"input_order": { "required": ["positive", "negative", "vae", "pixels"] },
"output": ["CONDITIONING", "CONDITIONING", "LATENT"],
"output_is_list": [false, false, false],
"output_name": ["positive", "negative", "latent"],
"name": "InstructPixToPixConditioning",
"display_name": "InstructPixToPixConditioning",
"description": "",
"python_module": "comfy_extras.nodes_ip2p",
"category": "conditioning/instructpix2pix",
"output_node": false
},
"ModelMergeSD1": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"time_embed.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"label_emb.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.4.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.5.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.6.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.7.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.8.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.9.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.10.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.11.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"middle_block.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"middle_block.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"middle_block.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.4.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.5.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.6.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.7.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.8.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.9.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.10.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.11.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"out.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model1",
"model2",
"time_embed.",
"label_emb.",
"input_blocks.0.",
"input_blocks.1.",
"input_blocks.2.",
"input_blocks.3.",
"input_blocks.4.",
"input_blocks.5.",
"input_blocks.6.",
"input_blocks.7.",
"input_blocks.8.",
"input_blocks.9.",
"input_blocks.10.",
"input_blocks.11.",
"middle_block.0.",
"middle_block.1.",
"middle_block.2.",
"output_blocks.0.",
"output_blocks.1.",
"output_blocks.2.",
"output_blocks.3.",
"output_blocks.4.",
"output_blocks.5.",
"output_blocks.6.",
"output_blocks.7.",
"output_blocks.8.",
"output_blocks.9.",
"output_blocks.10.",
"output_blocks.11.",
"out."
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeSD1",
"display_name": "ModelMergeSD1",
"description": "",
"python_module": "comfy_extras.nodes_model_merging_model_specific",
"category": "advanced/model_merging/model_specific",
"output_node": false
},
"ModelMergeSD2": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"time_embed.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"label_emb.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.4.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.5.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.6.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.7.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.8.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.9.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.10.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.11.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"middle_block.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"middle_block.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"middle_block.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.4.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.5.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.6.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.7.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.8.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.9.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.10.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.11.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"out.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model1",
"model2",
"time_embed.",
"label_emb.",
"input_blocks.0.",
"input_blocks.1.",
"input_blocks.2.",
"input_blocks.3.",
"input_blocks.4.",
"input_blocks.5.",
"input_blocks.6.",
"input_blocks.7.",
"input_blocks.8.",
"input_blocks.9.",
"input_blocks.10.",
"input_blocks.11.",
"middle_block.0.",
"middle_block.1.",
"middle_block.2.",
"output_blocks.0.",
"output_blocks.1.",
"output_blocks.2.",
"output_blocks.3.",
"output_blocks.4.",
"output_blocks.5.",
"output_blocks.6.",
"output_blocks.7.",
"output_blocks.8.",
"output_blocks.9.",
"output_blocks.10.",
"output_blocks.11.",
"out."
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeSD2",
"display_name": "ModelMergeSD2",
"description": "",
"python_module": "comfy_extras.nodes_model_merging_model_specific",
"category": "advanced/model_merging/model_specific",
"output_node": false
},
"ModelMergeSDXL": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"time_embed.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"label_emb.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.0": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.1": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.2": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.3": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.4": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.5": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.6": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.7": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"input_blocks.8": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"middle_block.0": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"middle_block.1": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"middle_block.2": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.0": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.1": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.2": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.3": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.4": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.5": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.6": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.7": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"output_blocks.8": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"out.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model1",
"model2",
"time_embed.",
"label_emb.",
"input_blocks.0",
"input_blocks.1",
"input_blocks.2",
"input_blocks.3",
"input_blocks.4",
"input_blocks.5",
"input_blocks.6",
"input_blocks.7",
"input_blocks.8",
"middle_block.0",
"middle_block.1",
"middle_block.2",
"output_blocks.0",
"output_blocks.1",
"output_blocks.2",
"output_blocks.3",
"output_blocks.4",
"output_blocks.5",
"output_blocks.6",
"output_blocks.7",
"output_blocks.8",
"out."
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeSDXL",
"display_name": "ModelMergeSDXL",
"description": "",
"python_module": "comfy_extras.nodes_model_merging_model_specific",
"category": "advanced/model_merging/model_specific",
"output_node": false
},
"ModelMergeSD3_2B": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"pos_embed.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"x_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"context_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"y_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"t_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.4.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.5.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.6.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.7.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.8.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.9.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.10.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.11.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.12.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.13.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.14.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.15.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.16.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.17.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.18.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.19.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.20.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.21.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.22.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.23.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"final_layer.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model1",
"model2",
"pos_embed.",
"x_embedder.",
"context_embedder.",
"y_embedder.",
"t_embedder.",
"joint_blocks.0.",
"joint_blocks.1.",
"joint_blocks.2.",
"joint_blocks.3.",
"joint_blocks.4.",
"joint_blocks.5.",
"joint_blocks.6.",
"joint_blocks.7.",
"joint_blocks.8.",
"joint_blocks.9.",
"joint_blocks.10.",
"joint_blocks.11.",
"joint_blocks.12.",
"joint_blocks.13.",
"joint_blocks.14.",
"joint_blocks.15.",
"joint_blocks.16.",
"joint_blocks.17.",
"joint_blocks.18.",
"joint_blocks.19.",
"joint_blocks.20.",
"joint_blocks.21.",
"joint_blocks.22.",
"joint_blocks.23.",
"final_layer."
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeSD3_2B",
"display_name": "ModelMergeSD3_2B",
"description": "",
"python_module": "comfy_extras.nodes_model_merging_model_specific",
"category": "advanced/model_merging/model_specific",
"output_node": false
},
"ModelMergeAuraflow": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"init_x_linear.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"positional_encoding": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"cond_seq_linear.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"register_tokens": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"t_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_layers.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_layers.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_layers.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_layers.3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.4.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.5.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.6.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.7.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.8.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.9.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.10.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.11.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.12.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.13.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.14.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.15.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.16.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.17.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.18.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.19.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.20.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.21.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.22.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.23.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.24.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.25.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.26.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.27.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.28.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.29.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.30.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_layers.31.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"modF.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"final_linear.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model1",
"model2",
"init_x_linear.",
"positional_encoding",
"cond_seq_linear.",
"register_tokens",
"t_embedder.",
"double_layers.0.",
"double_layers.1.",
"double_layers.2.",
"double_layers.3.",
"single_layers.0.",
"single_layers.1.",
"single_layers.2.",
"single_layers.3.",
"single_layers.4.",
"single_layers.5.",
"single_layers.6.",
"single_layers.7.",
"single_layers.8.",
"single_layers.9.",
"single_layers.10.",
"single_layers.11.",
"single_layers.12.",
"single_layers.13.",
"single_layers.14.",
"single_layers.15.",
"single_layers.16.",
"single_layers.17.",
"single_layers.18.",
"single_layers.19.",
"single_layers.20.",
"single_layers.21.",
"single_layers.22.",
"single_layers.23.",
"single_layers.24.",
"single_layers.25.",
"single_layers.26.",
"single_layers.27.",
"single_layers.28.",
"single_layers.29.",
"single_layers.30.",
"single_layers.31.",
"modF.",
"final_linear."
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeAuraflow",
"display_name": "ModelMergeAuraflow",
"description": "",
"python_module": "comfy_extras.nodes_model_merging_model_specific",
"category": "advanced/model_merging/model_specific",
"output_node": false
},
"ModelMergeFlux1": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"img_in.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"time_in.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"guidance_in": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"vector_in.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"txt_in.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.4.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.5.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.6.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.7.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.8.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.9.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.10.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.11.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.12.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.13.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.14.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.15.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.16.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.17.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"double_blocks.18.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.4.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.5.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.6.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.7.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.8.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.9.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.10.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.11.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.12.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.13.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.14.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.15.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.16.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.17.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.18.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.19.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.20.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.21.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.22.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.23.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.24.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.25.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.26.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.27.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.28.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.29.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.30.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.31.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.32.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.33.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.34.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.35.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.36.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"single_blocks.37.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"final_layer.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model1",
"model2",
"img_in.",
"time_in.",
"guidance_in",
"vector_in.",
"txt_in.",
"double_blocks.0.",
"double_blocks.1.",
"double_blocks.2.",
"double_blocks.3.",
"double_blocks.4.",
"double_blocks.5.",
"double_blocks.6.",
"double_blocks.7.",
"double_blocks.8.",
"double_blocks.9.",
"double_blocks.10.",
"double_blocks.11.",
"double_blocks.12.",
"double_blocks.13.",
"double_blocks.14.",
"double_blocks.15.",
"double_blocks.16.",
"double_blocks.17.",
"double_blocks.18.",
"single_blocks.0.",
"single_blocks.1.",
"single_blocks.2.",
"single_blocks.3.",
"single_blocks.4.",
"single_blocks.5.",
"single_blocks.6.",
"single_blocks.7.",
"single_blocks.8.",
"single_blocks.9.",
"single_blocks.10.",
"single_blocks.11.",
"single_blocks.12.",
"single_blocks.13.",
"single_blocks.14.",
"single_blocks.15.",
"single_blocks.16.",
"single_blocks.17.",
"single_blocks.18.",
"single_blocks.19.",
"single_blocks.20.",
"single_blocks.21.",
"single_blocks.22.",
"single_blocks.23.",
"single_blocks.24.",
"single_blocks.25.",
"single_blocks.26.",
"single_blocks.27.",
"single_blocks.28.",
"single_blocks.29.",
"single_blocks.30.",
"single_blocks.31.",
"single_blocks.32.",
"single_blocks.33.",
"single_blocks.34.",
"single_blocks.35.",
"single_blocks.36.",
"single_blocks.37.",
"final_layer."
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeFlux1",
"display_name": "ModelMergeFlux1",
"description": "",
"python_module": "comfy_extras.nodes_model_merging_model_specific",
"category": "advanced/model_merging/model_specific",
"output_node": false
},
"ModelMergeSD35_Large": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"pos_embed.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"x_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"context_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"y_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"t_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.4.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.5.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.6.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.7.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.8.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.9.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.10.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.11.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.12.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.13.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.14.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.15.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.16.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.17.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.18.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.19.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.20.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.21.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.22.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.23.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.24.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.25.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.26.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.27.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.28.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.29.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.30.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.31.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.32.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.33.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.34.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.35.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.36.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"joint_blocks.37.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"final_layer.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model1",
"model2",
"pos_embed.",
"x_embedder.",
"context_embedder.",
"y_embedder.",
"t_embedder.",
"joint_blocks.0.",
"joint_blocks.1.",
"joint_blocks.2.",
"joint_blocks.3.",
"joint_blocks.4.",
"joint_blocks.5.",
"joint_blocks.6.",
"joint_blocks.7.",
"joint_blocks.8.",
"joint_blocks.9.",
"joint_blocks.10.",
"joint_blocks.11.",
"joint_blocks.12.",
"joint_blocks.13.",
"joint_blocks.14.",
"joint_blocks.15.",
"joint_blocks.16.",
"joint_blocks.17.",
"joint_blocks.18.",
"joint_blocks.19.",
"joint_blocks.20.",
"joint_blocks.21.",
"joint_blocks.22.",
"joint_blocks.23.",
"joint_blocks.24.",
"joint_blocks.25.",
"joint_blocks.26.",
"joint_blocks.27.",
"joint_blocks.28.",
"joint_blocks.29.",
"joint_blocks.30.",
"joint_blocks.31.",
"joint_blocks.32.",
"joint_blocks.33.",
"joint_blocks.34.",
"joint_blocks.35.",
"joint_blocks.36.",
"joint_blocks.37.",
"final_layer."
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeSD35_Large",
"display_name": "ModelMergeSD35_Large",
"description": "",
"python_module": "comfy_extras.nodes_model_merging_model_specific",
"category": "advanced/model_merging/model_specific",
"output_node": false
},
"ModelMergeMochiPreview": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"pos_frequencies.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"t_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"t5_y_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"t5_yproj.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.4.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.5.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.6.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.7.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.8.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.9.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.10.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.11.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.12.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.13.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.14.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.15.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.16.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.17.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.18.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.19.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.20.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.21.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.22.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.23.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.24.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.25.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.26.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.27.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.28.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.29.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.30.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.31.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.32.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.33.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.34.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.35.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.36.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.37.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.38.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.39.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.40.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.41.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.42.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.43.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.44.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.45.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.46.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.47.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"final_layer.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model1",
"model2",
"pos_frequencies.",
"t_embedder.",
"t5_y_embedder.",
"t5_yproj.",
"blocks.0.",
"blocks.1.",
"blocks.2.",
"blocks.3.",
"blocks.4.",
"blocks.5.",
"blocks.6.",
"blocks.7.",
"blocks.8.",
"blocks.9.",
"blocks.10.",
"blocks.11.",
"blocks.12.",
"blocks.13.",
"blocks.14.",
"blocks.15.",
"blocks.16.",
"blocks.17.",
"blocks.18.",
"blocks.19.",
"blocks.20.",
"blocks.21.",
"blocks.22.",
"blocks.23.",
"blocks.24.",
"blocks.25.",
"blocks.26.",
"blocks.27.",
"blocks.28.",
"blocks.29.",
"blocks.30.",
"blocks.31.",
"blocks.32.",
"blocks.33.",
"blocks.34.",
"blocks.35.",
"blocks.36.",
"blocks.37.",
"blocks.38.",
"blocks.39.",
"blocks.40.",
"blocks.41.",
"blocks.42.",
"blocks.43.",
"blocks.44.",
"blocks.45.",
"blocks.46.",
"blocks.47.",
"final_layer."
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeMochiPreview",
"display_name": "ModelMergeMochiPreview",
"description": "",
"python_module": "comfy_extras.nodes_model_merging_model_specific",
"category": "advanced/model_merging/model_specific",
"output_node": false
},
"ModelMergeLTXV": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"patchify_proj.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"adaln_single.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"caption_projection.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.4.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.5.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.6.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.7.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.8.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.9.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.10.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.11.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.12.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.13.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.14.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.15.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.16.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.17.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.18.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.19.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.20.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.21.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.22.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.23.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.24.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.25.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.26.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"transformer_blocks.27.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"scale_shift_table": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"proj_out.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model1",
"model2",
"patchify_proj.",
"adaln_single.",
"caption_projection.",
"transformer_blocks.0.",
"transformer_blocks.1.",
"transformer_blocks.2.",
"transformer_blocks.3.",
"transformer_blocks.4.",
"transformer_blocks.5.",
"transformer_blocks.6.",
"transformer_blocks.7.",
"transformer_blocks.8.",
"transformer_blocks.9.",
"transformer_blocks.10.",
"transformer_blocks.11.",
"transformer_blocks.12.",
"transformer_blocks.13.",
"transformer_blocks.14.",
"transformer_blocks.15.",
"transformer_blocks.16.",
"transformer_blocks.17.",
"transformer_blocks.18.",
"transformer_blocks.19.",
"transformer_blocks.20.",
"transformer_blocks.21.",
"transformer_blocks.22.",
"transformer_blocks.23.",
"transformer_blocks.24.",
"transformer_blocks.25.",
"transformer_blocks.26.",
"transformer_blocks.27.",
"scale_shift_table",
"proj_out."
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeLTXV",
"display_name": "ModelMergeLTXV",
"description": "",
"python_module": "comfy_extras.nodes_model_merging_model_specific",
"category": "advanced/model_merging/model_specific",
"output_node": false
},
"ModelMergeCosmos7B": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"pos_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"extra_pos_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"x_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"t_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"affline_norm.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block4.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block5.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block6.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block7.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block8.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block9.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block10.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block11.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block12.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block13.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block14.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block15.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block16.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block17.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block18.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block19.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block20.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block21.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block22.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block23.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block24.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block25.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block26.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block27.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"final_layer.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model1",
"model2",
"pos_embedder.",
"extra_pos_embedder.",
"x_embedder.",
"t_embedder.",
"affline_norm.",
"blocks.block0.",
"blocks.block1.",
"blocks.block2.",
"blocks.block3.",
"blocks.block4.",
"blocks.block5.",
"blocks.block6.",
"blocks.block7.",
"blocks.block8.",
"blocks.block9.",
"blocks.block10.",
"blocks.block11.",
"blocks.block12.",
"blocks.block13.",
"blocks.block14.",
"blocks.block15.",
"blocks.block16.",
"blocks.block17.",
"blocks.block18.",
"blocks.block19.",
"blocks.block20.",
"blocks.block21.",
"blocks.block22.",
"blocks.block23.",
"blocks.block24.",
"blocks.block25.",
"blocks.block26.",
"blocks.block27.",
"final_layer."
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeCosmos7B",
"display_name": "ModelMergeCosmos7B",
"description": "",
"python_module": "comfy_extras.nodes_model_merging_model_specific",
"category": "advanced/model_merging/model_specific",
"output_node": false
},
"ModelMergeCosmos14B": {
"input": {
"required": {
"model1": ["MODEL"],
"model2": ["MODEL"],
"pos_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"extra_pos_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"x_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"t_embedder.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"affline_norm.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block0.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block1.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block2.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block3.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block4.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block5.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block6.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block7.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block8.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block9.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block10.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block11.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block12.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block13.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block14.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block15.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block16.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block17.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block18.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block19.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block20.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block21.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block22.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block23.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block24.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block25.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block26.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block27.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block28.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block29.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block30.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block31.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block32.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block33.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block34.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"blocks.block35.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
],
"final_layer.": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model1",
"model2",
"pos_embedder.",
"extra_pos_embedder.",
"x_embedder.",
"t_embedder.",
"affline_norm.",
"blocks.block0.",
"blocks.block1.",
"blocks.block2.",
"blocks.block3.",
"blocks.block4.",
"blocks.block5.",
"blocks.block6.",
"blocks.block7.",
"blocks.block8.",
"blocks.block9.",
"blocks.block10.",
"blocks.block11.",
"blocks.block12.",
"blocks.block13.",
"blocks.block14.",
"blocks.block15.",
"blocks.block16.",
"blocks.block17.",
"blocks.block18.",
"blocks.block19.",
"blocks.block20.",
"blocks.block21.",
"blocks.block22.",
"blocks.block23.",
"blocks.block24.",
"blocks.block25.",
"blocks.block26.",
"blocks.block27.",
"blocks.block28.",
"blocks.block29.",
"blocks.block30.",
"blocks.block31.",
"blocks.block32.",
"blocks.block33.",
"blocks.block34.",
"blocks.block35.",
"final_layer."
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelMergeCosmos14B",
"display_name": "ModelMergeCosmos14B",
"description": "",
"python_module": "comfy_extras.nodes_model_merging_model_specific",
"category": "advanced/model_merging/model_specific",
"output_node": false
},
"PerturbedAttentionGuidance": {
"input": {
"required": {
"model": ["MODEL"],
"scale": [
"FLOAT",
{
"default": 3.0,
"min": 0.0,
"max": 100.0,
"step": 0.01,
"round": 0.01
}
]
}
},
"input_order": { "required": ["model", "scale"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "PerturbedAttentionGuidance",
"display_name": "PerturbedAttentionGuidance",
"description": "",
"python_module": "comfy_extras.nodes_pag",
"category": "model_patches/unet",
"output_node": false
},
"AlignYourStepsScheduler": {
"input": {
"required": {
"model_type": [["SD1", "SDXL", "SVD"]],
"steps": ["INT", { "default": 10, "min": 1, "max": 10000 }],
"denoise": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model_type", "steps", "denoise"] },
"output": ["SIGMAS"],
"output_is_list": [false],
"output_name": ["SIGMAS"],
"name": "AlignYourStepsScheduler",
"display_name": "AlignYourStepsScheduler",
"description": "",
"python_module": "comfy_extras.nodes_align_your_steps",
"category": "sampling/custom_sampling/schedulers",
"output_node": false
},
"UNetSelfAttentionMultiply": {
"input": {
"required": {
"model": ["MODEL"],
"q": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"k": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"v": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"out": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "q", "k", "v", "out"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "UNetSelfAttentionMultiply",
"display_name": "UNetSelfAttentionMultiply",
"description": "",
"python_module": "comfy_extras.nodes_attention_multiply",
"category": "_for_testing/attention_experiments",
"output_node": false
},
"UNetCrossAttentionMultiply": {
"input": {
"required": {
"model": ["MODEL"],
"q": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"k": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"v": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"out": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "q", "k", "v", "out"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "UNetCrossAttentionMultiply",
"display_name": "UNetCrossAttentionMultiply",
"description": "",
"python_module": "comfy_extras.nodes_attention_multiply",
"category": "_for_testing/attention_experiments",
"output_node": false
},
"CLIPAttentionMultiply": {
"input": {
"required": {
"clip": ["CLIP"],
"q": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"k": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"v": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"out": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["clip", "q", "k", "v", "out"] },
"output": ["CLIP"],
"output_is_list": [false],
"output_name": ["CLIP"],
"name": "CLIPAttentionMultiply",
"display_name": "CLIPAttentionMultiply",
"description": "",
"python_module": "comfy_extras.nodes_attention_multiply",
"category": "_for_testing/attention_experiments",
"output_node": false
},
"UNetTemporalAttentionMultiply": {
"input": {
"required": {
"model": ["MODEL"],
"self_structural": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"self_temporal": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"cross_structural": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"cross_temporal": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model",
"self_structural",
"self_temporal",
"cross_structural",
"cross_temporal"
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "UNetTemporalAttentionMultiply",
"display_name": "UNetTemporalAttentionMultiply",
"description": "",
"python_module": "comfy_extras.nodes_attention_multiply",
"category": "_for_testing/attention_experiments",
"output_node": false
},
"SamplerLCMUpscale": {
"input": {
"required": {
"scale_ratio": [
"FLOAT",
{ "default": 1.0, "min": 0.1, "max": 20.0, "step": 0.01 }
],
"scale_steps": [
"INT",
{ "default": -1, "min": -1, "max": 1000, "step": 1 }
],
"upscale_method": [
["bislerp", "nearest-exact", "bilinear", "area", "bicubic"]
]
}
},
"input_order": {
"required": ["scale_ratio", "scale_steps", "upscale_method"]
},
"output": ["SAMPLER"],
"output_is_list": [false],
"output_name": ["SAMPLER"],
"name": "SamplerLCMUpscale",
"display_name": "SamplerLCMUpscale",
"description": "",
"python_module": "comfy_extras.nodes_advanced_samplers",
"category": "sampling/custom_sampling/samplers",
"output_node": false
},
"SamplerEulerCFGpp": {
"input": { "required": { "version": [["regular", "alternative"]] } },
"input_order": { "required": ["version"] },
"output": ["SAMPLER"],
"output_is_list": [false],
"output_name": ["SAMPLER"],
"name": "SamplerEulerCFGpp",
"display_name": "SamplerEulerCFG++",
"description": "",
"python_module": "comfy_extras.nodes_advanced_samplers",
"category": "_for_testing",
"output_node": false
},
"WebcamCapture": {
"input": {
"required": {
"image": ["WEBCAM", {}],
"width": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }],
"height": ["INT", { "default": 0, "min": 0, "max": 16384, "step": 1 }],
"capture_on_queue": ["BOOLEAN", { "default": true }]
}
},
"input_order": {
"required": ["image", "width", "height", "capture_on_queue"]
},
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["IMAGE"],
"name": "WebcamCapture",
"display_name": "Webcam Capture",
"description": "",
"python_module": "comfy_extras.nodes_webcam",
"category": "image",
"output_node": false
},
"EmptyLatentAudio": {
"input": {
"required": {
"seconds": [
"FLOAT",
{ "default": 47.6, "min": 1.0, "max": 1000.0, "step": 0.1 }
],
"batch_size": [
"INT",
{
"default": 1,
"min": 1,
"max": 4096,
"tooltip": "The number of latent images in the batch."
}
]
}
},
"input_order": { "required": ["seconds", "batch_size"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "EmptyLatentAudio",
"display_name": "EmptyLatentAudio",
"description": "",
"python_module": "comfy_extras.nodes_audio",
"category": "latent/audio",
"output_node": false
},
"VAEEncodeAudio": {
"input": { "required": { "audio": ["AUDIO"], "vae": ["VAE"] } },
"input_order": { "required": ["audio", "vae"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "VAEEncodeAudio",
"display_name": "VAEEncodeAudio",
"description": "",
"python_module": "comfy_extras.nodes_audio",
"category": "latent/audio",
"output_node": false
},
"VAEDecodeAudio": {
"input": { "required": { "samples": ["LATENT"], "vae": ["VAE"] } },
"input_order": { "required": ["samples", "vae"] },
"output": ["AUDIO"],
"output_is_list": [false],
"output_name": ["AUDIO"],
"name": "VAEDecodeAudio",
"display_name": "VAEDecodeAudio",
"description": "",
"python_module": "comfy_extras.nodes_audio",
"category": "latent/audio",
"output_node": false
},
"SaveAudio": {
"input": {
"required": {
"audio": ["AUDIO"],
"filename_prefix": ["STRING", { "default": "audio/ComfyUI" }]
},
"hidden": { "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" }
},
"input_order": {
"required": ["audio", "filename_prefix"],
"hidden": ["prompt", "extra_pnginfo"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "SaveAudio",
"display_name": "SaveAudio",
"description": "",
"python_module": "comfy_extras.nodes_audio",
"category": "audio",
"output_node": true
},
"LoadAudio": {
"input": { "required": { "audio": [[], { "audio_upload": true }] } },
"input_order": { "required": ["audio"] },
"output": ["AUDIO"],
"output_is_list": [false],
"output_name": ["AUDIO"],
"name": "LoadAudio",
"display_name": "LoadAudio",
"description": "",
"python_module": "comfy_extras.nodes_audio",
"category": "audio",
"output_node": false
},
"PreviewAudio": {
"input": {
"required": { "audio": ["AUDIO"] },
"hidden": { "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" }
},
"input_order": {
"required": ["audio"],
"hidden": ["prompt", "extra_pnginfo"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "PreviewAudio",
"display_name": "PreviewAudio",
"description": "",
"python_module": "comfy_extras.nodes_audio",
"category": "audio",
"output_node": true
},
"ConditioningStableAudio": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"seconds_start": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 1000.0, "step": 0.1 }
],
"seconds_total": [
"FLOAT",
{ "default": 47.0, "min": 0.0, "max": 1000.0, "step": 0.1 }
]
}
},
"input_order": {
"required": ["positive", "negative", "seconds_start", "seconds_total"]
},
"output": ["CONDITIONING", "CONDITIONING"],
"output_is_list": [false, false],
"output_name": ["positive", "negative"],
"name": "ConditioningStableAudio",
"display_name": "ConditioningStableAudio",
"description": "",
"python_module": "comfy_extras.nodes_audio",
"category": "conditioning",
"output_node": false
},
"TripleCLIPLoader": {
"input": {
"required": { "clip_name1": [[]], "clip_name2": [[]], "clip_name3": [[]] }
},
"input_order": { "required": ["clip_name1", "clip_name2", "clip_name3"] },
"output": ["CLIP"],
"output_is_list": [false],
"output_name": ["CLIP"],
"name": "TripleCLIPLoader",
"display_name": "TripleCLIPLoader",
"description": "[Recipes]\n\nsd3: clip-l, clip-g, t5",
"python_module": "comfy_extras.nodes_sd3",
"category": "advanced/loaders",
"output_node": false
},
"EmptySD3LatentImage": {
"input": {
"required": {
"width": [
"INT",
{ "default": 1024, "min": 16, "max": 16384, "step": 16 }
],
"height": [
"INT",
{ "default": 1024, "min": 16, "max": 16384, "step": 16 }
],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }]
}
},
"input_order": { "required": ["width", "height", "batch_size"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "EmptySD3LatentImage",
"display_name": "EmptySD3LatentImage",
"description": "",
"python_module": "comfy_extras.nodes_sd3",
"category": "latent/sd3",
"output_node": false
},
"CLIPTextEncodeSD3": {
"input": {
"required": {
"clip": ["CLIP"],
"clip_l": ["STRING", { "multiline": true, "dynamicPrompts": true }],
"clip_g": ["STRING", { "multiline": true, "dynamicPrompts": true }],
"t5xxl": ["STRING", { "multiline": true, "dynamicPrompts": true }],
"empty_padding": [["none", "empty_prompt"]]
}
},
"input_order": {
"required": ["clip", "clip_l", "clip_g", "t5xxl", "empty_padding"]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "CLIPTextEncodeSD3",
"display_name": "CLIPTextEncodeSD3",
"description": "",
"python_module": "comfy_extras.nodes_sd3",
"category": "advanced/conditioning",
"output_node": false
},
"ControlNetApplySD3": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"control_net": ["CONTROL_NET"],
"vae": ["VAE"],
"image": ["IMAGE"],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"start_percent": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"end_percent": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001 }
]
}
},
"input_order": {
"required": [
"positive",
"negative",
"control_net",
"vae",
"image",
"strength",
"start_percent",
"end_percent"
]
},
"output": ["CONDITIONING", "CONDITIONING"],
"output_is_list": [false, false],
"output_name": ["positive", "negative"],
"name": "ControlNetApplySD3",
"display_name": "Apply Controlnet with VAE",
"description": "",
"python_module": "comfy_extras.nodes_sd3",
"category": "conditioning/controlnet",
"output_node": false,
"deprecated": true
},
"SkipLayerGuidanceSD3": {
"input": {
"required": {
"model": ["MODEL"],
"layers": ["STRING", { "default": "7, 8, 9", "multiline": false }],
"scale": [
"FLOAT",
{ "default": 3.0, "min": 0.0, "max": 10.0, "step": 0.1 }
],
"start_percent": [
"FLOAT",
{ "default": 0.01, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"end_percent": [
"FLOAT",
{ "default": 0.15, "min": 0.0, "max": 1.0, "step": 0.001 }
]
}
},
"input_order": {
"required": ["model", "layers", "scale", "start_percent", "end_percent"]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "SkipLayerGuidanceSD3",
"display_name": "SkipLayerGuidanceSD3",
"description": "Generic version of SkipLayerGuidance node that can be used on every DiT model.",
"python_module": "comfy_extras.nodes_sd3",
"category": "advanced/guidance",
"output_node": false,
"experimental": true
},
"GITSScheduler": {
"input": {
"required": {
"coeff": [
"FLOAT",
{ "default": 1.2, "min": 0.8, "max": 1.5, "step": 0.05 }
],
"steps": ["INT", { "default": 10, "min": 2, "max": 1000 }],
"denoise": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["coeff", "steps", "denoise"] },
"output": ["SIGMAS"],
"output_is_list": [false],
"output_name": ["SIGMAS"],
"name": "GITSScheduler",
"display_name": "GITSScheduler",
"description": "",
"python_module": "comfy_extras.nodes_gits",
"category": "sampling/custom_sampling/schedulers",
"output_node": false
},
"SetUnionControlNetType": {
"input": {
"required": {
"control_net": ["CONTROL_NET"],
"type": [
[
"auto",
"openpose",
"depth",
"hed/pidi/scribble/ted",
"canny/lineart/anime_lineart/mlsd",
"normal",
"segment",
"tile",
"repaint"
]
]
}
},
"input_order": { "required": ["control_net", "type"] },
"output": ["CONTROL_NET"],
"output_is_list": [false],
"output_name": ["CONTROL_NET"],
"name": "SetUnionControlNetType",
"display_name": "SetUnionControlNetType",
"description": "",
"python_module": "comfy_extras.nodes_controlnet",
"category": "conditioning/controlnet",
"output_node": false
},
"ControlNetInpaintingAliMamaApply": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"control_net": ["CONTROL_NET"],
"vae": ["VAE"],
"image": ["IMAGE"],
"mask": ["MASK"],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"start_percent": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"end_percent": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001 }
]
}
},
"input_order": {
"required": [
"positive",
"negative",
"control_net",
"vae",
"image",
"mask",
"strength",
"start_percent",
"end_percent"
]
},
"output": ["CONDITIONING", "CONDITIONING"],
"output_is_list": [false, false],
"output_name": ["positive", "negative"],
"name": "ControlNetInpaintingAliMamaApply",
"display_name": "ControlNetInpaintingAliMamaApply",
"description": "",
"python_module": "comfy_extras.nodes_controlnet",
"category": "conditioning/controlnet",
"output_node": false
},
"CLIPTextEncodeHunyuanDiT": {
"input": {
"required": {
"clip": ["CLIP"],
"bert": ["STRING", { "multiline": true, "dynamicPrompts": true }],
"mt5xl": ["STRING", { "multiline": true, "dynamicPrompts": true }]
}
},
"input_order": { "required": ["clip", "bert", "mt5xl"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "CLIPTextEncodeHunyuanDiT",
"display_name": "CLIPTextEncodeHunyuanDiT",
"description": "",
"python_module": "comfy_extras.nodes_hunyuan",
"category": "advanced/conditioning",
"output_node": false
},
"TextEncodeHunyuanVideo_ImageToVideo": {
"input": {
"required": {
"clip": ["CLIP"],
"clip_vision_output": ["CLIP_VISION_OUTPUT"],
"prompt": ["STRING", { "multiline": true, "dynamicPrompts": true }],
"image_interleave": [
"INT",
{
"default": 2,
"min": 1,
"max": 512,
"tooltip": "How much the image influences things vs the text prompt. Higher number means more influence from the text prompt."
}
]
}
},
"input_order": {
"required": ["clip", "clip_vision_output", "prompt", "image_interleave"]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "TextEncodeHunyuanVideo_ImageToVideo",
"display_name": "TextEncodeHunyuanVideo_ImageToVideo",
"description": "",
"python_module": "comfy_extras.nodes_hunyuan",
"category": "advanced/conditioning",
"output_node": false
},
"EmptyHunyuanLatentVideo": {
"input": {
"required": {
"width": [
"INT",
{ "default": 848, "min": 16, "max": 16384, "step": 16 }
],
"height": [
"INT",
{ "default": 480, "min": 16, "max": 16384, "step": 16 }
],
"length": ["INT", { "default": 25, "min": 1, "max": 16384, "step": 4 }],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }]
}
},
"input_order": { "required": ["width", "height", "length", "batch_size"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "EmptyHunyuanLatentVideo",
"display_name": "EmptyHunyuanLatentVideo",
"description": "",
"python_module": "comfy_extras.nodes_hunyuan",
"category": "latent/video",
"output_node": false
},
"HunyuanImageToVideo": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"vae": ["VAE"],
"width": [
"INT",
{ "default": 848, "min": 16, "max": 16384, "step": 16 }
],
"height": [
"INT",
{ "default": 480, "min": 16, "max": 16384, "step": 16 }
],
"length": ["INT", { "default": 53, "min": 1, "max": 16384, "step": 4 }],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }],
"guidance_type": [["v1 (concat)", "v2 (replace)"]]
},
"optional": { "start_image": ["IMAGE"] }
},
"input_order": {
"required": [
"positive",
"vae",
"width",
"height",
"length",
"batch_size",
"guidance_type"
],
"optional": ["start_image"]
},
"output": ["CONDITIONING", "LATENT"],
"output_is_list": [false, false],
"output_name": ["positive", "latent"],
"name": "HunyuanImageToVideo",
"display_name": "HunyuanImageToVideo",
"description": "",
"python_module": "comfy_extras.nodes_hunyuan",
"category": "conditioning/video_models",
"output_node": false
},
"CLIPTextEncodeFlux": {
"input": {
"required": {
"clip": ["CLIP"],
"clip_l": ["STRING", { "multiline": true, "dynamicPrompts": true }],
"t5xxl": ["STRING", { "multiline": true, "dynamicPrompts": true }],
"guidance": [
"FLOAT",
{ "default": 3.5, "min": 0.0, "max": 100.0, "step": 0.1 }
]
}
},
"input_order": { "required": ["clip", "clip_l", "t5xxl", "guidance"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "CLIPTextEncodeFlux",
"display_name": "CLIPTextEncodeFlux",
"description": "",
"python_module": "comfy_extras.nodes_flux",
"category": "advanced/conditioning/flux",
"output_node": false
},
"FluxGuidance": {
"input": {
"required": {
"conditioning": ["CONDITIONING"],
"guidance": [
"FLOAT",
{ "default": 3.5, "min": 0.0, "max": 100.0, "step": 0.1 }
]
}
},
"input_order": { "required": ["conditioning", "guidance"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "FluxGuidance",
"display_name": "FluxGuidance",
"description": "",
"python_module": "comfy_extras.nodes_flux",
"category": "advanced/conditioning/flux",
"output_node": false
},
"FluxDisableGuidance": {
"input": { "required": { "conditioning": ["CONDITIONING"] } },
"input_order": { "required": ["conditioning"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "FluxDisableGuidance",
"display_name": "FluxDisableGuidance",
"description": "This node completely disables the guidance embed on Flux and Flux like models",
"python_module": "comfy_extras.nodes_flux",
"category": "advanced/conditioning/flux",
"output_node": false
},
"LoraSave": {
"input": {
"required": {
"filename_prefix": [
"STRING",
{ "default": "loras/ComfyUI_extracted_lora" }
],
"rank": ["INT", { "default": 8, "min": 1, "max": 4096, "step": 1 }],
"lora_type": [["standard", "full_diff"]],
"bias_diff": ["BOOLEAN", { "default": true }]
},
"optional": {
"model_diff": [
"MODEL",
{ "tooltip": "The ModelSubtract output to be converted to a lora." }
],
"text_encoder_diff": [
"CLIP",
{ "tooltip": "The CLIPSubtract output to be converted to a lora." }
]
}
},
"input_order": {
"required": ["filename_prefix", "rank", "lora_type", "bias_diff"],
"optional": ["model_diff", "text_encoder_diff"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "LoraSave",
"display_name": "Extract and Save Lora",
"description": "",
"python_module": "comfy_extras.nodes_lora_extract",
"category": "_for_testing",
"output_node": true
},
"TorchCompileModel": {
"input": {
"required": {
"model": ["MODEL"],
"backend": [["inductor", "cudagraphs"]]
}
},
"input_order": { "required": ["model", "backend"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "TorchCompileModel",
"display_name": "TorchCompileModel",
"description": "",
"python_module": "comfy_extras.nodes_torch_compile",
"category": "_for_testing",
"output_node": false,
"experimental": true
},
"EmptyMochiLatentVideo": {
"input": {
"required": {
"width": [
"INT",
{ "default": 848, "min": 16, "max": 16384, "step": 16 }
],
"height": [
"INT",
{ "default": 480, "min": 16, "max": 16384, "step": 16 }
],
"length": ["INT", { "default": 25, "min": 7, "max": 16384, "step": 6 }],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }]
}
},
"input_order": { "required": ["width", "height", "length", "batch_size"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "EmptyMochiLatentVideo",
"display_name": "EmptyMochiLatentVideo",
"description": "",
"python_module": "comfy_extras.nodes_mochi",
"category": "latent/video",
"output_node": false
},
"SkipLayerGuidanceDiT": {
"input": {
"required": {
"model": ["MODEL"],
"double_layers": [
"STRING",
{ "default": "7, 8, 9", "multiline": false }
],
"single_layers": [
"STRING",
{ "default": "7, 8, 9", "multiline": false }
],
"scale": [
"FLOAT",
{ "default": 3.0, "min": 0.0, "max": 10.0, "step": 0.1 }
],
"start_percent": [
"FLOAT",
{ "default": 0.01, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"end_percent": [
"FLOAT",
{ "default": 0.15, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"rescaling_scale": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 10.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"model",
"double_layers",
"single_layers",
"scale",
"start_percent",
"end_percent",
"rescaling_scale"
]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "SkipLayerGuidanceDiT",
"display_name": "SkipLayerGuidanceDiT",
"description": "Generic version of SkipLayerGuidance node that can be used on every DiT model.",
"python_module": "comfy_extras.nodes_slg",
"category": "advanced/guidance",
"output_node": false,
"experimental": true
},
"Mahiro": {
"input": { "required": { "model": ["MODEL"] } },
"input_order": { "required": ["model"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["patched_model"],
"name": "Mahiro",
"display_name": "Mahiro is so cute that she deserves a better guidance function!! (\u3002\u30fb\u03c9\u30fb\u3002)",
"description": "Modify the guidance to scale more on the 'direction' of the positive prompt rather than the difference between the negative prompt.",
"python_module": "comfy_extras.nodes_mahiro",
"category": "_for_testing",
"output_node": false
},
"EmptyLTXVLatentVideo": {
"input": {
"required": {
"width": [
"INT",
{ "default": 768, "min": 64, "max": 16384, "step": 32 }
],
"height": [
"INT",
{ "default": 512, "min": 64, "max": 16384, "step": 32 }
],
"length": ["INT", { "default": 97, "min": 1, "max": 16384, "step": 8 }],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }]
}
},
"input_order": { "required": ["width", "height", "length", "batch_size"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "EmptyLTXVLatentVideo",
"display_name": "EmptyLTXVLatentVideo",
"description": "",
"python_module": "comfy_extras.nodes_lt",
"category": "latent/video/ltxv",
"output_node": false
},
"LTXVImgToVideo": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"vae": ["VAE"],
"image": ["IMAGE"],
"width": [
"INT",
{ "default": 768, "min": 64, "max": 16384, "step": 32 }
],
"height": [
"INT",
{ "default": 512, "min": 64, "max": 16384, "step": 32 }
],
"length": ["INT", { "default": 97, "min": 9, "max": 16384, "step": 8 }],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }]
}
},
"input_order": {
"required": [
"positive",
"negative",
"vae",
"image",
"width",
"height",
"length",
"batch_size"
]
},
"output": ["CONDITIONING", "CONDITIONING", "LATENT"],
"output_is_list": [false, false, false],
"output_name": ["positive", "negative", "latent"],
"name": "LTXVImgToVideo",
"display_name": "LTXVImgToVideo",
"description": "",
"python_module": "comfy_extras.nodes_lt",
"category": "conditioning/video_models",
"output_node": false
},
"ModelSamplingLTXV": {
"input": {
"required": {
"model": ["MODEL"],
"max_shift": [
"FLOAT",
{ "default": 2.05, "min": 0.0, "max": 100.0, "step": 0.01 }
],
"base_shift": [
"FLOAT",
{ "default": 0.95, "min": 0.0, "max": 100.0, "step": 0.01 }
]
},
"optional": { "latent": ["LATENT"] }
},
"input_order": {
"required": ["model", "max_shift", "base_shift"],
"optional": ["latent"]
},
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "ModelSamplingLTXV",
"display_name": "ModelSamplingLTXV",
"description": "",
"python_module": "comfy_extras.nodes_lt",
"category": "advanced/model",
"output_node": false
},
"LTXVConditioning": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"frame_rate": [
"FLOAT",
{ "default": 25.0, "min": 0.0, "max": 1000.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["positive", "negative", "frame_rate"] },
"output": ["CONDITIONING", "CONDITIONING"],
"output_is_list": [false, false],
"output_name": ["positive", "negative"],
"name": "LTXVConditioning",
"display_name": "LTXVConditioning",
"description": "",
"python_module": "comfy_extras.nodes_lt",
"category": "conditioning/video_models",
"output_node": false
},
"LTXVScheduler": {
"input": {
"required": {
"steps": ["INT", { "default": 20, "min": 1, "max": 10000 }],
"max_shift": [
"FLOAT",
{ "default": 2.05, "min": 0.0, "max": 100.0, "step": 0.01 }
],
"base_shift": [
"FLOAT",
{ "default": 0.95, "min": 0.0, "max": 100.0, "step": 0.01 }
],
"stretch": [
"BOOLEAN",
{
"default": true,
"tooltip": "Stretch the sigmas to be in the range [terminal, 1]."
}
],
"terminal": [
"FLOAT",
{
"default": 0.1,
"min": 0.0,
"max": 0.99,
"step": 0.01,
"tooltip": "The terminal value of the sigmas after stretching."
}
]
},
"optional": { "latent": ["LATENT"] }
},
"input_order": {
"required": ["steps", "max_shift", "base_shift", "stretch", "terminal"],
"optional": ["latent"]
},
"output": ["SIGMAS"],
"output_is_list": [false],
"output_name": ["SIGMAS"],
"name": "LTXVScheduler",
"display_name": "LTXVScheduler",
"description": "",
"python_module": "comfy_extras.nodes_lt",
"category": "sampling/custom_sampling/schedulers",
"output_node": false
},
"LTXVAddGuide": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"vae": ["VAE"],
"latent": ["LATENT"],
"image": [
"IMAGE",
{
"tooltip": "Image or video to condition the latent video on. Must be 8*n + 1 frames.If the video is not 8*n + 1 frames, it will be cropped to the nearest 8*n + 1 frames."
}
],
"frame_idx": [
"INT",
{
"default": 0,
"min": -9999,
"max": 9999,
"tooltip": "Frame index to start the conditioning at. For single-frame images or videos with 1-8 frames, any frame_idx value is acceptable. 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."
}
],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01 }
]
}
},
"input_order": {
"required": [
"positive",
"negative",
"vae",
"latent",
"image",
"frame_idx",
"strength"
]
},
"output": ["CONDITIONING", "CONDITIONING", "LATENT"],
"output_is_list": [false, false, false],
"output_name": ["positive", "negative", "latent"],
"name": "LTXVAddGuide",
"display_name": "LTXVAddGuide",
"description": "",
"python_module": "comfy_extras.nodes_lt",
"category": "conditioning/video_models",
"output_node": false
},
"LTXVPreprocess": {
"input": {
"required": {
"image": ["IMAGE"],
"img_compression": [
"INT",
{
"default": 35,
"min": 0,
"max": 100,
"tooltip": "Amount of compression to apply on image."
}
]
}
},
"input_order": { "required": ["image", "img_compression"] },
"output": ["IMAGE"],
"output_is_list": [false],
"output_name": ["output_image"],
"name": "LTXVPreprocess",
"display_name": "LTXVPreprocess",
"description": "",
"python_module": "comfy_extras.nodes_lt",
"category": "image",
"output_node": false
},
"LTXVCropGuides": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"latent": ["LATENT"]
}
},
"input_order": { "required": ["positive", "negative", "latent"] },
"output": ["CONDITIONING", "CONDITIONING", "LATENT"],
"output_is_list": [false, false, false],
"output_name": ["positive", "negative", "latent"],
"name": "LTXVCropGuides",
"display_name": "LTXVCropGuides",
"description": "",
"python_module": "comfy_extras.nodes_lt",
"category": "conditioning/video_models",
"output_node": false
},
"CreateHookLora": {
"input": {
"required": {
"lora_name": [
[
"Characters/Cortana/Cortana(revAnimated).safetensors",
"Characters/Cortana/Cortana.safetensors",
"Characters/Cortana/Cortana_XL.safetensors",
"Characters/Cortana/cortana_xl_v3.safetensors",
"Characters/D.va/DVaOWXL - by KillerUwU13_AI.safetensors",
"Characters/D.va/DVaPony.safetensors",
"Characters/Lara Croft/ClassicLara.safetensors",
"Characters/Lara Croft/LaraCroft_character-20.safetensors",
"Characters/Lara Croft/lara_croft_xl_v2.safetensors",
"Characters/Peni Parker/32dim-MR_PeniParker-PONY.safetensors",
"Characters/Peni Parker/PeniParkerRivals-10.safetensors",
"Characters/Peni Parker/Peni_Parker-000007.safetensors",
"Characters/Peni Parker/Peni_parker_marvel_rivels.safetensors",
"Characters/Samus Aran/Samus AranPonyLora.safetensors",
"Characters/Samus Aran/samus aran.safetensors",
"Characters/Samus Aran/samus-09.safetensors",
"Characters/Scarlett Johansson/Scarlett-v20.safetensors",
"Characters/Scarlett Johansson/Scarlett4.safetensors",
"Characters/Widowmaker/SDXL_ow1 Windowmaker.safetensors",
"Characters/Widowmaker/WidowmakerPonyLoRA.safetensors",
"Characters/Widowmaker/Widowmaker_cgi.safetensors",
"Characters/princess_xl_v2.safetensors",
"Characters/princess_zelda.safetensors",
"Citron Pony Styles/80s_Pop_PDXL.safetensors",
"Citron Pony Styles/Alola_Style_PDXL.safetensors",
"Citron Pony Styles/BoldToon.safetensors",
"Citron Pony Styles/CandyCuteStylePDXL.safetensors",
"Citron Pony Styles/CatalystStylePDXL.safetensors",
"Citron Pony Styles/Citron3D_PDXL.safetensors",
"Citron Pony Styles/CitronAnimeTreasure-07.safetensors",
"Citron Pony Styles/EnergyCAT.safetensors",
"Citron Pony Styles/FlatAnimeP1.safetensors",
"Citron Pony Styles/LunarCAT_Style.safetensors",
"Citron Pony Styles/RealisticAnime.safetensors",
"Citron Pony Styles/Smooth.safetensors",
"Citron Pony Styles/Vivid.safetensors",
"Expressive_H-000001.safetensors",
"Hand v2.safetensors",
"LogoRedmondV2-Logo-LogoRedmAF.safetensors",
"NSFW/2025/cheekbulge.safetensors",
"NSFW/2025/closedmouthfullofcum.safetensors",
"NSFW/2025/doublepenetration_r1.safetensors",
"NSFW/2025/xray (1).safetensors",
"NSFW/Acts/LapBlowLyingV1.safetensors",
"NSFW/Acts/Long tongue fellatio.safetensors",
"NSFW/Acts/Proper_Grinding.safetensors",
"NSFW/Acts/Vacuum felaltio-000009.safetensors",
"NSFW/Acts/assworship.safetensors",
"NSFW/Acts/boobsuck.safetensors",
"NSFW/Acts/breasts_squeezed_together_v02.safetensors",
"NSFW/Acts/chikan_v31.safetensors",
"NSFW/Acts/concept_sideboobpeek_ponyXL.safetensors",
"NSFW/Acts/covering privates_XL_V10.safetensors",
"NSFW/Acts/facesit_pov_pdxl_goofy.safetensors",
"NSFW/Acts/grinding_pony_V10.safetensors",
"NSFW/Acts/hand_milking_pdxl_goofy.safetensors",
"NSFW/Acts/mating_press_v02-pony.safetensors",
"NSFW/Acts/pantjob.safetensors",
"NSFW/Acts/undressing_another_v05.safetensors",
"NSFW/All the way through tentacles.safetensors",
"NSFW/Deep_Throat_JAV_MIAA572_PONY_V1.safetensors",
"NSFW/FComic_1to1000_Pony_V1.safetensors",
"NSFW/FComic_HardCore_Pony_V1.safetensors",
"NSFW/Poses/Double anal back-000006.safetensors",
"NSFW/Poses/Double penetration suspended LORA-000009.safetensors",
"NSFW/Poses/Missionary DP 2-000008.safetensors",
"NSFW/Poses/Piledrive pov-000008.safetensors",
"NSFW/Poses/Pressed_Missionary_Feet_On_Chest.safetensors",
"NSFW/Poses/Pretzel.safetensors",
"NSFW/Poses/Reverse spitroast.safetensors",
"NSFW/Poses/chokesex.safetensors",
"NSFW/Poses/dp_from_behind_v01b.safetensors",
"NSFW/Poses/leg_up_side_matsubamuzushi_pony_V10.safetensors",
"NSFW/Poses/suspended_congress_kiben_pony_V10.safetensors",
"NSFW/Poses/suspensionPony.safetensors",
"NSFW/Poses/top-down_doggystyle_v02-pony.safetensors",
"NSFW/Poses/wheel_barrow_oshiguruma_pony_V10.safetensors",
"NSFW/Rough_Sex_Any_position.safetensors",
"NSFW/Saya-spread pussy(fingers).safetensors",
"NSFW/X-ray anal 3.safetensors",
"NSFW/closeprone.safetensors",
"NSFW/cumontongue.safetensors",
"NSFW/helpbj.safetensors",
"NSFW/micro_bra_pdxl_goofy.safetensors",
"NSFW/mouthful.safetensors",
"NSFW/projectile_cum_v02.safetensors",
"NSFW/pussy_sandwich_v02-pony.safetensors",
"NSFW/restroom_v02a.safetensors",
"NSFW/spp_spreadpussy-W-V1.safetensors",
"Vixon's Pony Styles/Sh4rd4n1cXLP.safetensors",
"Vixon's Pony Styles/ch33s3XLP.safetensors",
"Vixon's Pony Styles/itsyelizXLP.safetensors",
"Vixon's Pony Styles/lalangheejXLP.safetensors",
"Vixon's Pony Styles/nikkileeismeXLP.safetensors",
"Vixon's Pony Styles/tomidoronXLP.safetensors",
"WowifierXL-V2.safetensors",
"detailed_notrigger.safetensors",
"detailxl.safetensors"
]
],
"strength_model": [
"FLOAT",
{ "default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01 }
],
"strength_clip": [
"FLOAT",
{ "default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01 }
]
},
"optional": { "prev_hooks": ["HOOKS"] }
},
"input_order": {
"required": ["lora_name", "strength_model", "strength_clip"],
"optional": ["prev_hooks"]
},
"output": ["HOOKS"],
"output_is_list": [false],
"output_name": ["HOOKS"],
"name": "CreateHookLora",
"display_name": "Create Hook LoRA",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/create",
"output_node": false,
"experimental": true
},
"CreateHookLoraModelOnly": {
"input": {
"required": {
"lora_name": [
[
"Characters/Cortana/Cortana(revAnimated).safetensors",
"Characters/Cortana/Cortana.safetensors",
"Characters/Cortana/Cortana_XL.safetensors",
"Characters/Cortana/cortana_xl_v3.safetensors",
"Characters/D.va/DVaOWXL - by KillerUwU13_AI.safetensors",
"Characters/D.va/DVaPony.safetensors",
"Characters/Lara Croft/ClassicLara.safetensors",
"Characters/Lara Croft/LaraCroft_character-20.safetensors",
"Characters/Lara Croft/lara_croft_xl_v2.safetensors",
"Characters/Peni Parker/32dim-MR_PeniParker-PONY.safetensors",
"Characters/Peni Parker/PeniParkerRivals-10.safetensors",
"Characters/Peni Parker/Peni_Parker-000007.safetensors",
"Characters/Peni Parker/Peni_parker_marvel_rivels.safetensors",
"Characters/Samus Aran/Samus AranPonyLora.safetensors",
"Characters/Samus Aran/samus aran.safetensors",
"Characters/Samus Aran/samus-09.safetensors",
"Characters/Scarlett Johansson/Scarlett-v20.safetensors",
"Characters/Scarlett Johansson/Scarlett4.safetensors",
"Characters/Widowmaker/SDXL_ow1 Windowmaker.safetensors",
"Characters/Widowmaker/WidowmakerPonyLoRA.safetensors",
"Characters/Widowmaker/Widowmaker_cgi.safetensors",
"Characters/princess_xl_v2.safetensors",
"Characters/princess_zelda.safetensors",
"Citron Pony Styles/80s_Pop_PDXL.safetensors",
"Citron Pony Styles/Alola_Style_PDXL.safetensors",
"Citron Pony Styles/BoldToon.safetensors",
"Citron Pony Styles/CandyCuteStylePDXL.safetensors",
"Citron Pony Styles/CatalystStylePDXL.safetensors",
"Citron Pony Styles/Citron3D_PDXL.safetensors",
"Citron Pony Styles/CitronAnimeTreasure-07.safetensors",
"Citron Pony Styles/EnergyCAT.safetensors",
"Citron Pony Styles/FlatAnimeP1.safetensors",
"Citron Pony Styles/LunarCAT_Style.safetensors",
"Citron Pony Styles/RealisticAnime.safetensors",
"Citron Pony Styles/Smooth.safetensors",
"Citron Pony Styles/Vivid.safetensors",
"Expressive_H-000001.safetensors",
"Hand v2.safetensors",
"LogoRedmondV2-Logo-LogoRedmAF.safetensors",
"NSFW/2025/cheekbulge.safetensors",
"NSFW/2025/closedmouthfullofcum.safetensors",
"NSFW/2025/doublepenetration_r1.safetensors",
"NSFW/2025/xray (1).safetensors",
"NSFW/Acts/LapBlowLyingV1.safetensors",
"NSFW/Acts/Long tongue fellatio.safetensors",
"NSFW/Acts/Proper_Grinding.safetensors",
"NSFW/Acts/Vacuum felaltio-000009.safetensors",
"NSFW/Acts/assworship.safetensors",
"NSFW/Acts/boobsuck.safetensors",
"NSFW/Acts/breasts_squeezed_together_v02.safetensors",
"NSFW/Acts/chikan_v31.safetensors",
"NSFW/Acts/concept_sideboobpeek_ponyXL.safetensors",
"NSFW/Acts/covering privates_XL_V10.safetensors",
"NSFW/Acts/facesit_pov_pdxl_goofy.safetensors",
"NSFW/Acts/grinding_pony_V10.safetensors",
"NSFW/Acts/hand_milking_pdxl_goofy.safetensors",
"NSFW/Acts/mating_press_v02-pony.safetensors",
"NSFW/Acts/pantjob.safetensors",
"NSFW/Acts/undressing_another_v05.safetensors",
"NSFW/All the way through tentacles.safetensors",
"NSFW/Deep_Throat_JAV_MIAA572_PONY_V1.safetensors",
"NSFW/FComic_1to1000_Pony_V1.safetensors",
"NSFW/FComic_HardCore_Pony_V1.safetensors",
"NSFW/Poses/Double anal back-000006.safetensors",
"NSFW/Poses/Double penetration suspended LORA-000009.safetensors",
"NSFW/Poses/Missionary DP 2-000008.safetensors",
"NSFW/Poses/Piledrive pov-000008.safetensors",
"NSFW/Poses/Pressed_Missionary_Feet_On_Chest.safetensors",
"NSFW/Poses/Pretzel.safetensors",
"NSFW/Poses/Reverse spitroast.safetensors",
"NSFW/Poses/chokesex.safetensors",
"NSFW/Poses/dp_from_behind_v01b.safetensors",
"NSFW/Poses/leg_up_side_matsubamuzushi_pony_V10.safetensors",
"NSFW/Poses/suspended_congress_kiben_pony_V10.safetensors",
"NSFW/Poses/suspensionPony.safetensors",
"NSFW/Poses/top-down_doggystyle_v02-pony.safetensors",
"NSFW/Poses/wheel_barrow_oshiguruma_pony_V10.safetensors",
"NSFW/Rough_Sex_Any_position.safetensors",
"NSFW/Saya-spread pussy(fingers).safetensors",
"NSFW/X-ray anal 3.safetensors",
"NSFW/closeprone.safetensors",
"NSFW/cumontongue.safetensors",
"NSFW/helpbj.safetensors",
"NSFW/micro_bra_pdxl_goofy.safetensors",
"NSFW/mouthful.safetensors",
"NSFW/projectile_cum_v02.safetensors",
"NSFW/pussy_sandwich_v02-pony.safetensors",
"NSFW/restroom_v02a.safetensors",
"NSFW/spp_spreadpussy-W-V1.safetensors",
"Vixon's Pony Styles/Sh4rd4n1cXLP.safetensors",
"Vixon's Pony Styles/ch33s3XLP.safetensors",
"Vixon's Pony Styles/itsyelizXLP.safetensors",
"Vixon's Pony Styles/lalangheejXLP.safetensors",
"Vixon's Pony Styles/nikkileeismeXLP.safetensors",
"Vixon's Pony Styles/tomidoronXLP.safetensors",
"WowifierXL-V2.safetensors",
"detailed_notrigger.safetensors",
"detailxl.safetensors"
]
],
"strength_model": [
"FLOAT",
{ "default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01 }
]
},
"optional": { "prev_hooks": ["HOOKS"] }
},
"input_order": {
"required": ["lora_name", "strength_model"],
"optional": ["prev_hooks"]
},
"output": ["HOOKS"],
"output_is_list": [false],
"output_name": ["HOOKS"],
"name": "CreateHookLoraModelOnly",
"display_name": "Create Hook LoRA (MO)",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/create",
"output_node": false,
"experimental": true
},
"CreateHookModelAsLora": {
"input": {
"required": {
"ckpt_name": [
[
"Anime/autismmixSDXL_autismmixConfetti.safetensors",
"Anime/autismmixSDXL_autismmixPony.safetensors",
"Anime/ponyDiffusionV6XL_v6StartWithThisOne.safetensors",
"Anime/prefectPonyXL_v50.safetensors",
"Anime/waiANINSFWPONYXL_v11.safetensors",
"Anime/waiANINSFWPONYXL_v130.safetensors",
"Anime/waiNSFWIllustrious_v70.safetensors",
"Babes/babesBYSTABLEYOGI_xlV2.safetensors",
"Babes/babesByStableYogi_ponyV3VAE.safetensors",
"FLUX/flux1-dev-fp8.safetensors",
"RDXL/rdxlAnime_sdxlPony8.safetensors",
"RDXL/rdxlPixelArt_pony2.safetensors",
"RDXL/realDream_sdxlPony12.safetensors",
"Realism/cyberrealisticPony_v70a.safetensors",
"Realism/cyberrealisticPony_v8.safetensors",
"Realism/realvisxlV50_v50Bakedvae.safetensors",
"SD3.5/sd3.5_large_fp16.safetensors",
"SD3.5/sd3.5_large_fp8_scaled.safetensors",
"Semi-realism/bemypony_Semirealanime.safetensors",
"Semi-realism/duchaitenPonyXLNo_v60.safetensors",
"prefectPonyXL_v3.safetensors",
"sd-v1-5-inpainting.ckpt",
"v1-5-pruned-emaonly.ckpt"
]
],
"strength_model": [
"FLOAT",
{ "default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01 }
],
"strength_clip": [
"FLOAT",
{ "default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01 }
]
},
"optional": { "prev_hooks": ["HOOKS"] }
},
"input_order": {
"required": ["ckpt_name", "strength_model", "strength_clip"],
"optional": ["prev_hooks"]
},
"output": ["HOOKS"],
"output_is_list": [false],
"output_name": ["HOOKS"],
"name": "CreateHookModelAsLora",
"display_name": "Create Hook Model as LoRA",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/create",
"output_node": false,
"experimental": true
},
"CreateHookModelAsLoraModelOnly": {
"input": {
"required": {
"ckpt_name": [
[
"Anime/autismmixSDXL_autismmixConfetti.safetensors",
"Anime/autismmixSDXL_autismmixPony.safetensors",
"Anime/ponyDiffusionV6XL_v6StartWithThisOne.safetensors",
"Anime/prefectPonyXL_v50.safetensors",
"Anime/waiANINSFWPONYXL_v11.safetensors",
"Anime/waiANINSFWPONYXL_v130.safetensors",
"Anime/waiNSFWIllustrious_v70.safetensors",
"Babes/babesBYSTABLEYOGI_xlV2.safetensors",
"Babes/babesByStableYogi_ponyV3VAE.safetensors",
"FLUX/flux1-dev-fp8.safetensors",
"RDXL/rdxlAnime_sdxlPony8.safetensors",
"RDXL/rdxlPixelArt_pony2.safetensors",
"RDXL/realDream_sdxlPony12.safetensors",
"Realism/cyberrealisticPony_v70a.safetensors",
"Realism/cyberrealisticPony_v8.safetensors",
"Realism/realvisxlV50_v50Bakedvae.safetensors",
"SD3.5/sd3.5_large_fp16.safetensors",
"SD3.5/sd3.5_large_fp8_scaled.safetensors",
"Semi-realism/bemypony_Semirealanime.safetensors",
"Semi-realism/duchaitenPonyXLNo_v60.safetensors",
"prefectPonyXL_v3.safetensors",
"sd-v1-5-inpainting.ckpt",
"v1-5-pruned-emaonly.ckpt"
]
],
"strength_model": [
"FLOAT",
{ "default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01 }
]
},
"optional": { "prev_hooks": ["HOOKS"] }
},
"input_order": {
"required": ["ckpt_name", "strength_model"],
"optional": ["prev_hooks"]
},
"output": ["HOOKS"],
"output_is_list": [false],
"output_name": ["HOOKS"],
"name": "CreateHookModelAsLoraModelOnly",
"display_name": "Create Hook Model as LoRA (MO)",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/create",
"output_node": false,
"experimental": true
},
"SetHookKeyframes": {
"input": {
"required": { "hooks": ["HOOKS"] },
"optional": { "hook_kf": ["HOOK_KEYFRAMES"] }
},
"input_order": { "required": ["hooks"], "optional": ["hook_kf"] },
"output": ["HOOKS"],
"output_is_list": [false],
"output_name": ["HOOKS"],
"name": "SetHookKeyframes",
"display_name": "Set Hook Keyframes",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/scheduling",
"output_node": false,
"experimental": true
},
"CreateHookKeyframe": {
"input": {
"required": {
"strength_mult": [
"FLOAT",
{ "default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01 }
],
"start_percent": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001 }
]
},
"optional": { "prev_hook_kf": ["HOOK_KEYFRAMES"] }
},
"input_order": {
"required": ["strength_mult", "start_percent"],
"optional": ["prev_hook_kf"]
},
"output": ["HOOK_KEYFRAMES"],
"output_is_list": [false],
"output_name": ["HOOK_KF"],
"name": "CreateHookKeyframe",
"display_name": "Create Hook Keyframe",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/scheduling",
"output_node": false,
"experimental": true
},
"CreateHookKeyframesInterpolated": {
"input": {
"required": {
"strength_start": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.001 }
],
"strength_end": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.001 }
],
"interpolation": [["linear", "ease_in", "ease_out", "ease_in_out"]],
"start_percent": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"end_percent": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"keyframes_count": [
"INT",
{ "default": 5, "min": 2, "max": 100, "step": 1 }
],
"print_keyframes": ["BOOLEAN", { "default": false }]
},
"optional": { "prev_hook_kf": ["HOOK_KEYFRAMES"] }
},
"input_order": {
"required": [
"strength_start",
"strength_end",
"interpolation",
"start_percent",
"end_percent",
"keyframes_count",
"print_keyframes"
],
"optional": ["prev_hook_kf"]
},
"output": ["HOOK_KEYFRAMES"],
"output_is_list": [false],
"output_name": ["HOOK_KF"],
"name": "CreateHookKeyframesInterpolated",
"display_name": "Create Hook Keyframes Interp.",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/scheduling",
"output_node": false,
"experimental": true
},
"CreateHookKeyframesFromFloats": {
"input": {
"required": {
"floats_strength": [
"FLOATS",
{ "default": -1, "min": -1, "step": 0.001, "forceInput": true }
],
"start_percent": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"end_percent": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"print_keyframes": ["BOOLEAN", { "default": false }]
},
"optional": { "prev_hook_kf": ["HOOK_KEYFRAMES"] }
},
"input_order": {
"required": [
"floats_strength",
"start_percent",
"end_percent",
"print_keyframes"
],
"optional": ["prev_hook_kf"]
},
"output": ["HOOK_KEYFRAMES"],
"output_is_list": [false],
"output_name": ["HOOK_KF"],
"name": "CreateHookKeyframesFromFloats",
"display_name": "Create Hook Keyframes From Floats",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/scheduling",
"output_node": false,
"experimental": true
},
"CombineHooks2": {
"input": {
"required": {},
"optional": { "hooks_A": ["HOOKS"], "hooks_B": ["HOOKS"] }
},
"input_order": { "required": [], "optional": ["hooks_A", "hooks_B"] },
"output": ["HOOKS"],
"output_is_list": [false],
"output_name": ["HOOKS"],
"name": "CombineHooks2",
"display_name": "Combine Hooks [2]",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/combine",
"output_node": false,
"experimental": true
},
"CombineHooks4": {
"input": {
"required": {},
"optional": {
"hooks_A": ["HOOKS"],
"hooks_B": ["HOOKS"],
"hooks_C": ["HOOKS"],
"hooks_D": ["HOOKS"]
}
},
"input_order": {
"required": [],
"optional": ["hooks_A", "hooks_B", "hooks_C", "hooks_D"]
},
"output": ["HOOKS"],
"output_is_list": [false],
"output_name": ["HOOKS"],
"name": "CombineHooks4",
"display_name": "Combine Hooks [4]",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/combine",
"output_node": false,
"experimental": true
},
"CombineHooks8": {
"input": {
"required": {},
"optional": {
"hooks_A": ["HOOKS"],
"hooks_B": ["HOOKS"],
"hooks_C": ["HOOKS"],
"hooks_D": ["HOOKS"],
"hooks_E": ["HOOKS"],
"hooks_F": ["HOOKS"],
"hooks_G": ["HOOKS"],
"hooks_H": ["HOOKS"]
}
},
"input_order": {
"required": [],
"optional": [
"hooks_A",
"hooks_B",
"hooks_C",
"hooks_D",
"hooks_E",
"hooks_F",
"hooks_G",
"hooks_H"
]
},
"output": ["HOOKS"],
"output_is_list": [false],
"output_name": ["HOOKS"],
"name": "CombineHooks8",
"display_name": "Combine Hooks [8]",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/combine",
"output_node": false,
"experimental": true
},
"ConditioningSetProperties": {
"input": {
"required": {
"cond_NEW": ["CONDITIONING"],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"set_cond_area": [["default", "mask bounds"]]
},
"optional": {
"mask": ["MASK"],
"hooks": ["HOOKS"],
"timesteps": ["TIMESTEPS_RANGE"]
}
},
"input_order": {
"required": ["cond_NEW", "strength", "set_cond_area"],
"optional": ["mask", "hooks", "timesteps"]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ConditioningSetProperties",
"display_name": "Cond Set Props",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/cond single",
"output_node": false,
"experimental": true
},
"ConditioningSetPropertiesAndCombine": {
"input": {
"required": {
"cond": ["CONDITIONING"],
"cond_NEW": ["CONDITIONING"],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"set_cond_area": [["default", "mask bounds"]]
},
"optional": {
"mask": ["MASK"],
"hooks": ["HOOKS"],
"timesteps": ["TIMESTEPS_RANGE"]
}
},
"input_order": {
"required": ["cond", "cond_NEW", "strength", "set_cond_area"],
"optional": ["mask", "hooks", "timesteps"]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ConditioningSetPropertiesAndCombine",
"display_name": "Cond Set Props Combine",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/cond single",
"output_node": false,
"experimental": true
},
"PairConditioningSetProperties": {
"input": {
"required": {
"positive_NEW": ["CONDITIONING"],
"negative_NEW": ["CONDITIONING"],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"set_cond_area": [["default", "mask bounds"]]
},
"optional": {
"mask": ["MASK"],
"hooks": ["HOOKS"],
"timesteps": ["TIMESTEPS_RANGE"]
}
},
"input_order": {
"required": ["positive_NEW", "negative_NEW", "strength", "set_cond_area"],
"optional": ["mask", "hooks", "timesteps"]
},
"output": ["CONDITIONING", "CONDITIONING"],
"output_is_list": [false, false],
"output_name": ["positive", "negative"],
"name": "PairConditioningSetProperties",
"display_name": "Cond Pair Set Props",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/cond pair",
"output_node": false,
"experimental": true
},
"PairConditioningSetPropertiesAndCombine": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"positive_NEW": ["CONDITIONING"],
"negative_NEW": ["CONDITIONING"],
"strength": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01 }
],
"set_cond_area": [["default", "mask bounds"]]
},
"optional": {
"mask": ["MASK"],
"hooks": ["HOOKS"],
"timesteps": ["TIMESTEPS_RANGE"]
}
},
"input_order": {
"required": [
"positive",
"negative",
"positive_NEW",
"negative_NEW",
"strength",
"set_cond_area"
],
"optional": ["mask", "hooks", "timesteps"]
},
"output": ["CONDITIONING", "CONDITIONING"],
"output_is_list": [false, false],
"output_name": ["positive", "negative"],
"name": "PairConditioningSetPropertiesAndCombine",
"display_name": "Cond Pair Set Props Combine",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/cond pair",
"output_node": false,
"experimental": true
},
"ConditioningSetDefaultCombine": {
"input": {
"required": {
"cond": ["CONDITIONING"],
"cond_DEFAULT": ["CONDITIONING"]
},
"optional": { "hooks": ["HOOKS"] }
},
"input_order": {
"required": ["cond", "cond_DEFAULT"],
"optional": ["hooks"]
},
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "ConditioningSetDefaultCombine",
"display_name": "Cond Set Default Combine",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/cond single",
"output_node": false,
"experimental": true
},
"PairConditioningSetDefaultCombine": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"positive_DEFAULT": ["CONDITIONING"],
"negative_DEFAULT": ["CONDITIONING"]
},
"optional": { "hooks": ["HOOKS"] }
},
"input_order": {
"required": [
"positive",
"negative",
"positive_DEFAULT",
"negative_DEFAULT"
],
"optional": ["hooks"]
},
"output": ["CONDITIONING", "CONDITIONING"],
"output_is_list": [false, false],
"output_name": ["positive", "negative"],
"name": "PairConditioningSetDefaultCombine",
"display_name": "Cond Pair Set Default Combine",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/cond pair",
"output_node": false,
"experimental": true
},
"PairConditioningCombine": {
"input": {
"required": {
"positive_A": ["CONDITIONING"],
"negative_A": ["CONDITIONING"],
"positive_B": ["CONDITIONING"],
"negative_B": ["CONDITIONING"]
}
},
"input_order": {
"required": ["positive_A", "negative_A", "positive_B", "negative_B"]
},
"output": ["CONDITIONING", "CONDITIONING"],
"output_is_list": [false, false],
"output_name": ["positive", "negative"],
"name": "PairConditioningCombine",
"display_name": "Cond Pair Combine",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/cond pair",
"output_node": false,
"experimental": true
},
"SetClipHooks": {
"input": {
"required": {
"clip": ["CLIP"],
"apply_to_conds": ["BOOLEAN", { "default": true }],
"schedule_clip": ["BOOLEAN", { "default": false }]
},
"optional": { "hooks": ["HOOKS"] }
},
"input_order": {
"required": ["clip", "apply_to_conds", "schedule_clip"],
"optional": ["hooks"]
},
"output": ["CLIP"],
"output_is_list": [false],
"output_name": ["CLIP"],
"name": "SetClipHooks",
"display_name": "Set CLIP Hooks",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks/clip",
"output_node": false,
"experimental": true
},
"ConditioningTimestepsRange": {
"input": {
"required": {
"start_percent": [
"FLOAT",
{ "default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001 }
],
"end_percent": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001 }
]
}
},
"input_order": { "required": ["start_percent", "end_percent"] },
"output": ["TIMESTEPS_RANGE", "TIMESTEPS_RANGE", "TIMESTEPS_RANGE"],
"output_is_list": [false, false, false],
"output_name": ["TIMESTEPS_RANGE", "BEFORE_RANGE", "AFTER_RANGE"],
"name": "ConditioningTimestepsRange",
"display_name": "Timesteps Range",
"description": "",
"python_module": "comfy_extras.nodes_hooks",
"category": "advanced/hooks",
"output_node": false,
"experimental": true
},
"Load3D": {
"input": {
"required": {
"model_file": [[], { "file_upload": true }],
"image": ["LOAD_3D", {}],
"width": ["INT", { "default": 1024, "min": 1, "max": 4096, "step": 1 }],
"height": ["INT", { "default": 1024, "min": 1, "max": 4096, "step": 1 }]
}
},
"input_order": { "required": ["model_file", "image", "width", "height"] },
"output": ["IMAGE", "MASK", "STRING"],
"output_is_list": [false, false, false],
"output_name": ["image", "mask", "mesh_path"],
"name": "Load3D",
"display_name": "Load 3D",
"description": "",
"python_module": "comfy_extras.nodes_load_3d",
"category": "3d",
"output_node": false,
"experimental": true
},
"Load3DAnimation": {
"input": {
"required": {
"model_file": [[], { "file_upload": true }],
"image": ["LOAD_3D_ANIMATION", {}],
"width": ["INT", { "default": 1024, "min": 1, "max": 4096, "step": 1 }],
"height": ["INT", { "default": 1024, "min": 1, "max": 4096, "step": 1 }]
}
},
"input_order": { "required": ["model_file", "image", "width", "height"] },
"output": ["IMAGE", "MASK", "STRING"],
"output_is_list": [false, false, false],
"output_name": ["image", "mask", "mesh_path"],
"name": "Load3DAnimation",
"display_name": "Load 3D - Animation",
"description": "",
"python_module": "comfy_extras.nodes_load_3d",
"category": "3d",
"output_node": false,
"experimental": true
},
"Preview3D": {
"input": {
"required": {
"model_file": ["STRING", { "default": "", "multiline": false }]
}
},
"input_order": { "required": ["model_file"] },
"output": [],
"output_is_list": [],
"output_name": [],
"name": "Preview3D",
"display_name": "Preview 3D",
"description": "",
"python_module": "comfy_extras.nodes_load_3d",
"category": "3d",
"output_node": true,
"experimental": true
},
"Preview3DAnimation": {
"input": {
"required": {
"model_file": ["STRING", { "default": "", "multiline": false }]
}
},
"input_order": { "required": ["model_file"] },
"output": [],
"output_is_list": [],
"output_name": [],
"name": "Preview3DAnimation",
"display_name": "Preview 3D - Animation",
"description": "",
"python_module": "comfy_extras.nodes_load_3d",
"category": "3d",
"output_node": true,
"experimental": true
},
"EmptyCosmosLatentVideo": {
"input": {
"required": {
"width": [
"INT",
{ "default": 1280, "min": 16, "max": 16384, "step": 16 }
],
"height": [
"INT",
{ "default": 704, "min": 16, "max": 16384, "step": 16 }
],
"length": [
"INT",
{ "default": 121, "min": 1, "max": 16384, "step": 8 }
],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }]
}
},
"input_order": { "required": ["width", "height", "length", "batch_size"] },
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "EmptyCosmosLatentVideo",
"display_name": "EmptyCosmosLatentVideo",
"description": "",
"python_module": "comfy_extras.nodes_cosmos",
"category": "latent/video",
"output_node": false
},
"CosmosImageToVideoLatent": {
"input": {
"required": {
"vae": ["VAE"],
"width": [
"INT",
{ "default": 1280, "min": 16, "max": 16384, "step": 16 }
],
"height": [
"INT",
{ "default": 704, "min": 16, "max": 16384, "step": 16 }
],
"length": [
"INT",
{ "default": 121, "min": 1, "max": 16384, "step": 8 }
],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }]
},
"optional": { "start_image": ["IMAGE"], "end_image": ["IMAGE"] }
},
"input_order": {
"required": ["vae", "width", "height", "length", "batch_size"],
"optional": ["start_image", "end_image"]
},
"output": ["LATENT"],
"output_is_list": [false],
"output_name": ["LATENT"],
"name": "CosmosImageToVideoLatent",
"display_name": "CosmosImageToVideoLatent",
"description": "",
"python_module": "comfy_extras.nodes_cosmos",
"category": "conditioning/inpaint",
"output_node": false
},
"SaveWEBM": {
"input": {
"required": {
"images": ["IMAGE"],
"filename_prefix": ["STRING", { "default": "ComfyUI" }],
"codec": [["vp9", "av1"]],
"fps": [
"FLOAT",
{ "default": 24.0, "min": 0.01, "max": 1000.0, "step": 0.01 }
],
"crf": [
"FLOAT",
{
"default": 32.0,
"min": 0,
"max": 63.0,
"step": 1,
"tooltip": "Higher crf means lower quality with a smaller file size, lower crf means higher quality higher filesize."
}
]
},
"hidden": { "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" }
},
"input_order": {
"required": ["images", "filename_prefix", "codec", "fps", "crf"],
"hidden": ["prompt", "extra_pnginfo"]
},
"output": [],
"output_is_list": [],
"output_name": [],
"name": "SaveWEBM",
"display_name": "SaveWEBM",
"description": "",
"python_module": "comfy_extras.nodes_video",
"category": "image/video",
"output_node": true,
"experimental": true
},
"CLIPTextEncodeLumina2": {
"input": {
"required": {
"system_prompt": [
["superior", "alignment"],
{
"tooltip": "Lumina2 provide two types of system prompts:Superior: You are an assistant designed to generate superior images with the superior degree of image-text alignment based on textual prompts or user prompts. Alignment: You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."
}
],
"user_prompt": [
"STRING",
{
"multiline": true,
"dynamicPrompts": true,
"tooltip": "The text to be encoded."
}
],
"clip": [
"CLIP",
{ "tooltip": "The CLIP model used for encoding the text." }
]
}
},
"input_order": { "required": ["system_prompt", "user_prompt", "clip"] },
"output": ["CONDITIONING"],
"output_is_list": [false],
"output_name": ["CONDITIONING"],
"name": "CLIPTextEncodeLumina2",
"display_name": "CLIP Text Encode for Lumina2",
"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.",
"python_module": "comfy_extras.nodes_lumina2",
"category": "conditioning",
"output_node": false,
"output_tooltips": [
"A conditioning containing the embedded text used to guide the diffusion model."
]
},
"RenormCFG": {
"input": {
"required": {
"model": ["MODEL"],
"cfg_trunc": [
"FLOAT",
{ "default": 100, "min": 0.0, "max": 100.0, "step": 0.01 }
],
"renorm_cfg": [
"FLOAT",
{ "default": 1.0, "min": 0.0, "max": 100.0, "step": 0.01 }
]
}
},
"input_order": { "required": ["model", "cfg_trunc", "renorm_cfg"] },
"output": ["MODEL"],
"output_is_list": [false],
"output_name": ["MODEL"],
"name": "RenormCFG",
"display_name": "RenormCFG",
"description": "",
"python_module": "comfy_extras.nodes_lumina2",
"category": "advanced/model",
"output_node": false
},
"WanImageToVideo": {
"input": {
"required": {
"positive": ["CONDITIONING"],
"negative": ["CONDITIONING"],
"vae": ["VAE"],
"width": [
"INT",
{ "default": 832, "min": 16, "max": 16384, "step": 16 }
],
"height": [
"INT",
{ "default": 480, "min": 16, "max": 16384, "step": 16 }
],
"length": ["INT", { "default": 81, "min": 1, "max": 16384, "step": 4 }],
"batch_size": ["INT", { "default": 1, "min": 1, "max": 4096 }]
},
"optional": {
"clip_vision_output": ["CLIP_VISION_OUTPUT"],
"start_image": ["IMAGE"]
}
},
"input_order": {
"required": [
"positive",
"negative",
"vae",
"width",
"height",
"length",
"batch_size"
],
"optional": ["clip_vision_output", "start_image"]
},
"output": ["CONDITIONING", "CONDITIONING", "LATENT"],
"output_is_list": [false, false, false],
"output_name": ["positive", "negative", "latent"],
"name": "WanImageToVideo",
"display_name": "WanImageToVideo",
"description": "",
"python_module": "comfy_extras.nodes_wan",
"category": "conditioning/video_models",
"output_node": false
},
"SaveImageWebsocket": {
"input": { "required": { "images": ["IMAGE"] } },
"input_order": { "required": ["images"] },
"output": [],
"output_is_list": [],
"output_name": [],
"name": "SaveImageWebsocket",
"display_name": "SaveImageWebsocket",
"description": "",
"python_module": "custom_nodes.websocket_image_save",
"category": "api/image",
"output_node": true
}
}