Extensions/ComfyUI_EmAySee_CustomNodes
ComfyUI Extension

ComfyUI_EmAySee_CustomNodes

Lots of randomizers, a simple oobabooga adapter with json options to pass, and other useful nodes.

By EmAySee·Created about a year ago·Updated 3 months ago· 2
EmAySee/ComfyUI_EmAySee_CustomNodes
Nodes126
On cloudLocal install
CategoryEmAySee, EmAySee/LLM
Stars2
Updated3 months ago

Nodes (126)

EmAySee AdLib Prompt Generator

Five prompt skeletons, one seed — EmAySee's fill-in-the-blank prompt shaker

EmAySee
EmAySee Advanced Oobabooga Connector

Point ComfyUI at a local LLM — the kitchen-sink Oobabooga chat connector

EmAySee/LLM
EmAySee Advanced Oobabooga Connector With Help

The Oobabooga connector that explains itself — tooltips on every knob

EmAySee/LLM
EmAySee Any Passthrough

A wire that got a name — when you just need to route anything through ComfyUI

EmAySee_Utils
EmAySee BBox to Segs

You know the box, skip the detector — hand-drawn bounding boxes into SEGS

EmAySee/Segs
EmAySee Body Attributes Float

Seventeen anatomy sliders in one box — organized floats for character morphing

EmAySee/Morph
EmAySee Body Attributes Text Out

The text twin — seventeen attribute strings on one node for prompt building

EmAySee/Text
EmAySee Cache Cleaner

The mid-workflow 'did you try turning it off and on' — forcing a VRAM purge

EmAySee/Utils
EmAySee Aspect Ratio Calculator

One number in, two out — the aspect-ratio calculator that keeps things proportional

EmAySee/Utils
EmAySee Checkbox to Float

Checkbox to Float — a boolean in, a 1.0 or 0.0 out, zero surprises

EmAySee_Utils
EmAySee Conditional Resize

Only resize the small ones — the upscale gate that leaves big images alone

EmAySee/Image
EmAySee Context Manager

The original context loop — rolling LLM memory written to a plain text file

EmAySee/Automation
EmAySee Context Manager V2

The chatty rewrite — Context Manager V2 and its console-debug spam

EmAySee_Automation
EmAySee Context Reader V5

Context Reader V5 — the read half of ComfyUI's file-based LLM memory

EmAySee_Automation/V5
EmAySee Context Writer V5

Context Writer V5 — the append half that fixes your LLM's headers for you

EmAySee_Automation/V5
EmAySee Context Writer V5

The watchdog writer — absolute paths, bounded history, and a truncation tripwire

EmAySee_Automation/Context
EmAySee Date Time Filename String - Seeded

A timestamp that double-duties as a filename — and a seed input that does nothing

EmAySee_Utils
EmAySee Deep Reasoning Connector

An LLM connector that hands you the thinking and the answer separately — built for local oobabooga-style backends

EmAySee/LLM
EmAySee Deep Reasoning Connector

The same reasoning LLM connector, now with a seed you can actually fix

EmAySee/LLM
EmAySee Dimension Swapper

Flip width and height without rewiring your graph

EmAySee/Dimensions
EmAySee Dynamic List Processor

Inline wildcard syntax with a seed — dynamic prompts that you can actually reproduce

EmAySee/Text
EmAySee Dynamic Range Slider

Drive any slider from a 0–1 value — percent in, real range out

EmAySee/Utils
EmAySee Dynamic String Selector Seeded V2

One slider, many string inputs — pick which prompt wins without rewiring

EmAySee_Utils
EmAySee Empty Qwen Image Layered Latent noRS

The blank canvas for Qwen-Image workflows — layers included, reference sampling left out

latent/qwen
Ephemeral Preview (Low RAM)

A preview node that won't fill your temp folder — for long monitoring runs

EmAySee_Tools
EmAySee Filename Trigger Parser

Turn coded filenames into prompt triggers — 'img_02_v1.png' becomes 'young adult'

EmAySee/Text
EmAySee Float To Text

A float, dressed up as prompt text — strength values without the typing

EmAySee/Text
EmAySee Get Model Path

Ask a loaded model where it came from — handy for logs, fragile under the hood

EmAySee/Utils
EmAySee Global String Reader

A text file on disk, disguised as a global variable — share state between workflows

EmAySee/Logic
EmAySee Global String Updater

Save workflow state to disk — with a built-in append-only history

EmAySee/Logic
EmAySee Greater Than (Float)

A > B? This node gives you a 1 or a 0 to branch on

Logic
EmAySee Host Pinger

Is your API up? This node pings it and hands you a 1 or 0

EmAySee_Network
Image Get Size (EmAySee)

Give me the width and height — the one-liner image dimension node

EmAySee
EmAySee Image Logger V1

A run log that appends itself — prompt, filename, and state, every generation

EmAySee_Automation/Logging
EmAySee Image Passthrough

A zero-work node that does nothing — and that's exactly its job

EmAySee_Utils
EmAySee Image Preview Passthrough

Preview the image without killing the wire — see it and keep it flowing

EmAySee/Utils
Image Square Padding Math

It doesn't pad the image — it tells you how much to pad, and that's more useful

Image/Padding
EmAySee Image Text Preview Passthrough

See the caption next to the image, and pass both through untouched

EmAySee/Utils
EmAySee Integer String Selector

Pick one of four strings with a slider — your prompt-switcher

EmAySee_Utils
EmAySee Integer String Selector Max-20

Twenty prompt slots under one selector — the big sibling

EmAySee_Utils
EmAySee Latent Switch

The latent switch that isn't a switch — it's a priority override

EmAySee/Utils
EmAySee Llama Vision

A vision LLM node that isn't Llama and doesn't need a key — point it at Ollama

EmAySee/LLM
EmAySee LLM Output Cleaner

Strip the <think> blocks out of your LLM's chat

EmAySee/Utils
EmAySee Load Image + Name

Load an image and get its filename out — the dataset workhorse

EmAySee
EmAySee LoRA Applier

Apply a LoRA whose name comes in as plain text

EmAySee/Loaders
EmAySee Lora File Picker

Pick a LoRA, get its filename AND its absolute path

EmAySee/File Utilities
EmAySee Lora Loader From Input

The loader half of the two-piece LoRA setup

EmAySee/Loaders
EmAySee_LoRAMetadataExtractor

Read a LoRA's training secrets straight off the safetensors header

Mac Custom Nodes/LoRA Tools
EmAySee_LoRAMetadataExtractorTagDrop

The same LoRA metadata dump, minus the tag-frequency wall of text

EmAySee/LoRA Tools
EmAySee Lora Selector (Object)

Turn a dropdown choice into a ready-to-apply LORA_OBJECT

EmAySee/Loaders
EmAySee Lora Processor (9-Input Switch)

Nine LoRAs pre-loaded, one selector decides which applies

EmAySee/Loaders
EmAySee Lora Name Selector

A LoRA dropdown and two strength knobs, all as outputs

EmAySee/Loaders
EmAySee Lora Stacker (20 Sequential)

Stack up to twenty LoRAs, applied in a fixed order

EmAySee/Loaders
EmAySee Mask Center Hole XY

Punch a rectangle out of the middle of your subject

EmAySee/Mask
EmAySee Mask Expand Shrink XY

Grow or shrink a mask — with independent X and Y

EmAySee/Mask
EmAySee Mask Expand XY

Grow a mask, X and Y separately — expand-only edition

EmAySee/Mask
EmAySee_ Mask Guard to Image

A mask that refuses to fail — always hands you an image

EmAySee_Nodes
EmAySee Mask Overlay

See what your mask actually covers before you send it to a sampler

EmAySee/Image
EmAySee_ Mask Skinnier

Shrink a mask on its narrow axis — a niche tool with a clear job

EmAySee_/Mask
EmAySee Mask Union

Merge up to 14 masks into one — the union node that just works

EmAySee/Mask
EmAySee Mask Universal XY

Expand, shrink, and punch holes in one node

EmAySee/Mask
Math Expression (EmAySee)

Max(w, h) and friends — the mini calculator that speaks Python

EmAySee
EmAySee Megapixel Image Resizer

Scale to a target megapixel count, not a fixed resolution

EmAySee/Image
EmAySee_MetadataFormatter

Turn your LoRA's training JSON into something a human can read

Mac Custom Nodes/LoRA Tools
EmAySee Model VRAM Tracker

Ask ComfyUI what models are actually sitting in VRAM right now

EmAySee/Utils
EmAySee Morph Pipe In

Bundle 20 body-morph sliders into one tidy pipe

EmAySee/Morph
EmAySee Morph Pipe Out

Unpack a morph pipe back into its twenty sliders

EmAySee/Morph
EmAySee Multi BBox Detector

Ten detectors, one SEGS — running every bbox model at once in ComfyUI

EmAySee/Segs
EmAySee_Multi Mask to BBOX

Get one bounding box around all your masks at once

EmAySee/Masking
EmAySee Multiplier Node

Two integers, one slider, kept in ratio — the tiny utility that earns its place

EmAySee_Utils
EmAySee Nine Choice Selector

A nine-slot switch that hands you both the index and the label

EmAySee/Utils
Pad Image For Outpainting (EmAySee)

Grow your canvas and get the mask that marks the new space

EmAySee
EmAySee Probability String Selector

Pick a string at random, but make one option rare on purpose

EmAySee_Utils
EmAySee Prompt State Parser

' and 'STATE:' reply into two clean strings

EmAySee/Text
EmAySee Qwen Pixel Aligner

Resize to a Qwen-friendly resolution before the model sees your image

EmAySee/Image
EmAySee_Qwen / OpenAI Prompt From Image

Caption any image into a rich prompt — locally with Qwen-VL or via any OpenAI-compatible API

d3cker/Prompt-Generator
EmAySee_ Qwen Ratio Lock

Pin an image to Qwen's native aspect ratio before it goes downstream

EmAySee
EmAySee_ Qwen Resolution Optimizer

Snap your image to the nearest Qwen aspect ratio, scaled to taste

EmAySee_Nodes/Image/Alignment
EmAySee_ Qwen Resolution OptimizerFXD

The fixed Qwen resolution optimizer — use this one, not the original

EmAySee
EmAySee Qwen Resolution Optimizer V2NS

That zoom you hate on Qwen Image Edit is a resolution problem

EmAySee/Image
EmAySee_Vision LLM Local Generator

A local vision LLM that turns your images into prompts — if you've got the VRAM

EmAySee
EmAySee Random Integer From List

The dumbest possible random integer node — and sometimes that's exactly right

EmAySee_Utils
EmAySee Random Integer From Toggles (Premade Labels)

Pick from only the options you switched on

EmAySee_Utils
EmAySee - Random Integer from List 2

The random integer node that actually understands ranges

EmAySee/Utilities/List
Random LoRA Loader (EmAySee)

Roll a random one from your pool

EmAySee
EmAySee Random Orientation Latent

Portrait or landscape? Let the seed decide

EmAySee/Latent
EmAySee Random String Selector (20)

Twenty prompt slots, one randomly chosen — the 20-way picker

EmAySee/Utils
EmAySee Random String Selector

A coin flip between two prompts, wrapped in a node

EmAySee_Utils
EmAySee Random String SelectorFourChoice

Four prompts in, one random out — the 4-way picker

EmAySee_Utils
EmAySee Random String SelectorThreeChoice

Random from three strings, because sometimes a coin isn't enough

EmAySee_Utils
EmAySee Remove Duplicate CSV

Dedupe a comma-separated string without touching a spreadsheet

EmAySee_Utils
EmAySee Remove Duplicates From String

Dedupe a word list — and accept that it's going to sort itself

EmAySee_Text
EmAySee Remove Duplicates From StringV2

The dedup node that actually respects your order

EmAySee_Text
EmAySee Remove Words From Text

Surgically remove words from a prompt — whole words, not substrings

EmAySee_Text
EmAySee Repaint KSampler

A KSampler that repaints only what your mask says — no extra nodes

EmAySee_Utils
EmAySee Save Image

The Save Image that's allowed to leave ComfyUI's output folder

EmAySee_Nodes/Image
EmAySee Save Image Exact

Save to an exact path with an exact filename — built for dataset dumps

EmAySee/Image
EmAySee Save Text to File

Get that LLM output off the graph and onto disk as a .txt

EmAySee/Utils
EmAySee Scenema Audio Connector

It doesn't make audio — it asks your local TTS server to

EmAySee/Audio
EmAySee Segs Union

Merge every SEGS stream in your graph into one — without re-running the detector

EmAySee/Segs
EmAySee Selective Model Reloader

Push a CPU-offloaded model back onto your GPU

EmAySee/Utils
EmAySee Selective Model Unloader

Free one model's VRAM without nuking the checkpoint you still need

EmAySee/Utils
EmAySee_Spectre API Connector

Send an image to a local vision LLM and get a caption back as a prompt

EmAySee
EmAySee_StringDetector

Does this string have text in it?

EmAySee/Logic
EmAySee Pose Option Selector

A five-way string switch for picking the pose descriptor mid-workflow

EmAySee_Utils
EmAySee String Tuple Input

The one node the README itself tells you not to use

EmAySee_Utils
EmAySee Submit to Oobabooga API Node

Call your local text-generation-webui from inside a workflow — no API key needed

sd
EmAySee Submit to Oobabooga API Node With API Key

The same local-LLM call, but it sends a Bearer token your server asked for

sd
EmAySee Submit to Oobabooga API Node With API Key_test

The `_test` variant — same node, extra knob, author's own servers in the defaults

sd
EmAySee Submit To Oobabooga API With Key With THinkParse

Chat API call that splits the model's reasoning out of its answer

EmAySee/API
EmAySee Submit To Oobabooga API With Key With Think Parse

The kitchen-sink chat API node with thinking-tag parsing — the one you'd actually use

EmAySee/API
Emaysee Tag Parser

Split an LLM's [NatDes]/[TagDes] output into description and tags

Emaysee/Text
EmAySee Tag Pruner

Strip the tags you don't want out of a booru-style prompt, case-insensitively

EmAySee
EmAySee Text Combiner

Join up to 50 strings with newlines before they hit your prompt encoder

EmAySee/Text
EmAySee_TextEncodeQwenImageEdit_noRS

The Qwen-Image-Edit text encoder, minus the resolution-selector wiring

advanced/conditioning
EmAySee_TextEncodeQwenImageEditPlus_noRS

Up to seven references, one instruction

advanced/conditioning
EmAySee Text Replace 20

Twenty find-and-replace pairs in one node, applied in order

EmAySee/Text
EmAySee Toggle to Integer

One checkbox, two integers — a boolean-to-int switch for conditional values

EmAySee_Utils
EmAySee Twenty Float To Text

Twelve body-attribute sliders that turn into prompt text lines

EmAySee/Text
EmAySee Twenty Float To Text And Float

The body-attribute text builder

EmAySee/Text
EmAySee Twenty Float To Text V2

The body-attribute slider node that hands you every string separately

EmAySee/Text
EmAySee VAE-Compatible Aspect Ratio Calculator

Match a reference image's aspect ratio without tripping the VAE

EmAySee/Utils
EmAySee Var Text Replacer

%var% placeholders

EmAySee_Text
EmAySee REALLY Unique String Selector

The 'REALLY Unique String Selector' is just a two-way string switch — and that's fine

EmAySee_Utils
EmAySee VisualMachine Save Image And Text V2

Save an image with its prompt in a sidecar .txt — know the overwrite gotcha

EmAySee_Automation/Image
EmAySee WD14 Tag Filter

Strip the boilerplate — cleaning WD14 tagger output before it hits your prompt

EmAySee/Text
Readme

ComfyUI_EmAySee_CustomNodes This repository contains a collection of custom nodes for ComfyUI developed by EmAySee.

**Currently AI Described these for me.. i'll update the descriptions later.

The custom nodes should now appear in the ComfyUI add node menu under their respective categories (mostly starting with "EmAySee_"). Nodes Included Here is a brief description of each custom node in this repository:

EmAySee_CheckboxFloatNode.py

•	Node Title: EmAySee Checkbox Float

•	Category: EmAySee_Utils

•	Description: Likely provides a boolean input (checkbox) that controls a float output, possibly switching between two float values or enabling/disabling a float value based on the checkbox state.

EmAySee_DateTimeStringNode.py

•	Node Title: EmAySee Date Time String

•	Category: EmAySee_Utils

•	Description: Generates a string representing the current date and time. Useful for timestamping outputs or incorporating time information into prompts.

EmAySee_DynamicStringSelectorNode.py

•	Node Title: EmAySee Dynamic String Selector

•	Category: EmAySee_String

•	Description: Allows selection from a list of strings that can potentially be dynamically generated or input, offering more flexibility than a fixed dropdown.

EmAySee_HostPinger.py

•	Node Title: EmAySee Host Pinger

•	Category: EmAySee_Network

•	Description: Pings a specified hostname or IP address and outputs an integer (1 for reachable, 0 for unreachable). Useful for conditional workflows based on network status.

EmAySee_IntegerStringSelectorNode.py

•	Node Title: EmAySee Integer String Selector

•	Category: EmAySee_String

•	Description: Selects a string output based on an integer input, likely using the integer value to index into a list of predefined strings.

EmAySee_IntegerStringSelectorNodeDynamic.py

•	Node Title: EmAySee Integer String Selector Dynamic

•	Category: EmAySee_String

•	Description: Similar to EmAySee_IntegerStringSelectorNode, but likely allows the list of strings to be dynamically input or generated.

EmAySee_ProbabilityStringSelectorNode.py

•	Node Title: EmAySee Probability String Selector

•	Category: EmAySee_String

•	Description: Selects a string from a list based on a probabilistic distribution or a random selection influenced by probability settings.

EmAySee_RandomIntFromList.py

•	Node Title: EmAySee Random Int From List

•	Category: EmAySee_Utils

•	Description: Selects and outputs a random integer from a provided list of integers.

EmAySee_RandomIntFromList2.py

•	Node Title: EmAySee Random Int From List 2

•	Category: EmAySee_Utils

•	Description: Likely another version or variation of EmAySee_RandomIntFromList.py, potentially with different input methods or features for selecting a random integer from a list.

EmAySee_RandomIntegerFromListNode.py

•	Node Title: EmAySee Random Integer From List

•	Category: EmAySee_Utils

•	Description: Another node for selecting a random integer from a list, possibly with different input/output types or controls compared to the other random integer list nodes.

EmAySee_RandomIntegerFromTogglesNode_PremadeLabels.py

•	Node Title: EmAySee Random Integer From Toggles Premade Labels

•	Category: EmAySee_Utils

•	Description: Selects a random integer based on the state of multiple toggle (boolean) inputs, using predefined labels for the toggles.

EmAySee_RandomStringSelectorNode.py

•	Node Title: EmAySee Random String Selector

•	Category: EmAySee_String

•	Description: Selects and outputs a random string from a provided list of strings.

EmAySee_RandomStringSelectorNode2.py

•	Node Title: EmAySee Random String Selector 2

•	Category: EmAySee_String

•	Description: Likely a second version or variation of EmAySee_RandomStringSelectorNode.py.

EmAySee_RandomStringSelectorNodeFourChoice.py

•	Node Title: EmAySee Random String Selector Four Choice

•	Category: EmAySee_String

•	Description: Specifically designed to select a random string from a fixed set of four choices.

EmAySee_RandomStringSelectorNodeThreeChoice.py

•	Node Title: EmAySee Random String Selector Three Choice

•	Category: EmAySee_String

•	Description: Specifically designed to select a random string from a fixed set of three choices.

EmAySee_RemoveDuplicateCSV.py

•	Node Title: EmAySee Remove Duplicate CSV

•	Category: EmAySee_Text

•	Description: Takes a string containing comma-separated values (CSV) and removes any duplicate entries, outputting a cleaned CSV string.

EmAySee_RepaintKSampler.py

•	Node Title: EmAySee Repaint KSampler

•	Category: EmAySee_Repaint

•	Description: A specialized KSampler node designed for image repainting using a mask. It takes a latent image and a mask as input and performs sampling primarily in the masked (white) areas to add detail or change content while preserving the unmasked (black) areas.

EmAySee_SaveImage.py

•	Node Title: EmAySee Save Image

•	Category: EmAySee_Image

•	Description: Saves an input image to a specified location on disk, with out worrying about if it's in Comfy path or not.

EmAySee_StringPoseSelectorNode.py

•	Node Title: EmAySee String Pose Selector

•	Category: EmAySee_String

•	Description: Likely selects a string representation of a pose or pose-related parameter, possibly from a predefined list or based on input.

EmAySee_StringTupleInputNode.py

•	Node Title: EmAySee String Tuple Input (DEV NODE, Wouldn't use it)

•	Category: EmAySee_Utils

•	Description: Allows input of multiple strings as a tuple, useful for grouping related string data.

EmAySee_SubmitToOobaboogaAPI.py

•	Node Title: EmAySee Submit To Oobabooga API

•	Category: EmAySee_Network

•	Description: Sends a text prompt or other data to an Oobabooga Text Generation Web UI API endpoint and outputs the response. Useful for integrating large language models into workflows.

EmAySee_ToggleIntNode.py

•	Node Title: EmAySee Toggle Int

•	Category: EmAySee_Utils

•	Description: A node with a toggle (checkbox) that outputs one of two predefined integer values based on the toggle's state.

EmAySee_VarTextReplacer.py

•	Node Title: EmAySee Var Text Replacer

•	Category: EmAySee_Text

•	Description: This node allows you to create a main text string containing placeholders in the format %var1% through %var10%. It provides 10 corresponding string input fields (var1 to var10). The node replaces each placeholder in the main text with the value from its corresponding input field, outputting the final combined string. Ideal for generating dynamic prompts or text based on workflow variables.

EmAySee_VeryUniqueStringSelectorNode.py

•	Node Title: EmAySee Very Unique String Selector

•	Category: EmAySee_String

•	Description: Based on the name, this node likely provides a method for selecting a string that ensures uniqueness or is chosen based on a specific, potentially complex, selection logic.

Feel free to explore the code for each node for more details on their implementation. Know before you go... Code provided without any garuntees or warranties or support.