4.1 KiB
4.1 KiB
tags
| tags | ||
|---|---|---|
|
GLIGENTextBoxApply
Documentation
- Class name:
GLIGENTextBoxApply - Category:
conditioning/gligen - Output node:
False
The GLIGENTextBoxApply node is designed to append text-based conditioning to a given set of conditioning inputs using a GLIGEN model. It utilizes CLIP to encode the text and integrates the encoded information into the conditioning, allowing for text-driven modifications in generative tasks.
Input types
Required
conditioning_to- The set of conditioning inputs to which the text-based conditioning will be appended. It serves as the foundation for text-driven modifications.
- Comfy dtype:
CONDITIONING - Python dtype:
List[Tuple[torch.Tensor, Dict[str, Union[torch.Tensor, List[Any], Dict[str, Any]]]]]
clip- The CLIP model used for encoding the input text into a format suitable for conditioning. It plays a crucial role in interpreting the text semantically.
- Comfy dtype:
CLIP - Python dtype:
CLIP
gligen_textbox_model- The GLIGEN model responsible for applying the text-based conditioning. It defines how the text influences the generative process.
- Comfy dtype:
GLIGEN - Python dtype:
GLIGEN
text- The input text to be encoded and applied as conditioning. This text drives the modifications in the generative task.
- Comfy dtype:
STRING - Python dtype:
str
width- The width parameter specifies the dimension to which the text conditioning should be applied, influencing the spatial aspect of the conditioning.
- Comfy dtype:
INT - Python dtype:
int
height- The height parameter specifies the dimension to which the text conditioning should be applied, influencing the spatial aspect of the conditioning.
- Comfy dtype:
INT - Python dtype:
int
x- The x-coordinate for the positioning of the text-based conditioning, affecting its spatial placement.
- Comfy dtype:
INT - Python dtype:
int
y- The y-coordinate for the positioning of the text-based conditioning, affecting its spatial placement.
- Comfy dtype:
INT - Python dtype:
int
Output types
conditioning- Comfy dtype:
CONDITIONING - The modified set of conditioning inputs, now including the text-based conditioning applied through the GLIGEN model.
- Python dtype:
List[Tuple[torch.Tensor, Dict[str, Union[torch.Tensor, List[Any], Dict[str, Any]]]]]
- Comfy dtype:
Usage tips
- Infra type:
CPU - Common nodes:
Source code
class GLIGENTextBoxApply:
@classmethod
def INPUT_TYPES(s):
return {"required": {"conditioning_to": ("CONDITIONING", ),
"clip": ("CLIP", ),
"gligen_textbox_model": ("GLIGEN", ),
"text": ("STRING", {"multiline": True, "dynamicPrompts": True}),
"width": ("INT", {"default": 64, "min": 8, "max": MAX_RESOLUTION, "step": 8}),
"height": ("INT", {"default": 64, "min": 8, "max": MAX_RESOLUTION, "step": 8}),
"x": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}),
"y": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}),
}}
RETURN_TYPES = ("CONDITIONING",)
FUNCTION = "append"
CATEGORY = "conditioning/gligen"
def append(self, conditioning_to, clip, gligen_textbox_model, text, width, height, x, y):
c = []
cond, cond_pooled = clip.encode_from_tokens(clip.tokenize(text), return_pooled="unprojected")
for t in conditioning_to:
n = [t[0], t[1].copy()]
position_params = [(cond_pooled, height // 8, width // 8, y // 8, x // 8)]
prev = []
if "gligen" in n[1]:
prev = n[1]['gligen'][2]
n[1]['gligen'] = ("position", gligen_textbox_model, prev + position_params)
c.append(n)
return (c, )