ComfyUI Extension: Nilor Nodes by Nilor Corp

Authored by nilor-corp

Created

Updated

3 stars

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.

Custom Nodes (0)

    README

    Nilor Nodes Documentation 👺

    A collection of utility nodes for ComfyUI focusing on list manipulation, batch operations, and advanced I/O functionality.

    🏭 Generators

    <details> <summary><b>Interpolated Float List</b></summary>

    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>

    🛠️ Utilities

    <details> <summary><b>Int To List Of Bools</b></summary>

    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>

    💾 I/O Operations

    <details> <summary><b>Save Image To HF Dataset</b></summary>

    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>