Custom utility nodes for ComfyUI by Nilor Corp. Probably not useful for most people, but contains stuff for working with lists, filenames, image batches, etc in a very specifc way.
A collection of utility nodes for ComfyUI focusing on list manipulation, batch operations, and advanced I/O functionality.
Generates a list of interpolated float values based on sections.
| Input | Type | Description | |-------|------|-------------| | number_of_floats | INT | Total number of float values to generate | | number_of_sections | INT | Number of sections to divide into | | section_number | INT | Current section being processed | | interpolation_type | ["slinear", "quadratic", "cubic"] | Type of interpolation |
| Output | Type | Description | |--------|------|-------------| | floats | FLOAT | List of interpolated float values |
Notes: Creates smooth transitions between values using scipy's interpolation.
</details> <details> <summary><b>One Minus Float List</b></summary>Creates an inverted list of float values (1 - x).
| Input | Type | Description | |-------|------|-------------| | list_of_floats | FLOAT | Input float list |
| Output | Type | Description | |--------|------|-------------| | floats | FLOAT | Inverted float values |
Notes: Simple inversion operation, useful for creating complementary values.
</details> <details> <summary><b>Remap Float List</b></summary>Remaps a list of float values from one range to another.
| Input | Type | Description | |-------|------|-------------| | list_of_floats | FLOAT | Input float list | | min_input | FLOAT | Minimum input value (default: 0.0) | | max_input | FLOAT | Maximum input value (default: 1.0) | | min_output | FLOAT | Minimum output value (default: 0.0) | | max_output | FLOAT | Maximum output value (default: 1.0) |
| Output | Type | Description | |--------|------|-------------| | remapped_floats | FLOAT | Remapped float values |
Notes: Useful for scaling values between different ranges while preserving relationships.
</details> <details> <summary><b>Inverse Map Float List</b></summary>Creates a mirror mapping of float values around their midpoint.
| Input | Type | Description | |-------|------|-------------| | list_of_floats | FLOAT | Input float list |
| Output | Type | Description | |--------|------|-------------| | floats | FLOAT | Inverse mapped values |
Notes: Automatically determines min/max from input list.
</details>Converts an integer into a list of boolean values.
| Input | Type | Description | |-------|------|-------------| | number_of_images | INT | Number to convert |
| Output | Type | Description | |--------|------|-------------| | booleans | BOOLEAN | List of boolean values |
Notes: Creates a list where first N values are True, rest are False.
</details> <details> <summary><b>List of Ints</b></summary>Generates a sequential or shuffled list of integers.
| Input | Type | Description | |-------|------|-------------| | min | INT | Starting integer (default: 0) | | max | INT | Ending integer (default: 9) | | shuffle | BOOLEAN | Whether to randomize order |
| Output | Type | Description | |--------|------|-------------| | ints | INT | List of integers |
Notes: Output is always a list, even for single values.
</details> <details> <summary><b>Select Index From List</b></summary>Extracts a single item from a list at the specified index.
| Input | Type | Description | |-------|------|-------------| | list_of_any | any | Input list of any type | | index | INT | Index to select (default: 0) |
| Output | Type | Description | |--------|------|-------------| | any | any | Selected item |
Notes: Uses custom AnyType to accept any input type. Handles tensor unpacking automatically.
</details> <details> <summary><b>Shuffle Image Batch</b></summary>Randomly reorders images in a batch.
| Input | Type | Description | |-------|------|-------------| | images | IMAGE | Batch of images | | seed | INT | Random seed for shuffling |
| Output | Type | Description | |--------|------|-------------| | images | IMAGE | Shuffled image batch |
Notes: Maintains batch dimensions while randomizing order.
</details>Uploads images to a HuggingFace dataset.
| Input | Type | Description | |-------|------|-------------| | image | IMAGE | Image to upload | | repository_id | STRING | HuggingFace dataset repository | | hf_auth_token | STRING | HuggingFace authentication token | | filename_prefix | STRING | Prefix for saved files |
Notes: Requires HuggingFace authentication token and repository access.
</details> <details> <summary><b>Save EXR Arbitrary</b></summary>Saves multi-channel data as an OpenEXR file.
| Input | Type | Description | |-------|------|-------------| | channels | any | List of tensor channels | | filename_prefix | STRING | Output filename prefix |
Notes: Supports arbitrary number of channels. Each channel must have same dimensions.
</details> <details> <summary><b>Save Video To HF Dataset</b></summary>Uploads video files to a HuggingFace dataset.
| Input | Type | Description | |-------|------|-------------| | filenames | VHS_FILENAMES | List of video files | | repository_id | STRING | HuggingFace dataset repository | | hf_auth_token | STRING | HuggingFace authentication token | | filename_prefix | STRING | Prefix for saved files |
Notes: Handles batch upload of multiple video files.
</details>