Add ComfyUI-TkNodes pack with custom nodes, workflow, documentation, and dependencies

This commit is contained in:
TensorKaze
2025-05-25 04:44:52 +02:00
commit 70a3aa1a2c
14 changed files with 909 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
import torch
from comfy.comfy_types import IO
class VAEEncodeOptional:
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"vae": ("VAE", {"tooltip": "The VAE model used for encoding the image to latent space."}),
},
"optional": {
"image": ("IMAGE", {"tooltip": "The image to encode to latent space. If not provided, returns None."}),
}
}
RETURN_TYPES = ("LATENT",)
RETURN_NAMES = ("LATENT",)
OUTPUT_TOOLTIPS = ("The encoded latent image, or None if no image is provided.",)
FUNCTION = "encode"
CATEGORY = "latent"
DESCRIPTION = "Encodes an image to latent space using a VAE model. If no image is provided, acts as a bypass and returns None."
def encode(self, vae, image=None):
# Modo bypass: si no hay imagen, devolver None
if image is None:
return (None,)
# Codificar la imagen con el VAE
try:
# Asegurarse de que la imagen solo use los canales RGB (ignorar alfa si existe)
latent = vae.encode(image[:,:,:,:3])
return ({"samples": latent},)
except Exception as e:
# En caso de error (por ejemplo, dimensiones inválidas), devolver None
return (None,)
# Mapeo de nodos
NODE_CLASS_MAPPINGS = {
"VAEEncodeOptional": VAEEncodeOptional
}
NODE_DISPLAY_NAME_MAPPINGS = {
"VAEEncodeOptional": "VAE Encode (Optional)"
}