Extensions/antrobots ComfyUI Nodepack
ComfyUI Extension

antrobots ComfyUI Nodepack

A small node pack containing various things I felt like ought to be in base comfy-UI. Currently includes Some image handling nodes to help with inpainting, a version of KSampler (advanced) that allows for denoise, and a node that can swap it's inputs. Remember to make an issue if you experience any bugs or errors!

By antrobot1234·Created 3 years ago·Updated about a year ago· 28
antrobot1234/antrobots-comfyUI-nodepack
Nodes48
On cloudLocal install
Categoryantrobots-ComfyUI-nodepack/image-handling, antrobots-ComfyUI-nodepack/flow-control
Stars28
Updatedabout a year ago

Nodes (48)

Box Blur Mask

Feather a mask's hard edges

antrobots-ComfyUI-nodepack/image-handling
Bus Pipe

Bus Pipe

antrobots-ComfyUI-nodepack/flow-control
Percentage of Total

Percentage of Total

antrobots-ComfyUI-nodepack/math
Alpha Composite

Alpha Composite

antrobots-ComfyUI-nodepack/image-handling
Concat Conditioning (PIPE)

Concat Conditioning (PIPE)

antrobots-ComfyUI-nodepack/flow-control
Crop Image and Mask

Crop Image and Mask

antrobots-ComfyUI-nodepack/image-handling
Encode Conditioning (PIPE)

Add prompts to a pipe you already have

antrobots-ComfyUI-nodepack/flow-control
Fill with Color

Fill with Color

antrobots-ComfyUI-nodepack/image-handling
Get Dict

Get Dict

antrobots-ComfyUI-nodepack/dicts/get
Get Dict Bool

Pull a true/false flag out of a dict

antrobots-ComfyUI-nodepack/dicts/get
Get Dict Conditioning

Pull an encoded prompt out of a dict

antrobots-ComfyUI-nodepack/dicts/get
Get Nested Dict

Pull a dict out of another dict

antrobots-ComfyUI-nodepack/dicts/get
Get Dict Float

Pull a decimal value out of a dict

antrobots-ComfyUI-nodepack/dicts/get
Get Dict Image

Pull an image out of a dict

antrobots-ComfyUI-nodepack/dicts/get
Get Dict Int

Pull a whole number out of a dict

antrobots-ComfyUI-nodepack/dicts/get
Get Dict Latent

Pull a latent out of a dict

antrobots-ComfyUI-nodepack/dicts/get
Get Dict Mask

Pull a mask out of a dict

antrobots-ComfyUI-nodepack/dicts/get
Get Dict String

Pull text out of a dict

antrobots-ComfyUI-nodepack/dicts/get
Get Image Size

Get Image Size

antrobots-ComfyUI-nodepack/image-handling
Load Checkpoint (PIPE)

One node, one wire, whole model bundle

antrobots-ComfyUI-nodepack/flow-control
Load Checkpoint With Prompt (PIPE)

Load and encode in one node

antrobots-ComfyUI-nodepack/flow-control
Merge Image Grid

Merge Image Grid

antrobots-ComfyUI-nodepack/image-handling
Merge Dicts

Combine two dict bags into one

sd
Op. Edit Basic Pipe

Swap one piece of a pipe, keep the rest

antrobots-ComfyUI-nodepack/flow-control
Op. To Basic Pipe

Op. To Basic Pipe

antrobots-ComfyUI-nodepack/flow-control
Op. Conditioning (Concat)

Op. Conditioning (Concat)

antrobots-ComfyUI-nodepack/flow-control
Paste with Masks

Paste with Masks

antrobots-ComfyUI-nodepack/image-handling
Preview Mask

Preview Mask

antrobots-ComfyUI-nodepack/image-handling
KSampler with Refiner

KSampler with Refiner

antrobots-ComfyUI-nodepack/sampling
KSampler with Pipes

KSampler with Pipes

antrobots-ComfyUI-nodepack/sampling
KSampler (Advanced) with Denoise

KSampler (Advanced) with Denoise

antrobots-ComfyUI-nodepack/sampling
KSampler with Pipe

Sample straight off your pipes

model/sampling
KSampler with Pipe (Advanced)

KSampler with Pipe (Advanced)

model/sampling
Sampler Pipe

Bundle cfg, sampler and scheduler into one wire

antrobots-ComfyUI-nodepack/flow-control
Scale Image to Size

Scale Image to Size

antrobots-ComfyUI-nodepack/image-handling
Scale Image with Reference

Resize one image to match another

antrobots-ComfyUI-nodepack/image-handling
Set Dict

Bundle any value onto a single wire in ComfyUI

antrobots-ComfyUI-nodepack/dicts/set
Set Dict Bool

Carry a true/false flag in a ComfyUI dict

antrobots-ComfyUI-nodepack/dicts/set
Set Dict Conditioning

Stash conditioning in a dict by name

antrobots-ComfyUI-nodepack/dicts/set
Set Nested Dict

Nest one dict inside another in ComfyUI

antrobots-ComfyUI-nodepack/dicts/set
Set Dict Float

Tuck a float into a ComfyUI dict

antrobots-ComfyUI-nodepack/dicts/set
Set Dict Image

Stash an image in a dict by name

antrobots-ComfyUI-nodepack/dicts/set
Set Dict Int

Park an integer in a ComfyUI dict bus

antrobots-ComfyUI-nodepack/dicts/set
Set Dict Latent

Carry a latent through your graph in a dict

antrobots-ComfyUI-nodepack/dicts/set
Set Dict Mask

Bundle a mask into a ComfyUI dict

antrobots-ComfyUI-nodepack/dicts/set
Set Dict String

Stash a text value in a ComfyUI dict bundle

antrobots-ComfyUI-nodepack/dicts/set
Split Image Grid

Split Image Grid

antrobots-ComfyUI-nodepack/image-handling
Swap

Swap

antrobots-ComfyUI-nodepack/flow-control
Readme

antrobots ComfyUI Nodepack

welcome to my node pack! This pack serves as a compilation of all the custom nodes I have and will create, with the goal of implementing functionality that I find lacking or obtuse. If you experience any issues with this node pack, please make a github issue! any help finding potential bugs or errors is greatly appreciated.

Below is a description of what each node in this node pack does.

Sampling Nodes

KSampler (advanced) with denoise

this node is a variant of the built-in KSampler (advanced) with the additional ability to provide a denoise value. This allows you to swap models mid generation in img-to-img workflows much more efficiently. denoise works in tandem with start step and end step.

Ksampler with Refiner

This node is an extension of the Ksampler (advanced) node that takes in two sets of model parameters. It will then generate with base_model until refine_step, in which it will switch to refine_model (re-encoding the latent with refine_vae if the two passed in VAEs are different). it also has an optional mask can also be provided, which will set the latent noise mask if given.

Flow Control nodes

Swap

This node takes two inputs of any type. If the swap bool is False, it simply pipes input 1 into output A and input 2 into output B. however, if the swap bool is True, it swaps the outputs, mapping 1 to B and 2 to A. This is useful when combined with piping workflows, as it allows you to easily and quickly switch to a different input pipe or swap two pipes around with a boolean.

Image Handling Nodes

Crop Image and Mask:

This node is used to crop an image and its corresponding mask. It takes an image, a mask, a minimum width, a minimum height, and padding as inputs. It scales the mask to the image, converts the mask into a region, scales the box to the image, and crops the image and mask. If the mask is empty, it returns the input image and mask as they are.

Scale Image to Size:

This node is used to scale an image to a desired size. It takes an image, a desired size, and a boolean value doLarger as inputs. It calculates the scale factor based on the desired size and the smaller or larger dimension of the image (depending on the doLarger value), scales the image to the final size, and returns the scaled image.

Paste with Masks:

This node is used to paste a source image onto a destination image using masks. It takes a source image, a source mask, a destination image, and a destination mask as inputs, as well as a horizontal padding, a vertical padding, and a global padding. It treats the source mask as an Alpha channel for the source image. it then pastes the source image onto the destination image using the destination mask as the area to paste onto, cropping and resizing if necessary. The output mask and image are padded with the horizontal and vertical padding values. Global padding can also be used to pad both width and height at once.

Alpha Composite:

This node is used to composite a source image and a destination image using alpha blending. It takes a source image, a destination image, a source mask, a destination mask, an x offset, and a y offset as inputs. It pastes the source image onto the destination image with offsets, treating the respective masks as alpha channels. Both source mask and destination mask are optional. If either is not provided, the respective image will be pasted as is.

##Dict Nodes These are various nodes that can pack information into dicts to be sent around and parsed as an alternative workflow to piping.

Set Dict

This is the core of how these nodes work. any value put into this node will be packaged into a DICT labeled as key and sent out. A dict can optionally be passed in, in which case it will instead append the value to the input dict.

Get Dict

This node takes in a DICT, a key, and a default value as inputs. if key is found in the DICT, it will pass it out to the * output. otherwise, default will be used

Get Dict TYPE

This entry describes all of the nodes that follow this format, as their core functionality is the same. These nodes behave similar to thee standard Get Dict, with two exceptions.

  1. default is optional. if default is not provided, a standard default for the type will be provided automatically.
  2. inputs are validated with their type. If the input is not of the correct type, default will be used instead.

Get Dict Unsafe

This is a special variant of get dict with NO default. If the input does not exist, it will return None. This can be useful if you are using a lot of custom types and don't want to populate all the defaults. Note that if the key does not exist, most workflows will likely break, so use with caution.