Quality of Life Nodes for ComfyUI
These nodes aid with batching image processing and maintaining input file names in output files and other quality of life nodes.
Nodes (161)
Glue ten inputs into one string and stop fighting the type system
A ten-case switch that keys on a string and spits out anything
Add a line without overwriting the rest
Stitch two clips together with ffmpeg
The NOT gate stock ComfyUI doesn't ship
Turn true/false into text ComfyUI's string nodes can use
Ten checkpoints, one string key, zero wasted VRAM
Load a checkpoint from a raw path, not a dropdown
Combine Video
Bundle toggles for a ComfyDeploy run
Read back everything you've queued
Remember every run_id you fired off
Reset the cache between batches
Wait for a run and pull down its output
Pack decimal values into a ComfyDeploy request
Send images to a ComfyDeploy deployment
Pack whole numbers into a ComfyDeploy request
Five parameter types, one node
The cleaned-up mixed builder
Fire off a ComfyDeploy run from inside ComfyUI
Read back a queued run later
Build the payload for a ComfyDeploy run
Hand your deployed workflow the power to pick its own cutout model
Turn a JSON list into a loadable image batch
Roll a random row from your prompt CSV, on demand
Turn a spreadsheet into a batch-generation loop
Sweep every prompt against every checkpoint with one counter
Walk a CSV and a LoRA list off one counter
Log every generation's seed, prompt, and output to a spreadsheet
Pick among ten UNets/DiTs with a string
Skip regenerating what's already on disk
Fetch anything into your workflow without leaving ComfyUI
Pull a voice's details and a sample before you commit to it
Auto-generated placeholder images for pipeline testing
Swap in a fallback only when the input is actually blank
Unzip straight into ComfyUI's output folder, from inside the graph
Gemini Omni Flash video from your ComfyUI canvas — no Google Cloud project required
Call OpenAI's gpt-image-2 from your graph, no OpenAI SDK needed
Reference images in, edited images back — with actual text in them
XAI's Grok Imagine video, one ComfyUI node and one FAL key away
Alibaba's oddly-named character-consistency video model
The premium Kuaishou video tier, minus the API plumbing
The sensible default when you don't need the Pro premium
Kling O3 in native 4K, with first-frame, last-frame, and audio all in one node
Restyle a clip and keep the motion — and the audio
Animate between two images, from frame A to frame B
Character and style references in, a matching clip out
Restyle a clip with up to four look references, audio kept
The fastest image-to-video node in the pack
Images, video and audio references in one clip
Make a talking head from audio, no lip-sync pipeline required
The reference-to-video node with the widest resolution ladder
Seedance 2.5, now with video and audio refs
Animate a still frame with ByteDance's closed video model
Compose a video from a pile of reference images, clips, and audio
ByteDance's frontier editor, as a graph node
Frontier generation from a prompt, no GPU of your own
The cheaper Seedream for edits that don't need the flagship
Budget frontier generation, ByteDance-flavored
The flagship editor, when the edit has to be great
Send your clips to Topaz's cloud, keep the timeline on your machine
The node with a movement-amplitude dial, and not much else in the way
Throw several references at it and let one coherent clip come back
Read a text file's contents into your graph
Fixing the FLOAT-to-INT socket mismatch
Turning a number into text you can actually use
Pull one frame out of a video without touching ffmpeg
Pull a palette out of any image
One node, single image or batch
Trim pixels off the edge — the crop node that plays nice with batches
Every image in a folder, as a LIST not a batch
Image Overlay
The other half of the socket-type fix
Numbers into text, with an optional format
A guard for the workflow you don't want to run on nothing
Walk a JSON array one item per run
One node, ten sockets — building JSON arrays from anything
Audio batches, one MP3 per frame, as a JSON array
Strings back to audio — the permissive decoder
AUDIO to a JSON-friendly string, with no key attached
Audio inside your JSON — MP3-shaped values in the chain
True and false — not 'true' and 'false'
Read a JSON file three ways at once
Decimals belong here — adding a FLOAT to the JSON chain
Pretty-print and minify in one node
Where the JSON chain ends — serializing your payload
How many items, and what's in them
Every frame, in order, as a JSON array
The other direction — text back into an image batch
Image to text — a standalone encoder for JSON payloads
Stuffing an image inside your JSON payload
Adding numbers without quotes to the JSON chain
Walk a folder of JSON files by index
Nesting JSON the ComfyUI way — objects inside objects
Pull up to 10 values out of one blob
Embed a JSON string as a real value — the bridge node
The building block of the Soze JSON chain
Ten string pairs in one node — when you just want to type keys
Ten values out of a JSON document — keys in, strings out
Pull one key out, already cast to the type you need
Sobel lineart without OpenCV — cleaner control, no model downloads
The node that actually gets sound into ComfyUI
Step through any file type, not just images
Regex-filtered file listing from a folder
The stock loader, plus the filename data ComfyUI won't give you
Load by a path string, not a dropdown
Pull an image straight off the internet
The workhorse for batch runs
One counter, every image × LoRA pair
Four named image slots from a JSON list
Paste a List of Image URLs, Get Nine IMAGE Outputs — No Keys, No Drama
Walk every prompt against every LoRA in one counter
Grab N Random Images From a Folder as One Batch (Seedable, So Your Grids Actually Reproduce)
A one-file wildcard picker
Read a text file, wrap it, wire it in
Batch through a clips folder like the pack's image loaders
A LoRA Loader That Picks One of Ten by a String — The Batch-Workflow Unclogger
Apply a LoRA by absolute path, no dropdown required
Cloud Video Generation That Drops an MP4 Into Your Graph
Point the API at Nine Images and Ask for a Video of the Same Subject
No Local GPU, Just an ARK_API_KEY
Image Gen and Editing Via BytePlus ModelArk
Ten find/replace passes in one node
Merge up to six image batches into one
Glue up to ten text blocks into one prompt
Build a path and filename from reusable pieces
An LLM Node for Workflow Automation — Let a Model Rewrite Prompts or Pick the Next Step
Grow a mask's canvas to match a padded image
Keep a prompt around without retyping it
Sweep a float range in an exact number of steps
Exactly N integer steps, evenly spaced — no math required
Float sweeps that don't drift into ugly decimals
Seed lists and CFG sweeps without hand-typing them
Copy Any File Into ComfyUI's Output Folder — the 'Make It Persist' Node
Save a Whole Image Batch With Per-Image Names — Dataset Assembly Without a Script
Full control over the saved filename
Write a string to disk, no fuss
XDoG Line Art, the Sketchy ControlNet Preprocessor With Real Character
A shrink-only resizer with a real algorithm choice
The math for a capped resize, no resize included
Turn any string into a safe filename
Chain up to five text transforms in one node
Break a string into two pieces on one delimiter
Bridge text output into a real boolean wire
Turn text data into a number your sliders can use
Text to a whole number, for seeds, indexes, and sizes
NVIDIA's world model, hosted, with step and guidance exposed
Restyle a clip's appearance, not its motion
Tencent's image model with a bot_task that thinks before it draws
The cheap hosted LTX tier with the flexible image anchor
Synced audio video at $0.04 a second, right in your graph
Text, first-frame, or bookended
Image, video, and audio slots in one node
TensorScale SenseNova U1.5 in ComfyUI
A plain substring check that returns true/false
A tiny lookup table without a switch chain
Let a String Decide Which Upscaler Your Workflow Uses — the Ten-Way Upscale Router
A solid RGBA image, made to spec
Google's Veo 3.1 from a reference image, via FAL
The bookkeeping node behind any comparison grid
Stitch a batch into a labeled comparison grid
ComfyUI_Soze
Quality-of-life custom nodes for ComfyUI: batch processing helpers, CSV-driven prompt iteration, file/folder loaders, string and JSON utilities, and integrations for ComfyDeploy, FAL, ElevenLabs, and Azure Blob Storage.
Originally bundled the now-abandoned Comfy_KepListStuff helpers.
Install
Clone into ComfyUI/custom_nodes/:
cd ComfyUI/custom_nodes
git clone https://github.com/SozeInc/ComfyUI_Soze.git
pip install -r ComfyUI_Soze/requirements.txt
Or install via Comfy Registry / ComfyUI Manager.
Configuration
Some nodes need credentials in environment variables (or a .env file in the repo root):
| Variable | Used by |
|---|---|
| CD_API_KEY | ComfyDeploy nodes |
| ELEVENLABS_API_KEY | ElevenLabs voice retriever |
| SOZE_AZURE_STORAGE_CONNECTION_STRING | ComfyDeploy image parameter upload |
| FAL_KEY (or [API] FAL_KEY in config.ini) | FAL nodes (e.g. Veo3.1) |
| TENSORSCALE_API_KEY | TensorScale nodes. Keys are model-scoped, so you can instead set one per model: TENSORSCALE_API_KEY_MINIMAX_H3, _LTX2_5_FAST, _LTX_2_3_FAST, _COSMOS3_NANO, _HUNYUAN_IMAGE_3, _SENSENOVA_U1_5 (each falls back to TENSORSCALE_API_KEY). TENSORSCALE_BASE_URL overrides the host. |
The repo's .gitignore excludes .env and config.ini. Never commit credentials. If you suspect a key has leaked, rotate it.
Node groups
- CSV —
CSV Reader,CSV Reader X Checkpoint,CSV Reader X Lora,CSV Writer. TheX Checkpoint/X Loravariants iterateindexacross rows × models, so a single counter walks every (row, checkpoint) pair. - Files / folders —
Load Files From Folder,Load Files With Pattern,File Loader,Does File Exist,Save Image With Absolute Filename,Save Text File To Output,Append To Text File. - Images —
Load Image,Load Images From Folder,Load Images From Folder X Lora,Load Image From URL,Load Image From Filepath,Image Batch Process Switch,Image Overlay,Empty Images,Variable Image Builder,Shrink Image,Pad Mask,Get Most Common Image Colors,Multi Image Batch,Soze Image Size With Maximum. - Video —
Append To Video(ffmpeg concat with audio),Load Videos From Folder. - Strings —
Multiline Concatenate,Multi Find And Replace,Special Character Replacer,Text Contains,String Functions,String Splitter,Empty String Replacement,Prompt Cache,Output Filename. - JSON —
JSON Value Parser,JSON Path Extractor,JSON Array Iterator,JSON File Loader,JSON Formatter,JSON Get Array Count,Create Image Batch From JSON Array,Load Images From JSONArray. - Range / XY —
Int/Float Range (Step),Int/Float Range (Num Steps),XY Any,XY Image. - Converters —
Int/Float/Bool/Stringcross-conversion nodes,Boolean Inverter. - Loaders —
Lora File Loader(load by absolute path),Checkpoint File Loader(load by absolute path). - Integrations — ComfyDeploy API queue / cache / download nodes, ElevenLabs voice retriever, FAL Veo3.1 ref-img-to-video.
- TensorScale — synchronous world-model inference (no polling; each node POSTs once and streams the finished media back).
TensorScale MiniMax H3 Video(fl2va) and... Video Reference(ref2va) for video+audio,TensorScale LTX-2.5 Fast Video(video+synced audio, $0.04/video second),TensorScale LTX-2.3 Fast Video,TensorScale Cosmos3 Nano Text To Video/... Video To Video,TensorScale Hunyuan Image 3 Fast,TensorScale SenseNova U1.5. Reference media is inlined as a base64 data URI by default; the whole request body is capped at 10 MiB, so use the*_urlwidgets or flipuse_fal_uploadon for anything video-sized. API docs
ffmpeg
Append To Video shells out to ffmpeg; it must be on PATH.
Contributing
Issues and PRs welcome. All respect to the original creators of any subsumed nodes — happy to upstream changes if you'd prefer them in your repo.
License
MIT — see LICENSE.