From 7c07c2507ff87ab21478581e42b67073c4a92133 Mon Sep 17 00:00:00 2001 From: FizzleDorf <1fizzledorf@gmail.com> Date: Wed, 12 Jun 2024 23:39:00 -0400 Subject: [PATCH 1/6] added funcs to scheduleTypes --- ScheduleTypes.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/ScheduleTypes.py b/ScheduleTypes.py index 511b006..a59e7a0 100644 --- a/ScheduleTypes.py +++ b/ScheduleTypes.py @@ -168,7 +168,48 @@ def batch_prompt_schedule_SDXL_latentInput(settings:ScheduleSettings,clip, laten return (p, n, latents,) +def prompt_schedule_SD3(settings:ScheduleSettings,clip): + # modulus rollover when current frame exceeds max frames + settings.current_frame = settings.current_frame % settings.max_frames + # Clear whitespace and newlines from json + animation_prompts_G = process_input_text(settings.text_g) + animation_prompts_L = process_input_text(settings.text_l) + animation_prompts_T = process_input_text(settings.text_l) + + # add pre_text and app_text then split the combined prompt into positive and negative prompts + posG, negG = batch_split_weighted_subprompts(animation_prompts_G, settings.pre_text_G, settings.app_text_G) + posL, negL = batch_split_weighted_subprompts(animation_prompts_L, settings.pre_text_L, settings.app_text_L) + posT, negT = batch_split_weighted_subprompts(animation_prompts_L, settings.pre_text_L, settings.app_text_L) + + pc, pn, pw = BatchInterpolatePromptsSD3(posG, posL, clip, settings, ) + nc, nn, nw = BatchInterpolatePromptsSD3(negG, negL, clip, settings, ) + + #apply composable diffusion to the current frame + p = addWeighted(pc[settings.current_frame], pn[settings.current_frame], pw[settings.current_frame]) + n = addWeighted(nc[settings.current_frame], nn[settings.current_frame], nw[settings.current_frame]) + + return (p, n,) + +def batch_prompt_schedule_SD3(settings:ScheduleSettings,clip): + + # Clear whitespace and newlines from json + animation_prompts_G = process_input_text(settings.text_g) + animation_prompts_L = process_input_text(settings.text_l) + animation_prompts_T = process_input_text(settings.text_l) + + # add pre_text and app_text then split the combined prompt into positive and negative prompts + posG, negG = batch_split_weighted_subprompts(animation_prompts_G, settings.pre_text_G, settings.app_text_G) + posL, negL = batch_split_weighted_subprompts(animation_prompts_L, settings.pre_text_L, settings.app_text_L) + posT, negT = batch_split_weighted_subprompts(animation_prompts_L, settings.pre_text_L, settings.app_text_L) + + #pc, pn, pw = BatchInterpolatePromptsSD3(posG, posL, clip, settings,) + #nc, nn, nw = BatchInterpolatePromptsSD3(negG, negL, clip, settings,) + + #p = BatchPoolAnimConditioningSD3(pc, pn, pw) + #n = BatchPoolAnimConditioningSD3(nc, nn, nw) + + return (p, n,) From d4b9d5c95a990233637432cf08f6f56361657892 Mon Sep 17 00:00:00 2001 From: FizzleDorf <1fizzledorf@gmail.com> Date: Mon, 24 Jun 2024 09:46:18 -0400 Subject: [PATCH 2/6] fix sdxl batch printout and part of the duplication problem --- BatchFuncs.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/BatchFuncs.py b/BatchFuncs.py index 647ba10..a9a4c10 100644 --- a/BatchFuncs.py +++ b/BatchFuncs.py @@ -444,9 +444,12 @@ def BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, clip, se return cur_prompt, nxt_prompt # in case there is only one keyed promt, set all prompts to that prompt - cur_prompt_series_G, nxt_prompt_series_G = constructPrompt(sorted_prompts_G, cur_prompt_series_G, nxt_prompt_series_G, settings.pre_text_G, settings.app_text_G) - cur_prompt_series_L, nxt_prompt_series_L = constructPrompt(sorted_prompts_G, cur_prompt_series_G, - nxt_prompt_series_G, settings.pre_text_G, settings.app_text_G) + cur_prompt_series_G, nxt_prompt_series_G = constructPrompt(sorted_prompts_G, cur_prompt_series_G, + nxt_prompt_series_G, settings.pre_text_G, + settings.app_text_G) + cur_prompt_series_L, nxt_prompt_series_L = constructPrompt(sorted_prompts_L, cur_prompt_series_L, + nxt_prompt_series_L, settings.pre_text_L, + settings.app_text_L) if len(sorted_prompts_L) - 1 == 0: for i in range(0, len(cur_prompt_series_L) - 1): current_prompt_L = sorted_prompts_L[0][1] @@ -578,8 +581,9 @@ def BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, clip, se if settings.print_output == True: # Show the to/from prompts with evaluated expressions for transparency. for i in range(0, settings.max_frames): - print("\n", "Max Frames: ", settings.max_frames, "\n", "Current Prompt G: ", cur_prompt_series_G[i], + print("\n", "Max Frames: ", settings.max_frames, "Curr Frame: ", i, "\n", "Current Prompt G: ", + cur_prompt_series_G[i], "\n", "Current Prompt L: ", cur_prompt_series_L[i], "\n", "Next Prompt G: ", nxt_prompt_series_G[i], - "\n", "Next Prompt L : ", nxt_prompt_series_L[i], "\n"), "\n", "Current weight: ", weight_series[i] + "\n", "Next Prompt L : ", nxt_prompt_series_L[i], "\n", "Current weight: ", weight_series[i]) return current_conds, next_conds, weight_series From a230237f764144569e1dad758d6240261d5d47dd Mon Sep 17 00:00:00 2001 From: FizzleDorf <1fizzledorf@gmail.com> Date: Mon, 24 Jun 2024 22:08:15 -0400 Subject: [PATCH 3/6] fix required inputs --- BatchFuncs.py | 16 ++++++++-------- ScheduledNodes.py | 36 ++++++++++++++++++------------------ 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/BatchFuncs.py b/BatchFuncs.py index a9a4c10..285a899 100644 --- a/BatchFuncs.py +++ b/BatchFuncs.py @@ -490,8 +490,8 @@ def BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, clip, se nxt_prompt_series_G[f] = '' weight_series[f] = 0.0 - cur_prompt_series_G[f] += (str(settings.pre_text_G) + " " + str(current_prompt_G) + " " + str(settings.app_text_G)) - nxt_prompt_series_G[f] += (str(settings.pre_text_G) + " " + str(next_prompt_G) + " " + str(settings.app_text_G)) + cur_prompt_series_G[f] += (str(current_prompt_G)) + nxt_prompt_series_G[f] += (str(next_prompt_G)) weight_series[f] += current_weight @@ -507,8 +507,8 @@ def BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, clip, se nxt_prompt_series_G[f] = '' weight_series[f] = current_weight - cur_prompt_series_G[f] += (str(settings.pre_text_G) + " " + str(current_prompt_G) + " " + str(settings.app_text_G)) - nxt_prompt_series_G[f] += (str(settings.pre_text_G) + " " + str(next_prompt_G) + " " + str(settings.app_text_G)) + cur_prompt_series_G[f] += (str(current_prompt_G)) + nxt_prompt_series_G[f] += (str(next_prompt_G)) # Reset outside of loop for nan check current_key = 0 @@ -543,8 +543,8 @@ def BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, clip, se nxt_prompt_series_L[f] = '' weight_series[f] = 0.0 - cur_prompt_series_L[f] += (str(settings.pre_text_L) + " " + str(current_prompt_L) + " " + str(settings.app_text_L)) - nxt_prompt_series_L[f] += (str(settings.pre_text_L) + " " + str(next_prompt_L) + " " + str(settings.app_text_L)) + cur_prompt_series_L[f] += (str(current_prompt_L)) + nxt_prompt_series_L[f] += (str(next_prompt_L)) weight_series[f] += current_weight @@ -560,8 +560,8 @@ def BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, clip, se nxt_prompt_series_L[f] = '' weight_series[f] = current_weight - cur_prompt_series_L[f] += (str(settings.pre_text_L) + " " + str(current_prompt_L) + " " + str(settings.app_text_L)) - nxt_prompt_series_L[f] += (str(settings.pre_text_L) + " " + str(next_prompt_L) + " " + str(settings.app_text_L)) + cur_prompt_series_L[f] += (str(current_prompt_L)) + nxt_prompt_series_L[f] += (str(next_prompt_L)) # Evaluate the current and next prompt's expressions for i in range(0, settings.max_frames): diff --git a/ScheduledNodes.py b/ScheduledNodes.py index 6468c21..f797844 100644 --- a/ScheduledNodes.py +++ b/ScheduledNodes.py @@ -335,12 +335,6 @@ class PromptScheduleEncodeSDXL: @classmethod def INPUT_TYPES(s): return {"required": { - "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), - "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), - "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), - "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), - "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), - "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "text_g": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), "text_l": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), "max_frames": ("INT", {"default": 120.0, "min": 1.0, "max": 999999.0, "step": 1.0}), @@ -348,6 +342,12 @@ class PromptScheduleEncodeSDXL: "print_output":("BOOLEAN", {"default": False}) }, "optional": { + "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), + "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), + "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "pre_text_G": ("STRING", {"multiline": True, "forceInput": True}), "app_text_G": ("STRING", {"multiline": True, "forceInput": True}), "pre_text_L": ("STRING", {"multiline": True, "forceInput": True}), @@ -399,18 +399,18 @@ class BatchPromptScheduleEncodeSDXL: @classmethod def INPUT_TYPES(s): return {"required": { - "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), - "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), - "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), - "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), - "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), - "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "text_g": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), "text_l": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), "max_frames": ("INT", {"default": 120.0, "min": 1.0, "max": 999999.0, "step": 1.0}), "print_output":("BOOLEAN", {"default": False}), }, "optional": { + "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), + "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), + "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "pre_text_G": ("STRING", {"multiline": True, "forceInput": True}), "app_text_G": ("STRING", {"multiline": True, "forceInput": True}), "pre_text_L": ("STRING", {"multiline": True, "forceInput": True}), @@ -465,18 +465,18 @@ class BatchPromptScheduleEncodeSDXLLatentInput: @classmethod def INPUT_TYPES(s): return {"required": { - "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), - "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), - "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), - "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), - "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), - "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "text_g": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), "text_l": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), "num_latents": ("LATENT", ), "print_output":("BOOLEAN", {"default": False}), }, "optional": { + "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), + "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), + "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "pre_text_G": ("STRING", {"multiline": True, "forceInput": True}), "app_text_G": ("STRING", {"multiline": True, "forceInput": True}), "pre_text_L": ("STRING", {"multiline": True, "forceInput": True}), From 8de661a5e2ee2aaf8185917a0a4b5f6e7cc48853 Mon Sep 17 00:00:00 2001 From: FizzleDorf <1fizzledorf@gmail.com> Date: Mon, 24 Jun 2024 23:09:25 -0400 Subject: [PATCH 4/6] optional input fix --- BatchFuncs.py | 5 ++--- ScheduledNodes.py | 19 ++++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/BatchFuncs.py b/BatchFuncs.py index 285a899..cca0b4b 100644 --- a/BatchFuncs.py +++ b/BatchFuncs.py @@ -507,8 +507,8 @@ def BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, clip, se nxt_prompt_series_G[f] = '' weight_series[f] = current_weight - cur_prompt_series_G[f] += (str(current_prompt_G)) - nxt_prompt_series_G[f] += (str(next_prompt_G)) + cur_prompt_series_G[f] = (str(current_prompt_G)) + nxt_prompt_series_G[f] = (str(next_prompt_G)) # Reset outside of loop for nan check current_key = 0 @@ -554,7 +554,6 @@ def BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, clip, se # second loop to catch any nan runoff for f in range(current_key, next_key): next_weight = weight_step * (f - current_key) - # add the appropriate prompts and weights to their respective containers. cur_prompt_series_L[f] = '' nxt_prompt_series_L[f] = '' diff --git a/ScheduledNodes.py b/ScheduledNodes.py index f797844..d2cf058 100644 --- a/ScheduledNodes.py +++ b/ScheduledNodes.py @@ -340,14 +340,14 @@ class PromptScheduleEncodeSDXL: "max_frames": ("INT", {"default": 120.0, "min": 1.0, "max": 999999.0, "step": 1.0}), "current_frame": ("INT", {"default": 0.0, "min": 0.0, "max": 999999.0, "step": 1.0}), "print_output":("BOOLEAN", {"default": False}) - }, - "optional": { "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + }, + "optional": { "pre_text_G": ("STRING", {"multiline": True, "forceInput": True}), "app_text_G": ("STRING", {"multiline": True, "forceInput": True}), "pre_text_L": ("STRING", {"multiline": True, "forceInput": True}), @@ -364,7 +364,7 @@ class PromptScheduleEncodeSDXL: CATEGORY = "FizzNodes 📅🅕🅝/ScheduleNodes" - def animate(self, clip, width, height, crop_w, crop_h, target_width, target_height, text_g, text_l, app_text_G, app_text_L, pre_text_G, pre_text_L, max_frames, current_frame, print_output, pw_a, pw_b, pw_c, pw_d): + def animate(self, clip, text_g, text_l, width, height, crop_w, crop_h, target_width, target_height, max_frames, current_frame, print_output, app_text_G = '', app_text_L = '', pre_text_G = '', pre_text_L = '', pw_a=0, pw_b=0, pw_c=0, pw_d=0): settings = ScheduleSettings( text_g=text_g, pre_text_G=pre_text_G, @@ -403,14 +403,15 @@ class BatchPromptScheduleEncodeSDXL: "text_l": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), "max_frames": ("INT", {"default": 120.0, "min": 1.0, "max": 999999.0, "step": 1.0}), "print_output":("BOOLEAN", {"default": False}), - }, - "optional": { "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + }, + "optional": { + "pre_text_G": ("STRING", {"multiline": True, "forceInput": True}), "app_text_G": ("STRING", {"multiline": True, "forceInput": True}), "pre_text_L": ("STRING", {"multiline": True, "forceInput": True}), @@ -428,7 +429,7 @@ class BatchPromptScheduleEncodeSDXL: CATEGORY = "FizzNodes 📅🅕🅝/BatchScheduleNodes" - def animate(self, clip, width, height, crop_w, crop_h, target_width, target_height, text_g, text_l, app_text_G, app_text_L, pre_text_G, pre_text_L, max_frames, print_output, pw_a=0, pw_b=0, pw_c=0, pw_d=0): + def animate(self, clip, text_g, text_l, width, height, crop_w, crop_h, target_width, target_height, max_frames, print_output, app_text_G = '', app_text_L = '', pre_text_G = '', pre_text_L = '', pw_a=0, pw_b=0, pw_c=0, pw_d=0): settings = ScheduleSettings( text_g=text_g, pre_text_G=pre_text_G, @@ -469,14 +470,14 @@ class BatchPromptScheduleEncodeSDXLLatentInput: "text_l": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), "num_latents": ("LATENT", ), "print_output":("BOOLEAN", {"default": False}), - }, - "optional": { "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + }, + "optional": { "pre_text_G": ("STRING", {"multiline": True, "forceInput": True}), "app_text_G": ("STRING", {"multiline": True, "forceInput": True}), "pre_text_L": ("STRING", {"multiline": True, "forceInput": True}), @@ -493,7 +494,7 @@ class BatchPromptScheduleEncodeSDXLLatentInput: CATEGORY = "FizzNodes 📅🅕🅝/BatchScheduleNodes" - def animate(self, clip, width, height, crop_w, crop_h, target_width, target_height, text_g, text_l, app_text_G, app_text_L, pre_text_G, pre_text_L, num_latents, print_output, pw_a, pw_b, pw_c, pw_d): + def animate(self, clip, text_g, text_l, width, height, crop_w, crop_h, target_width, target_height, num_latents, print_output, app_text_G = '', app_text_L = '', pre_text_G = '', pre_text_L = '', pw_a=0, pw_b=0, pw_c=0, pw_d=0): settings = ScheduleSettings( text_g=text_g, pre_text_G=pre_text_G, From 0bcc55e8a35db301c5248685ee2c3388498a7938 Mon Sep 17 00:00:00 2001 From: FizzleDorf <1fizzledorf@gmail.com> Date: Mon, 24 Jun 2024 23:33:10 -0400 Subject: [PATCH 5/6] testing a fix for shifted node input values --- ScheduledNodes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ScheduledNodes.py b/ScheduledNodes.py index d2cf058..79809af 100644 --- a/ScheduledNodes.py +++ b/ScheduledNodes.py @@ -339,7 +339,7 @@ class PromptScheduleEncodeSDXL: "text_l": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), "max_frames": ("INT", {"default": 120.0, "min": 1.0, "max": 999999.0, "step": 1.0}), "current_frame": ("INT", {"default": 0.0, "min": 0.0, "max": 999999.0, "step": 1.0}), - "print_output":("BOOLEAN", {"default": False}) + "print_output":("BOOLEAN", {"default": False}), "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), From d7697ad223509018bac917397a8564edf3da4412 Mon Sep 17 00:00:00 2001 From: FizzleDorf <1fizzledorf@gmail.com> Date: Mon, 24 Jun 2024 23:35:45 -0400 Subject: [PATCH 6/6] revert required/optional inputs --- ScheduledNodes.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/ScheduledNodes.py b/ScheduledNodes.py index 79809af..108cfc5 100644 --- a/ScheduledNodes.py +++ b/ScheduledNodes.py @@ -335,17 +335,17 @@ class PromptScheduleEncodeSDXL: @classmethod def INPUT_TYPES(s): return {"required": { - "text_g": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), - "text_l": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), - "max_frames": ("INT", {"default": 120.0, "min": 1.0, "max": 999999.0, "step": 1.0}), - "current_frame": ("INT", {"default": 0.0, "min": 0.0, "max": 999999.0, "step": 1.0}), - "print_output":("BOOLEAN", {"default": False}), "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "text_g": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), + "text_l": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), + "max_frames": ("INT", {"default": 120.0, "min": 1.0, "max": 999999.0, "step": 1.0}), + "current_frame": ("INT", {"default": 0.0, "min": 0.0, "max": 999999.0, "step": 1.0}), + "print_output":("BOOLEAN", {"default": False}), }, "optional": { "pre_text_G": ("STRING", {"multiline": True, "forceInput": True}), @@ -399,16 +399,17 @@ class BatchPromptScheduleEncodeSDXL: @classmethod def INPUT_TYPES(s): return {"required": { - "text_g": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), - "text_l": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), - "max_frames": ("INT", {"default": 120.0, "min": 1.0, "max": 999999.0, "step": 1.0}), - "print_output":("BOOLEAN", {"default": False}), "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "text_g": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), + "text_l": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), + "max_frames": ("INT", {"default": 120.0, "min": 1.0, "max": 999999.0, "step": 1.0}), + "print_output":("BOOLEAN", {"default": False}), + }, "optional": { @@ -466,16 +467,16 @@ class BatchPromptScheduleEncodeSDXLLatentInput: @classmethod def INPUT_TYPES(s): return {"required": { - "text_g": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), - "text_l": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), - "num_latents": ("LATENT", ), - "print_output":("BOOLEAN", {"default": False}), "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "text_g": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), + "text_l": ("STRING", {"multiline": True, }), "clip": ("CLIP", ), + "num_latents": ("LATENT", ), + "print_output":("BOOLEAN", {"default": False}), }, "optional": { "pre_text_G": ("STRING", {"multiline": True, "forceInput": True}),