Extensions/JPS Custom Nodes for ComfyUI
ComfyUI Extension

JPS Custom Nodes for ComfyUI

Nodes: Various nodes to handle SDXL Resolutions, SDXL Basic Settings, IP Adapter Settings, Revision Settings, SDXL Prompt Styler, Crop Image to Square, Crop Image to…

By JPS-GER·Created 3 years ago·Updated 2 years ago· 100
JPS-GER/ComfyUI_JPS-Nodes
Nodes76
On cloudLocal install
CategoryJPS Nodes/Conditioning, JPS Nodes/Switches
Stars100
Updated2 years ago

Nodes (76)

CLIPTextEncode SDXL Plus (JPS)

Positive and negative SDXL conditioning from one node

JPS Nodes/Conditioning
Conditioning Switch (JPS)

Route between up to five CONDITIONING sources with one number

JPS Nodes/Switches
ControlNet Switch (JPS)

Pick one of up to five loaded ControlNets with a single number

JPS Nodes/Switches
Crop Image Pipe (JPS)

Unpack your crop settings back into individual wires

JPS Nodes/Pipes
Crop Image Settings (JPS)

A shared crop menu for source and support images

JPS Nodes/Settings
Crop Image Square (JPS)

Square up a reference image for CLIP Vision

JPS Nodes/Image
Crop Image TargetSize (JPS)

Crop to an exact width and height, not just a square

JPS Nodes/Image
CtrlNet CannyEdge Pipe (JPS)

Unpack your Canny ControlNet settings

JPS Nodes/Pipes
CtrlNet CannyEdge Settings (JPS)

One menu for your edge-ControlNet knobs

JPS Nodes/Settings
CtrlNet MiDaS Pipe (JPS)

Unpack your depth-ControlNet settings

JPS Nodes/Pipes
CtrlNet MiDaS Settings (JPS)

One menu for depth-ControlNet knobs

JPS Nodes/Settings
CtrlNet OpenPose Pipe (JPS)

Unpack your pose-ControlNet settings

JPS Nodes/Pipes
CtrlNet OpenPose Settings (JPS)

Bundle your pose-ControlNet knobs into one wire

JPS Nodes/Settings
CtrlNet ZoeDepth Pipe (JPS)

Unpack your ZoeDepth ControlNet settings

JPS Nodes/Pipes
CtrlNet ZoeDepth Settings (JPS)

Dial in a metric-depth ControlNet pass

JPS Nodes/Settings
Disable Enable Switch (JPS)

The other ordering of the same enable/disable bridge

JPS Nodes/Switches
Enable Disable Switch (JPS)

Drive an enable/disable widget from the same number that controls your other switches

JPS Nodes/Switches
Generation Settings (JPS)

Every img2img, inpaint, and ControlNet-preprocessor parameter in one node

JPS Nodes/Settings
Generation Settings Pipe (JPS)

Unpack the warehouse node into everything downstream needs

JPS Nodes/Pipes
Generation TXT IMG Settings (JPS)

The two-knob version of the txt2img/img2img switch

JPS Nodes/Settings
Get Date Time String (JPS)

A timestamp string that actually refreshes on every run

JPS Nodes/Text
Get Image Size (JPS)

Read an image's width and height as plain numbers

JPS Nodes/Image
Image Prepare Pipe (JPS)

Unpack the base crop/pad/resize settings

JPS Nodes/Pipes
Image Prepare Settings (JPS)

The base crop/pad/resize/sharpen menu the rest of the pack builds on

JPS Nodes/Settings
Images Masks MultiPipe (JPS)

A junction box for every image, mask, and inpaint model in your graph

JPS Nodes/Pipes
Image Switch (JPS)

A 5-to-1 switch for picking which image feeds your graph

JPS Nodes/Switches
ImageToImage Pipe (JPS)

Unpack the img2img/inpaint/unsampler bundle

JPS Nodes/Pipes
ImageToImage Settings (JPS)

The img2img/inpaint/unsampler block, split out on its own

JPS Nodes/Settings
InstantID Mask Prepare Pipe (JPS)

Unpack the mask-prep bundle

JPS Nodes/Pipes
InstantID Mask Prepare Settings (JPS)

Getting the mask right before InstantID touches a face

JPS Nodes/Settings
InstantID Pipe (JPS)

Unpack your identity and pose weights

JPS Nodes/Pipes
InstantID Pose Prepare Pipe (JPS)

Unpack your pose-reference framing settings

JPS Nodes/Pipes
InstantID Pose Prepare Settings (JPS)

Frame your pose reference before InstantID ever sees it

JPS Nodes/Settings
InstantID Settings (JPS)

A settings pipe for the identity/pose weights InstantID needs

JPS Nodes/Settings
InstantID Source Prepare Pipe (JPS)

Unpack your face-photo framing settings

JPS Nodes/Pipes
InstantID Source Prepare Settings (JPS)

Frame the actual face photo InstantID reads

JPS Nodes/Settings
Integer Switch (JPS)

A 5-to-1 switch for plain numbers

JPS Nodes/Switches
IP Adapter Settings (JPS)

Full tuning menu for one IP-Adapter pass

JPS Nodes/Settings
IP Adapter Settings Pipe (JPS)

Unpack a single-adapter tuning bundle

JPS Nodes/Pipes
IP Adapter Single Settings (JPS)

The older weight-type vocabulary for one adapter pass

JPS Nodes/Settings
IP Adapter Single Settings Pipe (JPS)

Unpack the older weight-type variant

JPS Nodes/Pipes
IP Adapter Tiled Settings (JPS)

The fix for IP-Adapter's oversized-head problem

JPS Nodes/Settings
IP Adapter Tiled Settings Pipe (JPS)

Unpack the tiled IP-Adapter bundle

JPS Nodes/Pipes
IPA Switch (JPS)

Pick between five loaded IP-Adapters with one number

JPS Nodes/Switches
Largest Int (JPS)

Compare two integers and get the bigger one, the smaller one, and which was which

JPS Nodes/Math
Latent Switch (JPS)

Pick one of up to five LATENT sources with a single number

JPS Nodes/Switches
Lora Loader (JPS)

A LoRA node with a real on/off switch

JPS Nodes/IO
Mask Switch (JPS)

Pick one of five masks with an integer, no rewiring

JPS Nodes/Switches
Model Switch (JPS)

Pick one of up to five loaded models with a single number

JPS Nodes/Switches
Multiply Float Float (JPS)

A×b, handed back as both a float and an int

JPS Nodes/Math
Multiply Int Float (JPS)

The node for fractional scale factors JPS's own Resolution Multiply can't do

JPS Nodes/Math
Multiply Int Int (JPS)

The one-node fix for ComfyUI having no multiply node

JPS Nodes/Math
Prepare Image (JPS)

Crop, resize, and sharpen a reference image in one node

JPS Nodes/Image
Prepare Image Plus (JPS)

Per-side crop, padding, stretch, and flip

JPS Nodes/Image
Prepare Image Tiled IPA (JPS)

Prepping one tile at a time for tiled IP-Adapter

JPS Nodes/Image
Resolution Multiply (JPS)

Scale a width and height by a whole-number factor

JPS Nodes/Math
Revision Settings (JPS)

Stability's forgotten unCLIP image-prompting menu

JPS Nodes/Settings
Revision Settings Pipe (JPS)

Unpacking the Revision bundle where you actually need it

JPS Nodes/Pipes
Sampler Scheduler Settings (JPS)

One dropdown pair instead of picking sampler and scheduler on every KSampler

JPS Nodes/Settings
Save Images Plus (JPS)

A Save Image node that isn't a dead end

JPS Nodes/IO
SDXL Basic Settings (JPS)

Every SDXL generation parameter, one node

JPS Nodes/Settings
SDXL Basic Settings Pipe (JPS)

Where the settings dropdown becomes real numbers

JPS Nodes/Pipes
SDXL Fundamentals MultiPipe (JPS)

One wire for your whole base+refiner rig

JPS Nodes/Pipes
SDXL Prompt Handling (JPS)

Stop guessing what goes in text_g versus text_l

JPS Nodes/Text
SDXL Prompt Handling Plus (JPS)

Stop writing two prompts for one image

JPS Nodes/Text
SDXL Prompt Styler (JPS)

Artists, movies, and style presets bolted onto your prompt

JPS Nodes/Style
SDXL Recommended Resolution Calc (JPS)

Snap any image size onto SDXL's trained ratios

JPS Nodes/Math
SDXL Resolutions (JPS)

A dropdown of the resolutions SDXL was actually trained on

JPS Nodes/Settings
SDXL Settings (JPS)

One menu node for resolution, sampler, and CFG

JPS Nodes/Settings
SDXL Settings Pipe (JPS)

The leaner settings unpacker, no refiner fields

JPS Nodes/Pipes
Substract Int Int (JPS)

Subtraction, and yes that's really the node's name

JPS Nodes/Math
Text Concatenate (JPS)

Glue up to five strings together with a chosen delimiter

JPS Nodes/Text
Text Prompt Combo (JPS)

One node, two boxes, positive and negative

JPS Nodes/Text
Text Prompt (JPS)

A labeled text box for tidier prompt wiring

JPS Nodes/Text
Time Seed (JPS)

A seed node that defaults to random and locks on demand

JPS Nodes/Text
VAE Switch (JPS)

Flip between five VAEs without rewiring

JPS Nodes/Switches
Readme

JPS Custom Nodes for ComfyUI

These nodes were originally made for use in JPS ComfyUI Workflows.

The nodes can be used in any ComfyUI workflow.

Installation

If you have a previous version of the "JPS Custom Nodes for ComfyUI", please delete this before installing these nodes.

  1. cd custom_nodes
  2. git clone https://github.com/JPS-GER/ComfyUI_JPS-Nodes.git
  3. Restart ComfyUI

You can also install the nodes using the following methods:

List of Custom Nodes

IO

  • Lora Loader - Lora Loader with On/Off Switch - output is 1 or 2, so it works with most "x to 1"-switches (while some other alternatives use boolean 0 or 1 and need corresponding switches or additional math nodes)

Settings

  • SDXL Resolutions - small node that offers recommended SDXL resolutions and outputs height and width values
  • SDXL Basic Settings - menu node for basic SDXL settings, required for most SDXL workflows (connect to "SDXL Basic Settings Pipe" to access the values), includes FreeU options now
  • Generation TXT IMG Settings - menu node to switch between TXT2IMG and IMG2IMG
  • Generation Settings - menu node to switch between, TXT2IMG, IMG2IMG, Control Net Canny, Control Net Depth, Inpainting (conntect to "Generation Settings Pipe" to access the values)
  • IP Adapter Settings - menu node to turn on/off five IP adapter input images and settings (conntect to "IP Adapter Settings Pipe" to access the values)
  • Revision Settings - menu node to turn on/off two revision input images and settings (conntect to "Revision Settings Pipe" to access the values)
  • Sampler Scheduler Settings - menu node for sampler + scheduler settings, can also be used as pipe

Switches

  • Integer Switch - "5 to 1"-switch for integer values
  • Image Switch - "5 to 1"-switch for images
  • Latent Switch - "5 to 1"-switch for latent images
  • Conditioning Switch - "5 to 1"-switch for conditioning
  • Model Switch - "5 to 1"-switch for models
  • VAE Switch - "5 to 1"-switch for VAE
  • ControlNet Switch - "5 to 1"-switch for ControlNet
  • Disable Enable Switch - input for nodes that use "disable/enable" types of input (for example KSampler) - useful to switch those values in combinaton with other switches
  • Enable Disable Switch - input for nodes that use "enable/disable" types of input (for example KSampler) - useful to switch those values in combinaton with other switches

Pipes

  • SDXL Basic Settings Pipe - used to access data from "SDXL Basic Settings" menu node - place outside of the menu structure of your workflow
  • Generation Settings Pipe - used to access data from "Generation Settings" menu node - place outside of the menu structure of your workflow
  • IP Adapter Settings Pipe - used to access data from "IP Adapter Settings" menu node - place outside of the menu structure of your workflow
  • Revision Settings Pipe - used to access data from "Revision Settings" menu node - place outside of the menu structure of your workflow
  • SDXL Fundamentals MultiPipe - used to build a pipe for basic SDXL settings, has input/outputs for all supported types, so you can access/change values more easily than classic "from/to/edit"-pipes
  • Images Masks MultiPipe - used to build a pipe for various images and masks used in my workflow, has input/outputs for all images, so you can access/change images and masks more easily than classic "from/to/edit"-pipes

Math

  • SDXL Recommended Resolution Calc - gives you the closest recommended SDXL resolution for the width and height values, useful for IMG2IMG and ControlNet input images, to bring them in line with SDXL workflows
  • Resolution Multiply - multily height and width by some factor - useful to get 2x or 4x values for upscaling or SDXL target width and SDXL target height
  • Largest Int - input two integer values, output will be the larger value
  • Multiply Int Int - multiply two integer inputs, output is available as integer and float, so you can save an extra node converting to the required type
  • Multiply Int Float - multiply integer and float inputs, output is available as integer and float, so you can save an extra node converting to the required type
  • Multiply Float Float - multiply two flout inputs, output is available as integer and float, so you can save an extra node converting to the required type
  • Substract Int Int - subscract one integer input from another integer input, output is available as integer and float, so you can save an extra node converting to the required type

Text

  • Text Concatenate - combine multiple input strings to one output string
  • Get Date Time String - get current date/time (has extra code to make sure it will not use cached data)
  • SDXL Prompt Handling - control how text_g and text_l input will be handled (many options)
  • SDXL Prompt Handling Plus - control how text_g and text_l input will be handled (many options), option to add an "universal negative" prompt

image image

Image

  • Get Image Size - get width and height value from an input image, useful in combination with "Resolution Multiply" and "SDXL Recommended Resolution Calc" nodes
  • Crop Image Square - crop images to a square aspect ratio - choose between center, top, bottom, left and right part of the image and fine tune with offset option, optional: resize image to target size (useful for Clip Vision input images, like IP-Adapter or Revision)

Style

  • SDXL Prompt Styler - add artists, movies and general styles to your text prompt, option to add an "universal negative" prompt - uses json files, so you can extend the available options

image

Credits

SDXL Prompt Styler is an extended version of SDXL Prompt Styler by twri - https://github.com/twri/sdxl_prompt_styler