| 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,
|
| }
|
|
|