55from comfy .sd import VAE
66
77from .freeinit import FreeInitFilter
8- from .sample_settings import (FreeInitOptions , IterationOptions ,
8+ from .sample_settings import (FreeInitOptions , IterationOptions , AncestralOptions ,
99 NoiseLayerAdd , NoiseLayerAddWeighted , NoiseLayerNormalizedSum , NoiseLayerGroup , NoiseLayerReplace , NoiseLayerType ,
10- SeedNoiseGeneration , SampleSettings , NoiseCalibration ,
10+ SeedNoiseGeneration , SampleSettings , NoiseCalibration , NoiseDeterminism ,
1111 CustomCFGKeyframeGroup , CustomCFGKeyframe , CFGExtrasGroup , CFGExtras ,
1212 NoisedImageToInjectGroup , NoisedImageToInject , NoisedImageInjectOptions )
1313from .utils_model import BIGMIN , BIGMAX , MAX_RESOLUTION , SigmaSchedule , InterpolationMethod
@@ -28,11 +28,12 @@ def INPUT_TYPES(s):
2828 "optional" : {
2929 "noise_layers" : ("NOISE_LAYERS" ,),
3030 "iteration_opts" : ("ITERATION_OPTS" ,),
31- "seed_override" : ("INT" , {"default" : 0 , "min" : 0 , "max" : 0xffffffffffffffff , "forceInput " : True }),
31+ "seed_override" : ("INT" , {"default" : 0 , "min" : 0 , "max" : 0xffffffffffffffff , "defaultInput " : True }),
3232 "adapt_denoise_steps" : ("BOOLEAN" , {"default" : False },),
3333 "custom_cfg" : ("CUSTOM_CFG" ,),
3434 "sigma_schedule" : ("SIGMA_SCHEDULE" ,),
3535 "image_inject" : ("IMAGE_INJECT" ,),
36+ "ancestral_opts" : ("ANCESTRAL_OPTS" ,),
3637 #"noise_calib": ("NOISE_CALIBRATION",), # TODO: bring back once NoiseCalibration is working
3738 },
3839 "hidden" : {
@@ -48,13 +49,43 @@ def INPUT_TYPES(s):
4849 def create_settings (self , batch_offset : int , noise_type : str , seed_gen : str , seed_offset : int , noise_layers : NoiseLayerGroup = None ,
4950 iteration_opts : IterationOptions = None , seed_override : int = None , adapt_denoise_steps = False ,
5051 custom_cfg : CustomCFGKeyframeGroup = None , sigma_schedule : SigmaSchedule = None , image_inject : NoisedImageToInjectGroup = None ,
51- noise_calib : NoiseCalibration = None ):
52+ noise_calib : NoiseCalibration = None , ancestral_opts = None ):
5253 sampling_settings = SampleSettings (batch_offset = batch_offset , noise_type = noise_type , seed_gen = seed_gen , seed_offset = seed_offset , noise_layers = noise_layers ,
5354 iteration_opts = iteration_opts , seed_override = seed_override , adapt_denoise_steps = adapt_denoise_steps ,
54- custom_cfg = custom_cfg , sigma_schedule = sigma_schedule , image_injection = image_inject , noise_calibration = noise_calib )
55+ custom_cfg = custom_cfg , sigma_schedule = sigma_schedule , image_injection = image_inject , noise_calibration = noise_calib ,
56+ ancestral_opts = ancestral_opts )
5557 return (sampling_settings ,)
5658
5759
60+ class AncestralOptionsNode :
61+ @classmethod
62+ def INPUT_TYPES (s ):
63+ return {
64+ "required" : {
65+ #"batch_offset": ("INT", {"default": 0, "min": 0, "max": BIGMAX}),
66+ "noise_type" : (NoiseLayerType .LIST_ANCESTRAL ,),
67+ #"determinism": (NoiseDeterminism._LIST,),
68+ "seed_offset" : ("INT" , {"default" : 0 , "min" : BIGMIN , "max" : BIGMAX }),
69+ #"seed_gen_override": (SeedNoiseGeneration.LIST_WITH_OVERRIDE,),
70+ },
71+ "optional" : {
72+ "seed_override" : ("INT" , {"default" : 0 , "min" : 0 , "max" : 0xffffffffffffffff , "defaultInput" : True }),
73+ },
74+ "hidden" : {
75+ "autosize" : ("ADEAUTOSIZE" , {"padding" : 0 }),
76+ }
77+ }
78+
79+ RETURN_TYPES = ("ANCESTRAL_OPTS" ,)
80+ CATEGORY = "Animate Diff 🎭🅐🅓/sample settings"
81+ FUNCTION = "create_ancestral_opts"
82+
83+ def create_ancestral_opts (self , noise_type : str , seed_offset : int , determinism : str = NoiseDeterminism .DEFAULT , seed_override : int = None ):
84+ if isinstance (seed_override , Iterable ):
85+ raise Exception ("Passing in a list of seeds for Ancestral Options is not supported at this time." )
86+ return (AncestralOptions (noise_type = noise_type , determinism = determinism , seed_offset = seed_offset , seed_override = seed_override ),)
87+
88+
5889class NoiseLayerReplaceNode :
5990 @classmethod
6091 def INPUT_TYPES (s ):
@@ -68,7 +99,7 @@ def INPUT_TYPES(s):
6899 "optional" : {
69100 "prev_noise_layers" : ("NOISE_LAYERS" ,),
70101 "mask_optional" : ("MASK" ,),
71- "seed_override" : ("INT" , {"default" : 0 , "min" : 0 , "max" : 0xffffffffffffffff , "forceInput " : True }),
102+ "seed_override" : ("INT" , {"default" : 0 , "min" : 0 , "max" : 0xffffffffffffffff , "defaultInput " : True }),
72103 },
73104 "hidden" : {
74105 "autosize" : ("ADEAUTOSIZE" , {"padding" : 0 }),
@@ -106,7 +137,7 @@ def INPUT_TYPES(s):
106137 "optional" : {
107138 "prev_noise_layers" : ("NOISE_LAYERS" ,),
108139 "mask_optional" : ("MASK" ,),
109- "seed_override" : ("INT" , {"default" : 0 , "min" : 0 , "max" : 0xffffffffffffffff , "forceInput " : True }),
140+ "seed_override" : ("INT" , {"default" : 0 , "min" : 0 , "max" : 0xffffffffffffffff , "defaultInput " : True }),
110141 },
111142 "hidden" : {
112143 "autosize" : ("ADEAUTOSIZE" , {"padding" : 0 }),
@@ -147,7 +178,7 @@ def INPUT_TYPES(s):
147178 "optional" : {
148179 "prev_noise_layers" : ("NOISE_LAYERS" ,),
149180 "mask_optional" : ("MASK" ,),
150- "seed_override" : ("INT" , {"default" : 0 , "min" : 0 , "max" : 0xffffffffffffffff , "forceInput " : True }),
181+ "seed_override" : ("INT" , {"default" : 0 , "min" : 0 , "max" : 0xffffffffffffffff , "defaultInput " : True }),
151182 },
152183 "hidden" : {
153184 "autosize" : ("ADEAUTOSIZE" , {"padding" : 0 }),
@@ -187,7 +218,7 @@ def INPUT_TYPES(s):
187218 "optional" : {
188219 "prev_noise_layers" : ("NOISE_LAYERS" ,),
189220 "mask_optional" : ("MASK" ,),
190- "seed_override" : ("INT" , {"default" : 0 , "min" : 0 , "max" : 0xffffffffffffffff , "forceInput " : True }),
221+ "seed_override" : ("INT" , {"default" : 0 , "min" : 0 , "max" : 0xffffffffffffffff , "defaultInput " : True }),
191222 },
192223 "hidden" : {
193224 "autosize" : ("ADEAUTOSIZE" , {"padding" : 0 }),
0 commit comments