Extensions/ComfyUI-JDCN
ComfyUI Extension

ComfyUI-JDCN

Jerry Davos Custom Nodes for Saving Latents in Directory (BatchLatentSave) , Importing Latent from directory (BatchLatentLoadFromDir) , List to string, string to list, get any file list from directory which give filepath, filename, move any files from any directory to any other directory, VHS Video combine file mover, rebatch list of strings, batch image load from any dir, load image batch from any directory and other custom nodes.

By daxcay·Created 2 years ago·Updated about a year ago· 160
daxcay/ComfyUI-JDCN
Nodes81
On cloudLocal install
Category🔵 JDCN 🔵, JDCN
Stars160
Updatedabout a year ago

Nodes (81)

JDCN_AnyCheckpointLoader

Load a checkpoint from anywhere on disk, not just your models folder

🔵 JDCN 🔵
JDCN_AnyFileList

Turn a folder into a list of file paths — without loading a single file

🔵 JDCN 🔵
JDCN_AnyFileListHelper

Slice a file list by keyword and extension

🔵 JDCN 🔵
JDCN_AnyFileListRandom

Random files from a folder, batch-sized, seed-controlled

🔵 JDCN 🔵
JDCN_AnyFileSelector

Pick one file out of a list without re-typing a path

🔵 JDCN 🔵
JDCN_BatchCounter

A lap counter for batch jobs that's really just multiplication

🔵 JDCN 🔵
JDCN_BatchCounterAdvance

Skip, overlap, and laps in one node

🔵 JDCN 🔵
JDCN_BatchImageLoadFromDir

Load a folder of images as a batch, skipping N frames

🔵 JDCN 🔵
JDCN_BatchImageLoadFromList

Page through an image path list in batches

🔵 JDCN 🔵
JDCN_BatchLatentLoadFromDir

Re-open your saved latents straight from a folder

🔵 JDCN 🔵
JDCN_BatchLatentLoadFromList

Re-open your saved latents from a path list, a page at a time

🔵 JDCN 🔵
JDCN_BatchSaveLatent

VAE-encode once, reuse forever — dump your latents to disk

🔵 JDCN 🔵
JDCN_BoolInt

One toggle, two numbers — True/False and 1/0 from a single switch

🔵 JDCN 🔵
JDCN_EnableDisable

A flag emitter that writes 'enable' or 'disable'

🔵 JDCN 🔵
JDCN_FileMover

Sort your output folders by actually moving the files

🔵 JDCN 🔵
JDCN_ImageSaver

Save images to any folder on disk, not just ComfyUI's output dir

🔵 JDCN 🔵
JDCN_ListToString

Turn a list of strings into one block of text

🔵 JDCN 🔵
JDCN_LoadImage

A LoadImage that hands you the alpha as a mask (and loads GIFs as batches)

🔵 JDCN 🔵
JDCN_ReBatch

Chunk a long list of files into batches of N

🔵 JDCN 🔵
JDCN_SeamlessExperience

Crossfade a folder of images into seamless tiles

🔵 JDCN 🔵
JDCN_SplitString

Split a string at the Nth occurrence of a word, from the front or the back

🔵 JDCN 🔵
JDCN_StringManipulator

Slice, shuffle, and rejoin prompts and tags

🔵 JDCN 🔵
JDCN_StringToList

Multiline text to a real list, the two-second way

🔵 JDCN 🔵
JDCN_SwapInputs

Flip any two wires without rewiring your graph

🔵 JDCN 🔵
JDCN_TagManipulatorByImageNames

Write caption files for a list of images, with backup

JDCN
JDCN_TXTFileSaver

Write text to a .txt file anywhere, with merge and overwrite modes

🔵 JDCN 🔵
JDCN_VHSFileMover

Grab the video VHS just rendered and park it where you want

🔵 JDCN 🔵
LogicUtil_Abs

Absolute value, for when a negative number is really a distance

LogicUtil
LogicUtil_Add Values

Add two numbers mid-graph without a math node

LogicUtil
LogicUtil_Ceil

Round a number up, and get an integer out the other side

LogicUtil
LogicUtil_Convert to Bool

Coerce any value into a true/false for wiring conditionals

LogicUtil
LogicUtil_Convert to Float

Force any value into a float, no questions asked

LogicUtil
LogicUtil_Convert to Int

Force any value into an integer, and know exactly what it'll do

LogicUtil
LogicUtil_Convert to String

Any input to text — the node that silences 'expected STRING'

LogicUtil
LogicUtil_Convert Combo to String

Join a combo/list into one string with your own separator

LogicUtil
LogicUtil_Debug Combo Input

A dropdown that dumps its value to the console — the world's simplest debugger

LogicUtil
LogicUtil_Divide

Divide two values and get a float — and yes, it refuses to divide by zero

LogicUtil
LogicUtil_ErrorNode

The node that's supposed to crash your workflow

LogicUtil
LogicUtil_Floor

Round down to the nearest integer — the ceil's quiet sibling

LogicUtil
LogicUtil_AAndBGate

True only when both inputs are true

LogicUtil
LogicUtil_Bitwise And

Bitwise AND is how you check or clear flags — LogicUtil_Bitwise And explained

LogicUtil
LogicUtil_Bitwise Not

This is not 'invert the number' — LogicUtil_Bitwise Not does something weirder

LogicUtil
LogicUtil_Bitwise Or

Setting flags without collisions — LogicUtil_Bitwise Or, the OR you actually want

LogicUtil
LogicUtil_Bitwise Shift

Fast multiply-by-two (and divide-by-two) — LogicUtil_Bitwise Shift

LogicUtil
LogicUtil_Bitwise Xor

The 'toggle' gate — LogicUtil_Bitwise Xor, and why it's the odd one out

LogicUtil
LogicUtil_ABiggerThanB

The 'is A bigger than B?' gate that gates your whole workflow — LogicUtil_ABiggerThanB

LogicUtil
LogicUtil_AContainsB(String)

It's regex, not 'does the text contain this' — LogicUtil_AContainsB(String)

LogicUtil
LogicUtil_ReturnAorBValue

The ternary in node form — LogicUtil_ReturnAorBValue

LogicUtil
LogicUtil_Invert Basic

The one-input NOT gate that ends your boolean tangle

LogicUtil
LogicUtil_Negate Value

Flip the sign on any number, mid-graph

LogicUtil
LogicUtil_AOrBGate

A logic gate that doesn't do what its name says — read this first

LogicUtil
LogicUtil_Log

The logarithm node with a base input you should actually set

LogicUtil
LogicUtil_Manual Choice Float

Pick a float from a preset list, no typing in the field

LogicUtil
LogicUtil_Manual Choice Int

Step through integer presets run after run

LogicUtil
LogicUtil_Manual Choice String

A cheap dropdown for anything ComfyUI won't give you one for

LogicUtil
LogicUtil_Max

Cap a value from above without a formula node

LogicUtil
LogicUtil_Memory String

Remember a value between runs — the flip-flop that saves your batch

LogicUtil
LogicUtil_Merge String

The two-input string joiner that fixes prompt plumbing

LogicUtil
LogicUtil_Min

Ceiling a value from above — the other half of a clamp

LogicUtil
LogicUtil_Multiply

Scale any number, two inputs in one out

LogicUtil
LogicUtil_Parse Exif

Pull the generation params out of any image, right in the graph

LogicUtil
LogicUtil_Power

Exponent math with a guardrail that occasionally bites

LogicUtil
LogicUtil_Random Shuffle Float

Shuffle a list of floats — seeded, so you can repeat it

LogicUtil
LogicUtil_Random Shuffle Int

Randomize an int list with a seed you control

LogicUtil
LogicUtil_Random Shuffle String

Seeded shuffle for your prompt lists

LogicUtil
LogicUtil_Replace String

Regex replace — read the fine print before you wire it up

LogicUtil
LogicUtil_Round

Snap a float to a whole number, and know it's banker's rounding

LogicUtil
LogicUtil_Save Image Custom Node

Save Image that tells you the filename it just wrote

LogicUtil
LogicUtil_Save Text Custom Node

Write any text to a .txt file mid-workflow

LogicUtil
LogicUtil_SleepNode

The 'wait a second' node that lets any value ride through

LogicUtil
LogicUtil_Sleep (Image tunnel)

A pause that rides along your image wire

LogicUtil
LogicUtil_Static Number Float

Nothing clever, and that's the point

LogicUtil
LogicUtil_Static Number Int

A named constant for whole numbers, so you stop hunting sliders

LogicUtil
LogicUtil_Static String

A text constant you can reuse across the graph without retyping it

LogicUtil
LogicUtil_String List to Combo

Turn a $-separated text blob into one picked item — useful, despite the name

LogicUtil
LogicUtil_Text Preview

See what your prompt actually is, before it hits the sampler

LogicUtil
LogicUtil_Uniform Random Choice

Pick a random option from a list — reproducibly, with a seed

LogicUtil
LogicUtil_Uniform Random Float

A seeded random float between two bounds — for denoise jitter and strength wobble

LogicUtil
LogicUtil_Uniform Random Int

A whole random number, on a seed, when you need to roll an index or a seed

LogicUtil
LogicUtil_Yieldable (Sequential) Iterator Int

A sequential counter that hands you the next number on every run

LogicUtil
LogicUtil_Yieldable Iterator String

Cycle through your prompt variants, one per run, forever

LogicUtil
Readme

Cover_banner

ComfyUI-JDCN

ComfyUI-JDCN, Custom Utility Nodes for Artists, Designers and Animators.

Jerry Davos Custom Nodes for Saving Latents in Directory (BatchLatentSave) , Importing Latent from directory (BatchLatentLoadFromDir) , List to string, string to list, get any file list from directory which give filepath, filename, move any files from any directory to any other directory, VHS Video combine file mover, rebatch list of strings, batch image load from any dir, load image batch from any directory and other custom nodes.

image

Since Most of the nodes are working with path, so it’s Ram efficient as actually loading of files is not done initially.

1. JDCN_AnyFileList :

image

Load Paths of any files from inside ComfyUI from a folder

• folder_Path: Input the folder directory of the files you want to load without quotes. Eg: F:\Temp

• filter_by: Filter files by major category – Images, audios, videos, texts, tensors, folders

image

• extension: Filter files by their file extensions:

  • Images: jpg, jpeg, png, gif, bmp, tiff, ico, svg, webp, psd, ai, eps, indd, cdr, raw, cr2, nef, orf, sr2, pef, x3f, dng, raf, rw2, arw, mef, mrw, fff, srf, kdc, mos, rwl, dcr, erf, 3fr, srw, bay, nrw, ptx, cap, iiq, eip, rwz, r3d, qtk, dcs, rw1, rpp, fff, rwl, pef, xmp
  • Audio: mp3, wav, flac, aac, ogg, wma, m4a, ape, alac, aiff, mid, opus, amr, pcm, mp2, ac3, ra, au, mka, snd
  • Video: mp4, avi, mkv, mov, wmv, flv, webm, mpg, mpeg, m4v, 3gp, rmvb, divx, vob, ts, ogv, m2ts, mts, f4v, asf
  • Text: txt, doc, docx, xls, xlsx, ppt, pptx, pdf, rtf, html, htm, xml, json, csv, dat, ini, cfg, inf, log, md, sql, php, cpp, java, py, c, h, hpp, js, css, asp, aspx, jsp, jspx, xhtml, rss, atom, pl, cgi, nfo, diz, reg, key, sfv, cue, url, bat, sh, ps1, vbs, asm, bak, tmp, temp
  • Tensors: latent

Example You can have all files in one folder and can filter & Separately use them:

1_1

Filter Photos and Use:

1_2

Use Single Video Via AnyFileSelector Node:

3

Filter and Use Multiple Videos at Once:

2

Filter Latents and Use:

4

Filter Text files, jsons and load them inside comfy:

5

2. JDCN_AnyFileListHelper

You can sort sperate List externally with a helper node.

image

• Search – Input keywords to search for – one or many keywords separated with comma

  • EG: portrait,girl

• Filter_by and extension are same as AnyFileList Node

Example workflow:

image

A folder with 12 Items in mixed format – webp, gif, png, json, jpeg

image

One Main List is divided by different formats selected in Helper node or you can search for specific term as shown in purple node

image

Also, multiple keywords can be used to filter out files.

3. JDCN_AnyFileListRandom

image

AnyFileListRandom can be used to select elements at a random, fixed or incremental order.

• Batch_Size – Set the number of files selected per queue.

4. JDCN_AnyFileSelector

image

It is used to select 1 element from the given input list

image

5. JDCN_BatchImageLoadFromList

image

image

Load images in any supported format

6. JDCN_BatchSaveLatent

image

This Export latents into a folder, to save vae encoding time or use later.

7. JDCN_BatchLatentLoadFromDir

image

• Directory – Enter a folder location

• Load_Cap – Number of Latents to load

• Skip_Frame – Skip the first n images.

image

You can load latents directly from a Specific directory

8. JDCN_BatchLatentLoadFromList

image

• Index – Start index of the latents from the path list inputted.

• BatchSize – Number of Latents to load.

• BatchDirection – Direction for selection of latents from the list.

NOTE : Index works differently in this node, it is depended on BatchSize For Example: You have 4 elements in the inputted list. (a,b,c,d)

Scene 1: Index = 1 BatchSize = 2

Output = a, b

Scene 2: Index = 2 BatchSize = 2

Output = c, d

image

9. JDCN_FileMover

image

A folder containing files

image

Images, Json, Videos are sorted with helper node then moved to a new location via File Mover node.

image

Output Result after queue.

10. JDCN_ImageSaver

image

Saves images into an output directory • OpenOutputDirectory: When enabled will open the Output folder.

11. JDCN_ListToString and JDCN_ StringToList

image

Convert list to one single multiline text and vice versa where ever needed.

image

12. JDCN_ReBatch

image

• BatchSize – Number of Elements for a single output packet

• TextList – False will give list a comma separated form, True will give in new line.

image

13. JDCN_SplitString

image

It Split the input String or list of strings from a given search term and give outputs – Suffix, Prefix and Found at location

• SearchFor – Enter character or word to search for a String

• StartFrom – Begin Searching the string from front or rear.

• Occurrence – Split the String from nth Occurrence of the search term from front or rear.

• IncludeSearchFor – Include the SearchFro Term in the Outputs - Suffix

Example Use cases: Separate Extentsions

image

Separate File names and Paths

image

Go Folder Up:

image

14. JDCN_TXTFileSaver

image

It Saves string or Text content into a file

• Directory – Input a Folder location to Save the text file

• Mode – How to Handle same named file – Merge, OverWrite, SaveNew, MergeAndSaveNew

It will create a new file if same named file does not exists

15. JDCN_VHSFileMover

image

Use it with a VHS video combine node to move the rendered file to the output Location • OverwriteFile – It will overwrite the file if they have same file name.


Installation

  1. Using comfy-cli (https://github.com/yoland68/comfy-cli)

    comfy node registry-install comfyui-jdcn
    
  2. Automatic Method with Comfy Manager

  • Inside ComfyUI > Click Manager Button on Side.
  • Click Install Custom Node and Search for JDCN and Install this node:

Manager_Screenshot

  • Restart ComfyUI and it should be good to go
  1. Manual Method
  • Go to your Comfyui > Custom Nodes folder
  • Run CMD from folder path box or right click on empty area and click open in terminal.
  • Copy and Paste this command git clone https://github.com/daxcay/ComfyUI-JDCN.git
  • Then go inside ComfyUI-JDCN with cmd or open new.
  • and type pip install -r requirements.txt to install the requirements.

CREDITS

◉ Daxton Caylor - ComfyUI Node Developer

  • Discord - daxtoncaylor
  • Email - [email protected]
  • Discord server: https://discord.gg/Z44Zjpurjp
  • Commission Status: 🟢 Open 🟢

◉ Jerry Davos - Graphic Design and Nodes Ideas

  • Discord - jerrydavos

  • Email - [email protected]

  • Comfyui Workflows and Animations: Link 1 & Link 2

  • Commission Status: 🟢 Open 🟢

  • Discord Server : https://discord.gg/z9rgJyfPWJ


Support for JDCN ❤️

If you like to suppport us you can help us by

Donation: https://paypal.me/jerrydavos