Extensions/ComfyUI Ino Nodes
ComfyUI Extension

ComfyUI Ino Nodes

125+ production-ready V3 custom nodes for ComfyUI covering file ops, S3 cloud storage, image/video/audio processing, model management (HuggingFace/Civitai/S3), OpenAI & Runpod integration, and workflow utilities.

By nobandegani·Created about a year ago·Updated about a month ago· 6
nobandegani/ComfyUI-InoNodes
Nodes142
On cloudLocal install
CategoryInoExtraNodes, InoBoolHelper
Stars6
Updatedabout a month ago

Nodes (142)

Ino Any Equal

Type-matched equality for any value — the boolean feeder for conditional graphs

InoExtraNodes
Ino Boolean Equal

Are these two booleans the same? The one-question logic node

InoBoolHelper
Ino Bool To Switch

The odd little mapping that feeds switch nodes

InoBoolHelper
Ino Cast Any To Clip

The cosmetic cast that makes a CLIP wire connect — know what it's not doing

InoCastHelper
Ino Cast Any To Controlnet

Declare 'this is a ControlNet now' — the type-satisfying cast node

InoCastHelper
Ino Cast Any To Int

Turn almost anything into an integer — the adapter node that unblocks your wiring

InoCastHelper
Ino Cast Any To Model

Relabel any port as MODEL — a pass-through for stubborn wire mismatches

InoCastHelper
Ino Cast Any To String

Cast anything to a string — the glue that stops type-mismatch whack-a-mole

InoCastHelper
Ino Cast Any To Vae

The name is a lie — it doesn't convert anything, and that's the point

InoCastHelper
Ino Cast String To Combo

Feed a dynamic string into a dropdown — the ComfyUI combo-workaround node

InoCastHelper
Ino Civitai Download Model

Download models from Civitai inside the graph, and wire the path straight in

InoModelHelper
Ino Compare Float

The gate node for conditional workflows

InoFloatHelper
Ino Compare Int

Six comparison operators, one boolean out — the tiny logic node that gates your workflows

InoIntHelper
Ino Condition Boolean

AND or OR on two booleans — the gate your workflow was missing

InoBoolHelper
Ino Convert Video To MP4

Normalize any video to MP4 with FFmpeg, right in the graph

InoMediaHelper
Ino Copy File

Copy a file inside ComfyUI's folders — without touching a terminal

InoFileHelper
Ino Copy Files

Copy a folder's worth of files, with renaming, straight from the graph

InoFileHelper
Ino Count Files

How many files actually landed? Ino Count Files does the counting for you

InoFileHelper
Ino Create Lora Config

Build a LoRA recipe card from scratch — metadata and all

InoSamplerHelper
Ino Create Model File Config

The JSON recipe card that tells a downloader where the model lives

InoModelHelper
Ino Crop Image By Box

Crop a square around any point, not just the center

InoImageHelper
Ino DateTime Custom

Stamp your files with a timestamp built exactly how you want it

InoTimeHelper
Ino DateTime Simple

A UTC timestamp string, fresh on every run

InoTimeHelper
Ino Delay Async

Pause your graph without freezing ComfyUI

InoExtraNodes
Ino File To Base64

Any file on disk → a data URI string, ready to hand to an API

InoFileHelper
Ino Float To Int

Pick your rounding instead of fighting Python's

InoFloatHelper
Ino Get Clip Download Config

Stop typing repo IDs into your workflow

InoModelHelper
Ino Get Comfy Path

Get ComfyUI's real input/output/temp folders

InoPathHelper
Ino Get Conditioning

One node that encodes positive and negative — Flux-aware

InoSamplerHelper
Ino Get Controlnet Download Config

Pick a ControlNet from a list, get a download config string, wire it to the downloader

InoModelHelper
Ino DateTime Base64

A guaranteed-unique ID every run — encoded as base64 for no good reason

InoTimeHelper
Ino DateTime Duration

How long did that run actually take?

InoTimeHelper
Ino Get File Hash

Verify your downloads actually match

InoFileHelper
Ino Get Image Model Download Config

Grab a full checkpoint download config from a dropdown — the Flux 1 dev path included

InoModelHelper
Ino Get Last File

Find the newest file in a folder, without a file browser

InoFileHelper
Ino Get Lora Config

Pick a LoRA from the pack's catalog by name or ID — config included

InoSamplerHelper
Ino Get Lora Download Config

Pick a LoRA from a dropdown and get a download config string — no manual file hunting

InoModelHelper
Ino Get Lora Path Name Trigger Word

Turn a LoRA file path into ID, name, and trigger word — the parsing trick that saves your prompt

InoPathHelper
Ino Get Model Config

The dropdown that carries your whole sampler setup

InoSamplerHelper
Ino Get Model Download Config

Split one model config into its UNet, CLIP and VAE download configs

InoSamplerHelper
Ino Get Model Path As String

Get the real path to your models folder

InoModelHelper
Ino Get Sampler Config

Drive the sampler from a config string, not twenty widgets

InoSamplerHelper
Ino Get Vae Download Config

Pick your autoencoder from a dropdown

InoModelHelper
Ino Get Video Model Download Config

Pick a video model from the pack's catalog and get its download recipe

InoModelHelper
Ino Handle Download And Load Model

One config string, download to loaded

InoModelHelper
Ino Handle Download Model

One config in, the right downloader picks it up — automatically

InoModelHelper
Ino Handle Load Model

The honest version is 'check the type-specific loaders instead'

InoModelHelper
Ino Http Call

Make a REST call from inside a workflow — no API key, no extra install

InoHttpHelper
Ino Http Download Model

Pull a model straight from a URL into ComfyUI's models folder

InoModelHelper
Ino Hugging Face Download Model

Pull a model file into ComfyUI's folders, in-graph

InoModelHelper
Ino Hugging Face Download Repo

Grab a whole HuggingFace repo into ComfyUI's models folder

InoModelHelper
Ino Image List To Batch

Turn a stack of images into one tensor ComfyUI can feed forward

InoImageHelper
Ino Image Resize By Longer Side And Crop V2

Fit any image into a fixed canvas — resize to the longer side, then crop or pad

InoImageHelper
Ino Image Resize By Longer Side V1

Resize to a max side, keep the aspect ratio — the 'fit into my batch size' node

InoImageHelper
Ino Images From Folder To Reference Latent

Point it at a folder of refs and get reference conditioning — no manual loading

InoImageHelper
Ino Images To Reference Latent

Batch-encode your refs into conditioning

InoImageHelper
Ino Image To Base64

Turn an in-graph IMAGE into a data URI for vision APIs

InoImageHelper
Ino Increment Batch Name

Batch_00001 → Batch_00002, on every run — the counter that names your outputs

InoFileHelper
Ino Int To Float

The one-node bridge when a node won't accept your integer

InoIntHelper
Ino Int To String

The int-to-string converter that keeps your filenames and labels honest

InoIntHelper
Ino Is Image Landscape

Is it landscape or portrait? Ask the node, then branch on it

InoImageHelper
Ino Is Image Portrait

The boolean that tells you which way the image is facing

InoImageHelper
Ino Is Image Square

A square check for workflows that need to branch on aspect ratio

InoImageHelper
Ino Json Get Field

One field out of a JSON blob, without the parsing headache

InoJsonHelper
Ino Json Set Field

Patch a JSON string mid-graph — the config mutator

InoJsonHelper
Ino Length

How many items are in that list? One clean number, no guesswork

InoExtraNodes
Ino List Append

Grow a list one item at a time, or all at once — it handles both

InoListHelper
Ino List Get First

Grab the first item off a list without breaking the rest of it

InoListHelper
Ino List Get Item

Need one image out of a batch? This node is the index card

InoListHelper
Ino List Get Last

Pull the last item off any list

InoListHelper
Ino List Length

The list-count node that doesn't make you wire up a whole branch

InoListHelper
Ino Load Clip Model

Load a CLIP from a file path, not a dropdown — for dynamic workflows

InoModelHelper
Ino Load Controlnet Model

Load a ControlNet from a path string and keep structure control config-driven

InoModelHelper
Ino Load Diffusion Model

Load a UNET by path, not by dropdown — the model loader for automated pipelines

InoModelHelper
Ino Load Image

Load an image by path, not by clicking the upload box

InoImageHelper
Ino Load Images From Folder

Dump a folder of images into ComfyUI — with skip and cap controls

InoImageHelper
Ino Load Lora Clip Model

Load a LoRA from a path string and get its trigger word for free

InoModelHelper
Ino Load Lora Model

A LoRA loader that tells you its name and trigger word — and skips CLIP

InoModelHelper
Ino Load Multiple Lora

Stack up to five LoRAs in one node and keep your graph readable

InoModelHelper
Ino Load Sampler Models

Download and load UNET + CLIP + VAE + 4 LoRAs from one config JSON

InoSamplerHelper
Ino Load VAE Model

Load a VAE from a path string when the file isn't a constant

InoModelHelper
Ino Make Any List

Collect up to 10 things into one list — the pack's list constructor

InoListHelper
Ino Math Float

Arithmetic between two numbers without hunting for a calculator node

InoFloatHelper
Ino Math Int

Integer math inside the graph, with divide-by-zero that won't kill your batch

InoIntHelper
Ino Megapixel Resolution

The resolution calculator with an MP budget

InoImageHelper
Ino Move Path

Move files or folders around inside ComfyUI's directories, straight from the graph

InoFileHelper
Ino Not Boolean

The tiny NOT gate that keeps your logic clean

InoBoolHelper
Ino NSFW Detect

Blur it, flag it, or route it

InoImageHelper
Ino On Image List Completed

A persistent counter on every image

InoImageHelper
Ino Openai Chat Completions

Chat with any OpenAI-compatible API from inside the graph — vLLM, RunPod, Modal included

InoOpenaiHelper
Ino Openai Responses

The OpenAI Responses API node — text or image in, structured output out

InoOpenaiHelper
Ino Preview Video

Preview generated video right in the graph, no hunting in your output folder

InoVideoHelper
Ino Print Log

Print to the console mid-graph — and pass a value through while you're at it

InoExtraNodes
Ino Random Int In Range

Random integers with zero-padded strings — batch naming without the ugly gaps

InoIntHelper
Ino Random Noise

A NOISE generator with a real seed output — make your custom sampler reproducible

InoSamplerHelper
Ino Relay

Force execution order without touching your data — the traffic-cop node

InoExtraNodes
Ino Remove Duplicate Files

Dedupe a folder by content hash

InoFileHelper
Ino Remove File

Delete a file from a workflow — but treat it like the loaded gun it is

InoFileHelper
Ino Remove Folder

A recursive folder delete inside the graph — handy, and it WILL do what you asked

InoFileHelper
Ino Resize Crop Image

Cover a target box and crop to it — for when you need exact W×H, not just 'smaller'

InoImageHelper
Ino S3 Config

Turn five S3 credentials into one config string, once, and reuse it

InoS3Helper
Ino S3 Download Audio

Pull an audio file out of S3 and get a real AUDIO tensor on the wire

InoS3Helper
Ino S3 Download File

Fetch one file from S3 into a local folder — with smart skip logic

InoS3Helper
Ino S3 Download Folder

Mirror a whole S3 folder locally — concurrent, verifiable, idempotent

InoS3Helper
Ino S3 Download Image

Pull an image out of S3 and straight into an IMAGE tensor

InoS3Helper
Ino S3 Download Model

Download a model straight from S3 into ComfyUI's model folders

InoModelHelper
Ino S3 Download String

Read a text file from S3 straight into a string — no local file at all

InoS3Helper
Ino S3 Download Video

Fetch a video from S3 as a real VIDEO type, ready for the player

InoS3Helper
Ino S3 Get Download URL

Presigned S3 URLs from the graph

InoS3Helper
Ino S3 Sync Folder

Mirror a whole folder to S3 — or pull it back — like rsync for your bucket

InoS3Helper
Ino S3 Upload Audio

Send generated audio straight to S3 as MP3 — no temp-file juggling

InoS3Helper
Ino S3 Upload File

Push a local file to S3 — and optionally delete it after

InoS3Helper
Ino S3 Upload Folder

Sync a whole results folder to S3 — concurrent uploads plus a verification pass

InoS3Helper
Ino S3 Upload Image

Shove the image you just generated straight into S3

InoS3Helper
Ino S3 Upload String

A string, straight to S3 — no temp file, no fuss

InoS3Helper
Ino S3 Upload Video

Get videos off the local disk and into object storage, without leaving the graph

InoS3Helper
Ino S3 Verify File

Did that upload actually land, and is it intact? Ask the node.

InoS3Helper
Ino Save Images

Save images where you want, and get a wire back

InoImageHelper
Ino Save Json

Stop hand-editing JSON config files — let the workflow write them

InoJsonHelper
Ino Save Text

Write any string to disk — the logging node ComfyUI forgot

InoStringHelper
Ino Show Lora Config

Split a LoRA config JSON into every field, so you can see and reuse what's inside

InoSamplerHelper
Ino Show Model Config

Take a model config JSON apart, wire by wire

InoSamplerHelper
Ino String Concat

The boring little string joiner you'll actually use

InoStringHelper
Ino String Contains

A substring check that lets your workflow make decisions

InoStringHelper
Ino String Length

Character counting for people who don't want to count

InoStringHelper
Ino String Replace

Find-and-replace for your prompts and filenames

InoStringHelper
Ino String Replace Placeholder

Fill the {tokens} in your prompt template

InoStringHelper
Ino String Slice

Slice a string by index — Python style, gotcha included

InoStringHelper
Ino String Split

Split on a delimiter and grab the piece you actually wanted

InoStringHelper
Ino String Starts/Ends With

The yes/no check that routes your workflow

InoStringHelper
Ino String Strip Simple

Bulk-delete the characters that break your filenames

InoStringHelper
Ino String To Alphabetic String

Turn any string into a stable, letters-only ID

InoStringHelper
Ino String Toggle Case

The one switch that flips your whole prompt to SHOUTING

InoStringHelper
Ino String Trim

Strip the accidental whitespace from anything pasted

InoStringHelper
Ino Switch On Bool

A boolean switch that only runs the branch you actually pick

InoExtraNodes
Ino Switch On Int

One int, up to ten pipelines — the batch router

InoExtraNodes
Ino Terminal Log

Read the last N lines of ComfyUI's own terminal output, inside the graph

InoExtraNodes
Ino Unzip

Extract zip archives from inside a workflow, not a terminal

InoFileHelper
Ino Update Model Config

Tweak a model config without ever touching the JSON

InoSamplerHelper
Ino Validate Media Files

Find the corrupt files in your dataset before it bites you

InoFileHelper
Ino Vllm Run Sync

Call a Runpod serverless vLLM endpoint from your workflow — with image input if you need it

InoRunpodHelper
Ino Zip

Zip a folder without leaving the graph — the archive step your pipeline has been missing

InoFileHelper
Readme

ComfyUI Ino Nodes

Python License Status ComfyUI Nodes

A comprehensive custom node package for ComfyUI delivering 125+ production-ready nodes across 18 categories. Built entirely on the modern ComfyUI V3 schema, Ino Nodes covers everything from file system operations and S3 cloud storage to image/video/audio processing, model management, OpenAI integration, and workflow utilities.

Whether you're building automated pipelines that download models from HuggingFace, upload results to S3, process images in batch, or chain LLM calls into your workflows — Ino Nodes provides the building blocks with consistent interfaces, proper error handling, and clean async execution throughout.

Every file-related node follows a unified pattern with parent_folder (input/output/temp) selection, folder, and filename inputs, outputting success, message, rel_path, and abs_path for predictable chaining. S3 upload nodes save to temp with unique filenames by default, media download nodes return native ComfyUI types (IMAGE, AUDIO, VIDEO), and all nodes include an enabled toggle and descriptive tooltips.


Important: This package requires inopyutils. All S3 operations require S3 credentials configured via environment variables or the S3 Config node. OpenAI and Runpod nodes require their respective API keys. Basic Auth middleware is optional and only activates when COMFYUI_USERNAME and COMFYUI_PASSWORD are set.


Installation

ComfyUI-Manager (Recommended)

  1. Install ComfyUI-Manager
  2. Search for "ComfyUI Ino Nodes" in the manager
  3. Click install and restart ComfyUI

Manual Installation

cd ComfyUI/custom_nodes
git clone https://github.com/nobandegani/ComfyUI-InoNodes.git
cd comfyui_ino_nodes
pip install -r requirements.txt

Restart ComfyUI after installation.


Node Reference

InoFileHelper (13 nodes)

File system operations with consistent parent_folder/folder/filename inputs and success/message/rel_path/abs_path outputs.

| Node | Description | |---|---| | Ino Increment Batch Name | Increments a batch name string (e.g., Batch_00001Batch_00002) | | Ino Zip | Zips a source folder into a zip file at the specified destination | | Ino Unzip | Extracts a zip file to the specified destination folder | | Ino Remove File | Removes a file from the filesystem | | Ino Remove Folder | Removes a folder and all its contents recursively | | Ino Copy Files | Copies files from one folder to another with optional renaming | | Ino Count Files | Counts files in a folder, optionally recursively | | Ino Validate Media Files | Validates and categorizes media files, separating valid from invalid | | Ino Remove Duplicate Files | Removes duplicate files using SHA-256 hash comparison | | Ino Get Last File | Returns the most recently modified file in a folder | | Ino Move Path | Moves a file or folder from one location to another with optional overwrite | | Ino Get File Hash | Computes the SHA-256 hash of a file | | Ino File To Base64 | Converts a file to a base64 data URI string with auto MIME detection |

InoImageHelper (10 nodes)

Image loading, saving, resizing, cropping, and batch processing. Image loading uses EXIF rotation handling matching native ComfyUI behavior.

| Node | Description | |---|---| | Ino Save Images | Saves images to a specified folder with a filename prefix | | Ino Load Images From Folder | Loads images from a folder with skip/cap options, returns images, masks, and count | | Ino Image Resize By Longer Side V1 | Resizes an image so the longer side matches the target size, preserving aspect ratio | | Ino Image Resize By Longer Side And Crop V2 | Resizes to fit target dimensions with optional cropping and position control | | Ino Image List To Batch | Combines a list of images into a single batched tensor with resize or pad | | Ino Crop Image By Box | Crops an image to a square region around a point with adjustable shift offsets | | Ino On Image List Completed | Tracks image processing progress with a persistent counter stored in the folder | | Ino Image To Base64 | Converts an image to a base64-encoded data URL string | | Ino Images From Folder To Reference Latent | Loads images, scales them, and encodes as reference latents for conditioning | | Ino Images To Reference Latent | Encodes a batch of images as reference latents and applies them to conditioning |

InoStringHelper (13 nodes)

String manipulation, formatting, and file saving.

| Node | Description | |---|---| | Ino String Toggle Case | Converts a string to upper or lower case | | Ino String Replace Placeholder | Replaces all {placeholder} tokens in a string with a replacement value | | Ino String Replace | Replaces all occurrences of a substring with another | | Ino String Strip Simple | Removes all specified characters from a string | | Ino String To Alphabetic String | Hashes a string and converts it to a fixed-length alphabetic-only string | | Ino Save Text | Saves a text string to a file in the specified folder | | Ino String Concat | Joins two strings with an optional separator | | Ino String Contains | Checks if a string contains a substring, optionally case-insensitive | | Ino String Length | Returns the character count of a string | | Ino String Trim | Strips leading and/or trailing whitespace (both/left/right) | | Ino String Split | Splits a string by a delimiter and returns the part at a given index | | Ino String Starts/Ends With | Checks if a string starts or ends with a given substring | | Ino String Slice | Extracts a substring by start and end index |

InoS3Helper (16 nodes)

S3 cloud storage operations. Media uploads save to temp with unique filenames. Media downloads return native ComfyUI types.

| Node | Description | |---|---| | Ino S3 Config | Creates an S3 configuration string from credentials | | Ino S3 Download File | Downloads a file from S3 to a local folder | | Ino S3 Download Folder | Downloads an entire folder from S3 with concurrent downloads | | Ino S3 Download Image | Downloads an image from S3 and returns it as IMAGE + MASK | | Ino S3 Download Audio | Downloads an audio file from S3 and returns it as AUDIO | | Ino S3 Download Video | Downloads a video file from S3 and returns it as VIDEO | | Ino S3 Download String | Downloads a text file from S3 and returns its content as a string | | Ino S3 Upload File | Uploads a local file to S3 with optional local deletion | | Ino S3 Upload Folder | Uploads an entire folder to S3 with concurrent uploads and verification | | Ino S3 Upload Image | Saves a single image as PNG to temp then uploads to S3 | | Ino S3 Upload Audio | Saves audio as MP3 to temp then uploads to S3 | | Ino S3 Upload Video | Saves video to temp then uploads to S3 | | Ino S3 Upload String | Saves a string as a file (txt/json/ini) to temp then uploads to S3 | | Ino S3 Sync Folder | Syncs a local folder with S3 bidirectionally (upload or download) | | Ino S3 Verify File | Verifies a local file exists in S3 and optionally checks integrity via hash | | Ino S3 Get Download URL | Generates a presigned download URL for an S3 object |

InoModelHelper (23 nodes)

Model downloading from multiple sources and loading into ComfyUI.

| Node | Description | |---|---| | Ino Create Model File Config | Creates a model download configuration from individual fields | | Ino Get Image Model Download Config | Retrieves image model download config from CSV | | Ino Get Video Model Download Config | Retrieves video model download config from CSV | | Ino Get Vae Download Config | Retrieves VAE model download config from CSV | | Ino Get Clip Download Config | Retrieves CLIP model download config from CSV | | Ino Get Controlnet Download Config | Retrieves ControlNet model download config from CSV | | Ino Get Lora Download Config | Retrieves LoRA model download config from CSV | | Ino Http Download Model | Downloads a model file from an HTTP URL | | Ino S3 Download Model | Downloads a model file from S3 | | Ino Hugging Face Download Model | Downloads a single model file from HuggingFace | | Ino Hugging Face Download Repo | Downloads an entire repository from HuggingFace | | Ino Civitai Download Model | Downloads a model file from Civitai | | Ino Handle Download Model | Delegates download to the appropriate handler based on config | | Ino Load VAE Model | Loads a VAE model from a file path | | Ino Load Controlnet Model | Loads a ControlNet model from a file path | | Ino Load Clip Model | Loads a CLIP model from a file path | | Ino Load Diffusion Model | Loads a diffusion/UNET model from a file path | | Ino Load Lora Clip Model | Loads a LoRA and applies it to both model and CLIP | | Ino Load Lora Model | Loads a LoRA and applies it to the model only | | Ino Handle Load Model | Generic model loader by type | | Ino Handle Download And Load Model | Downloads and loads a model in a single operation | | Ino Get Model Path As String | Returns the absolute path to a model directory for a given type | | Ino Load Multiple Lora | Loads up to 5 LoRAs and applies them sequentially to model and CLIP |

InoSamplerHelper (11 nodes)

Model configuration, conditioning, and sampler setup for generation workflows.

| Node | Description | |---|---| | Ino Random Noise | Generates random noise with selectable 32-bit or 64-bit seed precision | | Ino Get Model Config | Retrieves a model configuration by name or ID from JSON | | Ino Get Lora Config | Retrieves a LoRA configuration by name or ID from JSON | | Ino Create Lora Config | Creates a LoRA configuration JSON from individual fields | | Ino Show Model Config | Parses a model config JSON and outputs all individual fields | | Ino Update Model Config | Overrides specific fields in a model config, unset values unchanged | | Ino Show Lora Config | Parses a LoRA config JSON and outputs all individual fields | | Ino Load Sampler Models | Downloads and loads UNET, CLIP, VAE and up to 4 LoRAs from config | | Ino Get Sampler Config | Builds guider, sampler, and sigmas from a model config | | Ino Get Conditioning | Encodes positive/negative conditioning with optional Flux encoder and guidance | | Ino Get Model Download Config | Extracts individual download configs (UNET, CLIP1, CLIP2, VAE) from a model config |

InoExtraNodes (8 nodes)

Workflow control, logic, and debugging utilities.

| Node | Description | |---|---| | Ino Relay | Passes through two values of any type, useful for controlling execution order | | Ino Any Equal | Compares two values of the same type for equality | | Ino Delay Async | Delays execution for a specified number of seconds | | Ino Print Log | Prints a log message to the console and passes through the relay value | | Ino Switch On Bool | Routes one of two inputs based on a boolean switch with lazy evaluation | | Ino Switch On Int | Routes one of up to 10 inputs based on an integer index | | Ino Length | Returns the length of a list or tuple input | | Ino Terminal Log | Captures and returns the last N lines from terminal stdout |

InoCastHelper (6 nodes)

Type casting from any type to specific ComfyUI types.

| Node | Description | |---|---| | Ino Cast Any To String | Casts any input value to a string | | Ino Cast Any To Int | Casts any input value to an integer | | Ino Cast Any To Model | Casts any input to a MODEL type | | Ino Cast Any To Clip | Casts any input to a CLIP type | | Ino Cast Any To Vae | Casts any input to a VAE type | | Ino Cast Any To Controlnet | Casts any input to a CONTROL_NET type |

InoBoolHelper (4 nodes)

Boolean logic operations.

| Node | Description | |---|---| | Ino Boolean Equal | Checks if two boolean values are equal | | Ino Not Boolean | Negates a boolean value (NOT operation) | | Ino Bool To Switch | Converts a boolean to an integer: 2 for true, 1 for false, -1 when disabled | | Ino Condition Boolean | Performs AND or OR operation on two boolean values |

InoIntHelper (4 nodes)

Integer operations and conversions.

| Node | Description | |---|---| | Ino Random Int In Range | Generates a random integer within a range with optional zero-padded string | | Ino Int To String | Converts an integer to a string | | Ino Int To Float | Converts an integer to a float | | Ino Compare Int | Compares two integer values using a selected operator (=, <, >, <=, >=, <>) |

InoTimeHelper (4 nodes)

Date and time formatting and calculations.

| Node | Description | |---|---| | Ino DateTime Simple | Returns the current UTC date and time as ISO or simple format string | | Ino DateTime Custom | Returns a customizable datetime string with selectable components and separators | | Ino DateTime Duration | Calculates the duration between two ISO datetime strings | | Ino DateTime Base64 | Returns the current UTC datetime encoded as a base64 string, unique per execution |

InoJsonHelper (3 nodes)

JSON manipulation and persistence.

| Node | Description | |---|---| | Ino Json Set Field | Sets a field in a JSON string and returns the updated JSON | | Ino Json Get Field | Gets a field value from a JSON string by field name | | Ino Save Json | Saves a JSON string to a file in the specified folder |

InoFloatHelper (2 nodes)

Float operations and conversions.

| Node | Description | |---|---| | Ino Float To Int | Converts a float to an integer using round, floor, or ceil | | Ino Compare Float | Compares two float values using a selected operator |

InoPathHelper (2 nodes)

ComfyUI path utilities.

| Node | Description | |---|---| | Ino Get Comfy Path | Returns the absolute path to a ComfyUI directory (input, output, or temp) | | Ino Get Lora Path Name Trigger Word | Extracts the LoRA ID, name, and trigger word from a file path |

InoOpenaiHelper (2 nodes)

OpenAI API integration.

| Node | Description | |---|---| | Ino Openai Responses | Sends a text or image prompt to OpenAI Responses API | | Ino Openai Chat Completions | Sends a chat completion request to any OpenAI-compatible API |

InoHttpHelper (1 node)

General-purpose HTTP client.

| Node | Description | |---|---| | Ino Http Call | Makes an HTTP request (GET/POST/PUT/DELETE/PATCH) and returns the response |

InoMediaHelper (1 node)

Media format conversion.

| Node | Description | |---|---| | Ino Convert Video To MP4 | Converts video files to MP4 via FFmpeg with optional FPS and resolution changes |

InoRunpodHelper (1 node)

Runpod serverless inference.

| Node | Description | |---|---| | Ino Vllm Run Sync | Runs a synchronous vLLM inference request on Runpod serverless |

InoVideoHelper (1 node)

Video preview.

| Node | Description | |---|---| | Ino Preview Video | Saves a video to the temp directory for in-node preview |


Environment Variables

| Variable | Required | Purpose | |---|---|---| | COMFYUI_INO_DEBUG | No | Enable debug logging (set to 1) | | COMFYUI_USERNAME | No | Basic Auth username (enables auth when set with password) | | COMFYUI_PASSWORD | No | Basic Auth password | | S3_ACCESS_KEY | For S3 | S3 access key ID | | S3_ACCESS_SECRET | For S3 | S3 secret access key | | S3_ENDPOINT_URL | For S3 | S3 endpoint URL | | S3_REGION_NAME | For S3 | S3 region | | S3_BUCKET_NAME | For S3 | S3 bucket name | | OPENAI_TOKEN | For OpenAI | OpenAI API key | | RUNPOD_API_KEY | For Runpod | Runpod API key | | CIVITAI_TOKEN | For Civitai | Civitai download token |

Dependencies

| Package | Purpose | |---|---| | inopyutils | Core utility functions (file, S3, HTTP, JSON helpers) | | openai | OpenAI API client | | aiohttp | Async HTTP client and server middleware | | numpy | Array operations | | Pillow | Image processing | | torch | Tensor operations | | huggingface_hub | HuggingFace model downloads | | hf_xet | HuggingFace extended transport |

Project Info

| | | |---|---| | Version | 2.0.5 | | Python | >= 3.10 | | ComfyUI | v0.18.1+ | | Schema | V3 (all nodes) | | License | MIT | | Publisher | Inoland | | Contact | [email protected] | | Repository | github.com/nobandegani/ComfyUI-InoNodes | | Registry | comfyregistry.org |


For issues and feature requests: GitHub Issues