Nodes are containers for properties

Nodes usually have properties. Also known as parameters or attributes, node properties are variables that can be changed. Some properties can be adjusted manually by the user, using a data entry field called a widget. Other properties can be driven automatically by other nodes connected to the property input slot or port. Usually, a property can be converted from widget to input and vice versa, allowing users to control property values manually or automatically.

Properties can take many forms and hold many different types of information. For example, a Load Checkpoint node has a single property:  the file path to the generative model checkpoint file. A KSampler node has multiple properties such as the number of sampling steps, CFG scale, sampler_name, etc.

Data types

Information can come in many different forms, called data types. For example, alphanumeric text is known as a string, a whole number is an integer, and a number with a decimal point is known as a floating point number or float. New data types are always being added to ComfyUI.

ComfyUI is written in the Python scripting language, which is very forgiving about data types. By contrast, the ComfyUI environment is very strongly typed. This means that different data types can’t be mixed up. For example, we can’t connect an image output to an integer input. This is a huge benefit to users, guiding them to proper workflow construction and preventing program errors.