| import node_helpers |
|
|
| class CLIPTextEncodeFlux: |
| @classmethod |
| def INPUT_TYPES(s): |
| return {"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}), |
| }} |
| RETURN_TYPES = ("CONDITIONING",) |
| FUNCTION = "encode" |
|
|
| CATEGORY = "advanced/conditioning/flux" |
|
|
| def encode(self, clip, clip_l, t5xxl, guidance): |
| tokens = clip.tokenize(clip_l) |
| tokens["t5xxl"] = clip.tokenize(t5xxl)["t5xxl"] |
|
|
| output = clip.encode_from_tokens(tokens, return_pooled=True, return_dict=True) |
| cond = output.pop("cond") |
| output["guidance"] = guidance |
| return ([[cond, output]], ) |
|
|
| class FluxGuidance: |
| @classmethod |
| def INPUT_TYPES(s): |
| return {"required": { |
| "conditioning": ("CONDITIONING", ), |
| "guidance": ("FLOAT", {"default": 3.5, "min": 0.0, "max": 100.0, "step": 0.1}), |
| }} |
|
|
| RETURN_TYPES = ("CONDITIONING",) |
| FUNCTION = "append" |
|
|
| CATEGORY = "advanced/conditioning/flux" |
|
|
| def append(self, conditioning, guidance): |
| c = node_helpers.conditioning_set_values(conditioning, {"guidance": guidance}) |
| return (c, ) |
|
|
|
|
| NODE_CLASS_MAPPINGS = { |
| "CLIPTextEncodeFlux": CLIPTextEncodeFlux, |
| "FluxGuidance": FluxGuidance, |
| } |
|
|