Spaces:
Configuration error
Configuration error
| """A simpler SDXL Power Prompt that doesn't load Loras, like for negative.""" | |
| import os | |
| import re | |
| import folder_paths | |
| from nodes import MAX_RESOLUTION, LoraLoader | |
| from comfy_extras.nodes_clip_sdxl import CLIPTextEncodeSDXL | |
| from .sdxl_power_prompt_postive import RgthreeSDXLPowerPromptPositive | |
| from .log import log_node_warn, log_node_info, log_node_success | |
| from .constants import get_category, get_name | |
| NODE_NAME = get_name('SDXL Power Prompt - Simple / Negative') | |
| class RgthreeSDXLPowerPromptSimple(RgthreeSDXLPowerPromptPositive): | |
| """A simpler SDXL Power Prompt that doesn't handle Loras.""" | |
| NAME = NODE_NAME | |
| CATEGORY = get_category() | |
| def INPUT_TYPES(cls): # pylint: disable = invalid-name, missing-function-docstring | |
| saved_prompts_files = folder_paths.get_filename_list('saved_prompts') | |
| saved_promptes_content = [] | |
| for fname in saved_prompts_files: | |
| with open(folder_paths.get_full_path('saved_prompts', fname), 'r', encoding="utf-8") as file: | |
| saved_promptes_content.append(file.read()) | |
| return { | |
| 'required': { | |
| 'prompt_g': ('STRING', { | |
| 'multiline': True | |
| }), | |
| 'prompt_l': ('STRING', { | |
| 'multiline': True | |
| }), | |
| }, | |
| 'optional': { | |
| "opt_clip": ("CLIP",), | |
| "opt_clip_width": ("INT", { | |
| "forceInput": True, | |
| "default": 1024.0, | |
| "min": 0, | |
| "max": MAX_RESOLUTION | |
| }), | |
| "opt_clip_height": ("INT", { | |
| "forceInput": True, | |
| "default": 1024.0, | |
| "min": 0, | |
| "max": MAX_RESOLUTION | |
| }), | |
| 'insert_embedding': ([ | |
| 'CHOOSE', | |
| ] + [os.path.splitext(x)[0] for x in folder_paths.get_filename_list('embeddings')],), | |
| 'insert_saved': ([ | |
| 'CHOOSE', | |
| ] + saved_prompts_files,), | |
| # We'll hide these in the UI for now. | |
| "target_width": ("INT", { | |
| "default": -1, | |
| "min": -1, | |
| "max": MAX_RESOLUTION | |
| }), | |
| "target_height": ("INT", { | |
| "default": -1, | |
| "min": -1, | |
| "max": MAX_RESOLUTION | |
| }), | |
| "crop_width": ("INT", { | |
| "default": -1, | |
| "min": -1, | |
| "max": MAX_RESOLUTION | |
| }), | |
| "crop_height": ("INT", { | |
| "default": -1, | |
| "min": -1, | |
| "max": MAX_RESOLUTION | |
| }), | |
| }, | |
| 'hidden': { | |
| 'values_insert_saved': (['CHOOSE'] + saved_promptes_content,), | |
| } | |
| } | |
| RETURN_TYPES = ('CONDITIONING', 'STRING', 'STRING') | |
| RETURN_NAMES = ('CONDITIONING', 'TEXT_G', 'TEXT_L') | |
| FUNCTION = 'main' | |
| def main(self, | |
| prompt_g, | |
| prompt_l, | |
| opt_clip=None, | |
| opt_clip_width=None, | |
| opt_clip_height=None, | |
| insert_embedding=None, | |
| insert_saved=None, | |
| target_width=-1, | |
| target_height=-1, | |
| crop_width=-1, | |
| crop_height=-1, | |
| values_insert_saved=None): | |
| conditioning = self.get_conditioning(prompt_g, prompt_l, opt_clip, opt_clip_width, | |
| opt_clip_height, target_width, target_height, crop_width, crop_height) | |
| return (conditioning, prompt_g, prompt_l) | |