Comfyroll Studio
Custom nodes for SDXL and SD1.5 including Multi-ControlNet, LoRA, Aspect Ratio, Process Switches, and many more nodes. NOTE: Maintainer is changed to Suzie1 from…
Nodes (199)
Bundle up to eight wires into one bus line
Unpack a bus line back into eight wires
One ControlNet onto your conditioning, with an on/off toggle
Load a whole pile of LoRAs in one node
Blend a whole stack of checkpoints at once
Stack several ControlNets onto pos and neg at once
Run a chain of upscale steps from one stack
Pick a resolution preset and get an empty latent for free
Ad-sized canvases and a matching empty latent
A4, B5 and friends, latent included
The legacy SDXL bucket picker (use the newer one)
Instagram, TikTok, and YouTube sizes on tap
Turn an image list back into a single batch
Route a single image or a batch down one path
A 1s-and-0s image with colors, outlines and jitter
Split a binary string into a list of single bits
Turn a binary string into an on/off keyframe schedule
Merge several keyframe schedules into one
Generate a checkerboard image, two colors your call
Pin a number inside a min/max range
Flip between two CLIP sources with one number
Generate a two-color stripe pattern as an image
Build a smooth two-color gradient image
Make a solid-color canvas at any size
Wash an image with a single color, sepia included
Build a prompt from four reusable blocks
Merge up to four keyframe schedules into one
Arrange images into a comic-page layout
Render text over an image with full placement control
Pick one of two prompt conditionings by number
Combine, average or concatenate two prompts in one node
Swap between two loaded ControlNets by number
A frame-index passthrough for animation loops
Step through an image list frame by frame (legacy)
Cycle a few image slots, no list-builder needed (legacy)
Swap LoRAs across an animation frame by frame (legacy)
Rotate checkpoints across an animation frame by frame (legacy)
Step through a text list frame by frame (legacy)
Cycle a few text slots, no list-builder needed (legacy)
Bundle up to four wires into one to tame graph spaghetti
Unpack a bundled bus cable back into separate wires
Split an image batch into a list of frames
Wrap an image in a diamond-tile layout
Draw a pie or arc wedge as an image
Render a solid shape for masks and compositing bases
Render text onto a fresh canvas in ComfyUI
Crossfading Two Prompts Into One Conditioning
Soft-edged frames for ComfyUI images
Sweep denoise/CFG values or build an animation curve
Convert a float to an int in ComfyUI
Turn a number into text in ComfyUI
List available fonts for batching in ComfyUI
Pull a value out of your prompt text and route it downstream
Ramp a Number Across an Animation Frame by Frame
Ramp a Whole Number Across an Animation
Make tileable half-drop repeats in ComfyUI
Comic-print dot effect for ComfyUI images
Generate a dot-gradient pattern in ComfyUI
Flip between latent and image upscale
Add a solid framed border in ComfyUI
Tile a batch into a contact sheet in ComfyUI
Toggle between two image branches in ComfyUI
Pick one of four image branches
Comfyroll's Manual Way to Bundle Images Into a List
The Stripped-Down Version of Comfyroll's Image List
One node that previews or saves in ComfyUI
Stitch 1–4 images into a strip in ComfyUI
Override One Field Mid-Pipe Without Breaking the Bundle
Bundle an Image and Its Dimensions Into One Wire
Unpack Comfyroll's Image Pipe Back Into Its Parts
Comfyroll's Old Dimension Node — Use CR Aspect Ratio Instead
One Dropdown to Flip Between txt2img and img2img
A Stepped Value That Bumps Up Every N Frames
A Whole-Number Staircase for Your Animation
A Counter Widget With a Debug Switch Built In
Carrying an Index and Its Step Together as Two Wires
Scale an Index by a Factor, Chain-Compatible With the Rest of the Family
Carry a Counter's Restart Value Alongside It
Snap a Number to a Valid Dimension Before It Hits Your Sampler
Generate a list of ints to sweep a batch
Turn a Number Into Text You Can Actually Use
Blend Two Latents Together Without Re-Running the Sampler
Zip two lists together into one alternating batch
Write animation keyframes in Deforum or Comfyroll's own format
Pad a single latent up to N for one sampling pass
Pick between two latent branches with one number
Pull a numbered image sequence in as a batch
Step through a folder one frame at a time, current plus previous
Split an animated GIF into frames you can process
Batch-load a folder of images for processing
Load a folder of images as a list, with filenames and sizes
The standard LoRA loader with an on/off switch bolted on
Swap or blend LoRAs by frame number
Swap checkpoints mid-animation by frame
Read a keyframe schedule from a .txt or .csv
Read a .txt or .csv into a batch of prompts
The legacy way to name and alias a set of LoRAs
Up to three LoRAs, each with its own on/off switch
Renders text onto a flat image — not a MASK, despite the name
Sin, cos, sqrt and friends for one float value
Pick between two checkpoints with one number
The legacy way to name a shortlist of checkpoints
Build a checkpoint-merge recipe with ratios and switches
Unpack a Comfyroll pipe back into its nine wires
Update one slot of a pipe without rewiring the rest
Bundle nine wires into one to detangle your graph
Load up to three ControlNets in one node
A text box that can also parse CSV and split into a list
Chain three upscale models into one pass
Saving numbered animation frames to disk
Save a Comfyroll animation schedule as txt or csv
Stamp text onto an image with real alignment and rotation control
Paste a PNG onto a background with scale, rotate and position
Wrap an image in a header, footer, and border in one node
Pick between two Comfyroll pipe lines with one number
Generate a hexagon or triangle grid pattern from scratch
Turn one text box into a batch of prompts, one per line
Turning a prompt list into Deforum-style keyframes (legacy)
Pick (and blend) the right prompt for the current frame
The simplest node in Comfyroll, and that's the point
A procedural radial gradient with a movable center
Seed-driven random colors for your graphics nodes
Roll the dice on which LoRAs fire each run
A seeded batch of random colors, one per line
Seeded random strings, batched and typed
Quick random codes for comic-panel-style labels
Four independent random colors from one seed
A seeded sequence of colors, one per row
Build a randomized two-color shape grid
Randomize one LoRA's strength across a batch
Turn one value into a list of N identical copies
Write prompts or captions out to a .txt/.csv
Flip between two animation schedules on one wire
The 512-based preset picker, without the SDXL clutter
SDXL's actual training buckets, ready as a latent
SDXL's dual-CLIP encoding, with the micro-conditioning exposed
The old base+style-to-G/L/R mixer (legacy)
Base + style text, mixed into G/L/R by named presets
Two boxes in, labeled for the L slot, nothing more
Tile your texture in-node and see the seams before anyone else does
Pull the seed out of your sampler so more than one node can share it
A bridge from Comfyroll's old SEED type, kept for legacy graphs (legacy)
Pick a font once and reuse it across your text nodes
Paper-size presets in pixels, at print resolution
Switch between up to five checkpoints from one node
A two-option dropdown for Fit vs Crop
Drive an input switch with a keyword
A ternary node — pick one of two numbers from a 0/1 flag
Turn a true/false switch into a number
Route different output depending on a text match
Drop a titled text banner onto any image
Turn a string of 1s and 0s into a black-and-white image
Labeled side-by-side before/after images
Type lines, get a ComfyUI list that fans out execution
Top/bottom Impact-font caption text, done in one node
Five fixed prompt boxes, chainable for more (legacy)
Turn five prompts into a Deforum keyframe string (legacy)
Look up the current and next prompt for a given frame
The building block of Comfyroll's frame-based scheduling system
A colored card with text on it, generated from scratch
The bare-bones version — one frame, one string, no blending
Stamp a text signature on your image without leaving ComfyUI
Drive a number by frame, no scheduling pipeline required
Break one string into up to four pieces on a delimiter
A two-tone pinwheel of wedges, not lines
Generate a radial sunburst pattern as an image
Comfyroll's Text-to-Switch Node, Explained
Feed a plain string into a dropdown-typed input
Parse text into an INT and a FLOAT at once
Colored bars, waves, and gradients built from matplotlib colormaps
Flip between two checkpoints with one number
The boring multiline text box you'll wire into everything
Strip banned words out of a prompt automatically
Glue two strings together with a separator
Turn lines of text into a repeating batch list
Flip between two text sources with one number
Pick one of four text sources by number
Count the characters in a string
Turn a multiline text box into a batch list, no wrapping text attached
Five text boxes, chainable into a longer list
Collapse a list back into one string
Quick string tweaks (uppercase, trim, reverse) inline
Find-and-replace for your prompts, up to three swaps
Read a frame-based text schedule, with a static fallback
See a big batch as a contact sheet, not a wall of images
Fire a boolean when your loop hits a specific index
The one-node upscaler in Comfyroll's Essential set
VAE decode with tiled (low-VRAM) and circular (seamless) options
Pick between two VAEs with one number
One number, both as a FLOAT and an INT
Build a repeating sequence of numbers for animation and scheduling
The full-pipeline version of frame-based value scheduling
Darkened edges (and a free mask) in one node
Assemble a labeled comparison grid from saved images
Turn a flat loop counter into grid column/row coordinates
Compute a CFG/step ramp for an XY sweep instead of typing every value
Pull hand-typed X/Y sweep values by loop position
Turn two text lists into every X-times-Y combination
Write each sweep result so CR XY From Folder can find it later
🧩 Comfyroll Studio
Co-authored by Suzie1 and RockOfFire
Current version: 1.76
Wiki
Please use our new wiki for info on the custom nodes, and lots of examples of their use.
https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes/wiki
Installation
- cd custom_nodes
- git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git
- Restart ComfyUI
You can also install the nodes using the following methods:
- install using ComfyUI Manager
- download from CivitAI
Patch Notes
https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes/blob/main/Patch_Notes.md
List of Custom Nodes
Core Nodes
📦 Essential Nodes
- CR Image Output (changed 18/12/2023)
- CR Latent Batch Size
- CR Prompt Text
- CR Combine Prompt
- CR Seed
- CR Conditioning Mixer
- CR Select Model (new 24/1/2024)
- CR VAE Decode (new 24/1/2024)
🔳 Aspect Ratio
- CR Aspect Ratio
- CR SDXL Aspect Ratio
- CR SD1.5 Aspect Ratio
- CR Aspect Ratio Banners (new 18/12/2023)
- CR Aspect Ratio Social Media (new 15/1/2024)
- CR Aspect Ratio For Print (new 18/1/2024)
📜 List Nodes
- CR Text List (new 19/12/2023)
- CR Prompt List (new 1/1/2024)
- CR Float Range List (new 25/12/2023)
- CR Integer Range List (new 25/12/2023)
- CR Load Text List (new 27/12/2023)
- CR Binary To List (new 29/12/2023)
- CR Text List To String (updated 30/12/2023)
- CR Text Cycler (new 4/1/2024)
- CR Value Cycler (new 4/1/2024)
📜 List IO
- CR Load Image List (new 23/12/2023)
- CR Load Image List Plus (new 23/12/2023)
- CR Load GIF As List (new 6/1/2024)
- CR Font File List (new 18/12/2023)
📜 List Utils
- CR Batch Images From List (new 29/12/2023)
- CR Intertwine_Lists (new 29/12/2023)
- CR Repeater (new 15/1/2024)
- CR XY Product (new 2/1/2024)
- CR Text List To String (updated 30/12/2023)
🌟 SDXL
- CR SDXL Prompt Mix Presets
- CR SDXL Style Text
- CR SDXL Base Prompt Encoder
💊 LoRA
- CR Load LoRA
- CR LoRA Stack
- CR Apply LoRA Stack
- CR Random LoRA Stack (new 18/12/2023)
- CR Random Weight LoRA (new 18/12/2023)
🕹️ ControlNet
- CR Apply ControlNet
- CR Multi-ControlNet Stack
- CR Apply Multi-ControlNet Stack
🚌 Bus
- CR Data Bus In (new 12/1/2024)
- CR Data Bus Out (new 12/1/2024)
- CR 8 Channel In (new 12/1/2024)
- CR 8 Channel Out (new 12/1/2024)
✈️ Module
- CR Module Pipe Loader
- CR Module Input
- CR Module Output
🛩️ Pipe
- CR Image Pipe In
- CR Image Pipe Edit
- CR Image Pipe Out
- CR Pipe Switch
⛏️ Model Merge
- CR Model Stack
- CR Apply Model Merge
🔍 Upscale
- CR Multi Upscale Stack
- CR Upscale Image
- CR Apply Multi Upscale
📉 XY Grid
- CR XY List
- CR XY Interpolate
- CR XY Index
- CR XY From Folder
- CR XY Save Grid Image
- CR Image Output
👾 Graphics Nodes
👓 Graphics - Filter
- CR Color Tint
- CR Halftone Filter
- CR Vignette Filter (new 21/12/2023)
🌈 Graphics - Pattern
- CR Halftone Grid
- CR Color Bars
- CR Style Bars
- CR Checker Pattern
- CR Polygons
- CR Color Gradient
- CR Radial Gradiant
- CR Starburst Lines
- CR Starburst Colors
- CR Simple Binary Pattern
- CR Binary Pattern
🟡 Graphics - Pattern
- CR Draw Shape (new 24/12/2023)
- CR Draw Pie" (new 25/12/2023)
- CR Random Shape Pattern" (new 25/12/2023)
🔤 Graphics - Text
- CR Overlay Text
- CR Draw Text
- CR Mask Text
- CR Composite Text
- CR Select Font
👽 Graphics - Template
- CR Simple Meme Template
- CR Simple Banner
- CR Comic Panel Templates
- CR Simple Banner (new 18/12/2023)
- CR Simple Image Compare (new 18/12/2023)
- CR Thumbnail Preview (new 26/12/2023)
- CR Seamless Checker (new 18/1/2023)
🌁 Graphics - Layout
- CR Image Panel
- CR Page Layout
- CR Image Grid Panel
- CR Image Border
- CR Feathered Border (new 21/12/2023)
- CR Color Panel
- CR Simple Text Panel
- CR Half Drop Panel (new 23/1/2024)
- CR Diamond Panel (new 24/1/2024)
- CR Overlay Transparent Image
- CR Select ISO Size (new 18/1/2023)
🎥 Animation
📋 Schedules
- CR Simple Schedule
- CR Central Schedule
- CR Combine Schedules
- CR Output Schedule To File
- CR Load Schedule From File
- CR Schedule Input Switch
📑 Schedulers
- CR Simple Value Scheduler
- CR Simple Text Scheduler
- CR Value Scheduler
- CR Text Scheduler
- CR Load Scheduled Models
- CR Load Scheduled LoRAs
- CR Prompt Scheduler
- CR Simple Prompt Scheduler
📝 Prompt
- CR Keyframe List
- CR Load Prompt Style
- CR Encode Scheduled Prompts
🔢 Interpolation
- CR Gradient Float
- CR Gradient Integer
- CR Increment Float
- CR Increment Integer
- CR Interpolate Latents
🛠️ Utils
- CR Debatch Frames
- CR Current Frame
⌨️ IO
- CR Load Animation Frames
- CR Load Flow Frames
- CR Output Flow Frames
🛠️ Utility Nodes
🔢 Utils Index
- CR Index
- CR Index Increment
- CR Index Multiply
- CR Index Reset
- CR Trigger
🔧 Utils Conversion
- CR String To Number (changed 18/12/2023)
- CR String To Combo
- CR Float To String
- CR Float To Integer
- CR Integer To String
- CR String To Boolean (new 17/1/2024)
🔀 Utils Logic
- CR Image Input Switch
- CR Image Input Switch (4 way)
- CR Latent Input Switch
- CR Conditioning Input Switch
- CR Clip Input Switch
- CR Model Input Switch
- CR ControlNet Input Switch
- CR VAE Input Switch
- CR Text Input Switch
- CR Text Input Switch (4 way)
- CR Switch Model and CLIP
🔂 Utils Process
- CR Img2Img Process Switch
- CR Hires Fix Process Switch
- CR Batch Process Switch
🎲 Utils Random
- CR Random Hex Color
- CR Random RGB
- CR Random Multiline Values (updated 28/12/2023)
- CR Random Multiline Colors (new 28/12/2023)
- CR Random RGB Gradient
- CR Random Panel Code (new 26/12/2023)
🔤 Utils Text
- CR Text (new 3/1/2024)
- CR Multiline Text (new 24/12/2023)
- CR Split String
- CR Text Concatenate (new 2/1/2024)
- CR Text Replace (new 8/1/2024)
- CR Text Blacklist (new 13/1/2024)
- CR Text Length (new 10/1/2024)
- CR Text Operation (new 10/1/2024)
- CR Save Text To File (new 27/12/2023)
⚙️ Conditional
- CR Set Value On Boolean (new 29/12/2023)
- CR Set Value On Binary (new 3/1/2024)
- CR Set Value On String (new 9/1/2024)
- CR Set Switch From String (new 17/1/2024)
⚙️ Utils Other
- CR Value
- CR Integer Multiple
- CR Clamp Value (new 29/12/2023)
- CR Math Operation (new 31/12/2023)
- CR Get Parameter From Prompt (new 5/1/2024)
- CR Select Resize Method (new 16/1/2024)
Legacy
💀 Legacy Nodes
- CR Seed to Int
- CR Aspect Ratio SDXL, replaced by CR SDXL Aspect Ratio
- CR Image Size, replaced by CR Aspect Ratio
- CR SDXL Prompt Mixer, replaced by CR SDXL Prompt Mix Presets
Comfyroll Workflow Templates
The nodes were originally made for use in the Comfyroll Template Workflows.
Comfyroll SDXL Workflow Templates
SDXL Workflow for ComfyUI with Multi-ControlNet
SDXL and SD1.5 Model Merge Templates for ComfyUI
Credits
comfyanonymous/ComfyUI - A powerful and modular stable diffusion GUI.
WASasquatch/was-node-suite-comfyui - A powerful custom node extensions of ComfyUI.
TinyTerra/ComfyUI_tinyterraNodes - A selection of nodes for Stable Diffusion ComfyUI
hnmr293/ComfyUI-nodes-hnmr - ComfyUI custom nodes - merge, grid (aka xyz-plot) and others
SeargeDP/SeargeSDXL - ComfyUI custom nodes - Prompt nodes and Conditioning nodes
LucianoCirino/efficiency-nodes-comfyui - A collection of ComfyUI custom nodes.
SLAPaper/ComfyUI-Image-Selector - Select one or some of images from a batch
pythongosssss/ComfyUI-Custom-Scripts - Enhancements & experiments for ComfyUI, mostly focusing on UI features
bash-j/mikey_nodes - comfy nodes from mikey
ltdrdata/ComfyUI-Impact-Pack -