cocccck / custom_nodes /ComfyUI-Chibi-Nodes /nodes /ConditionTextMulti.py
bbbboiwow's picture
Upload folder using huggingface_hub
edb09f2 verified
Raw
History Blame Contribute Delete
4.03 kB
class ConditionTextMulti:
def __init__(self):
pass
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"clip": ("CLIP",),
},
"optional": {
"first": (
"STRING",
{"default": "", "multiline": False, "forceInput": True},
),
"second": (
"STRING",
{"default": "", "multiline": False, "forceInput": True},
),
"third": (
"STRING",
{"default": "", "multiline": False, "forceInput": True},
),
"fourth": (
"STRING",
{"default": "", "multiline": False, "forceInput": True},
),
},
}
RETURN_TYPES = (
"CLIP",
"CONDITIONING",
"CONDITIONING",
"CONDITIONING",
"CONDITIONING",
)
RETURN_NAMES = (
"CLIP",
"first",
"second",
"third",
"fourth",
)
FUNCTION = "conditiontext"
CATEGORY = "Chibi-Nodes/Text"
def conditiontext(
self,
clip,
first="",
second="",
third="",
fourth="",
):
emptystring = ""
returnedcond = []
# TODO: I probably want to fix this mess at some point.
if first != "":
firstraw = clip.tokenize(first)
first_cond, first_pooled = clip.encode_from_tokens(
firstraw, return_pooled=True
)
returnedcond.append(
[[first_cond, {"pooled_output": first_pooled}]])
else:
emptyraw = clip.tokenize(emptystring)
empty_cond, empty_pooled = clip.encode_from_tokens(
emptyraw, return_pooled=True
)
returnedcond.append(
[[empty_cond, {"pooled_output": empty_pooled}]])
if second != "":
secondraw = clip.tokenize(second)
second_cond, second_pooled = clip.encode_from_tokens(
secondraw, return_pooled=True
)
returnedcond.append(
[[second_cond, {"pooled_output": second_pooled}]])
else:
emptyraw = clip.tokenize(emptystring)
empty_cond, empty_pooled = clip.encode_from_tokens(
emptyraw, return_pooled=True
)
returnedcond.append(
[[empty_cond, {"pooled_output": empty_pooled}]])
if third != "":
thirdraw = clip.tokenize(third)
third_cond, third_pooled = clip.encode_from_tokens(
thirdraw, return_pooled=True
)
returnedcond.append(
[[third_cond, {"pooled_output": third_pooled}]])
else:
emptyraw = clip.tokenize(emptystring)
empty_cond, empty_pooled = clip.encode_from_tokens(
emptyraw, return_pooled=True
)
returnedcond.append(
[[empty_cond, {"pooled_output": empty_pooled}]])
if fourth != "":
fourthraw = clip.tokenize(fourth)
fourth_cond, fourth_pooled = clip.encode_from_tokens(
fourthraw, return_pooled=True
)
returnedcond.append(
[[fourth_cond, {"pooled_output": fourth_pooled}]])
else:
emptyraw = clip.tokenize(emptystring)
empty_cond, empty_pooled = clip.encode_from_tokens(
emptyraw, return_pooled=True
)
returnedcond.append(
[[empty_cond, {"pooled_output": empty_pooled}]])
return (
clip,
returnedcond[0],
returnedcond[1],
returnedcond[2],
returnedcond[3],
)