Add ComfyUI-TkNodes pack with custom nodes, workflow, documentation, and dependencies
This commit is contained in:
@@ -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)"
|
||||
}
|
||||
Reference in New Issue
Block a user