From 8b57717806902a82e1d1a343da2754016e66b573 Mon Sep 17 00:00:00 2001 From: masslevel Date: Sat, 7 Mar 2026 10:42:40 +0100 Subject: [PATCH] Initial release --- LICENSE | 21 ++ README.md | 107 ++++++ __init__.py | 10 + ...level-TextProcessing-example_workflow.json | 330 ++++++++++++++++++ ...slevel-TextProcessing-example_workflow.png | Bin 0 -> 149404 bytes nodes.py | 94 +++++ web/variable_text_processor.js | 235 +++++++++++++ 7 files changed, 797 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 __init__.py create mode 100644 example_workflows/ComfyUI-masslevel-TextProcessing-example_workflow.json create mode 100644 example_workflows/ComfyUI-masslevel-TextProcessing-example_workflow.png create mode 100644 nodes.py create mode 100644 web/variable_text_processor.js diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..34b64f6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 masslevel + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..30dc590 --- /dev/null +++ b/README.md @@ -0,0 +1,107 @@ +# ComfyUI-masslevel-TextProcessing + +Text processing utilities for ComfyUI, by [masslevel](https://github.com/masslevel). + +[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT) + +![Variable Text Processor example workflow](example_workflows/ComfyUI-masslevel-TextProcessing-example_workflow.png) + +--- + +## Nodes + +### Variable Text Processor (masslevel) + +Processes a multiline text template by replacing `{variable_name}` placeholders with dynamically wired input values. Pins can be added, removed, and renamed at any time — the pin name is the variable name. + +**Category:** `masslevel/Text` + +--- + +## Installation + +Clone or download this repository into your `ComfyUI/custom_nodes/` directory: + +```bash +cd ComfyUI/custom_nodes +git clone https://github.com/masslevel/ComfyUI-masslevel-TextProcessing +``` + +Restart ComfyUI. + +--- + +## Variable Text Processor — Usage + +### Basic concept + +Write a template with `{placeholder}` tokens, wire any value into a named pin, and the node outputs the fully resolved string. + +``` +Template: + resolution: {video_width}x{video_height} + fps: {video_fps} + model: {model_name} + cfg: {sampler_cfg} + +Wired: + video_width → 1920 + video_height → 1080 + video_fps → 25 + model_name → "model.safetensors" + sampler_cfg → 25.0 + +Output: + resolution: 1920x1080 + fps: 25 + model: model.safetensors + cfg: 25.0 +``` + +### Adding variables + +Click the **+ Add Variable** button on the node body. A prompt will ask for a name — use letters, numbers, and underscores only (e.g. `fps`, `model_name`, `subject`). The name becomes the `{placeholder}` token in your template. + +### Removing variables + +Right-click the node body → **Remove Variable Pin** → select the variable to remove. Any connected wire is cleanly disconnected first. + +### Renaming variables + +Two methods — both keep the connected wire in place: + +- **Context menu:** Right-click the node body → **Rename Variable Pin** → select the variable and enter a new name. +- **Native rename:** Right-click the connection point on the pin → **Rename Slot** → enter a new name. + +### Inputs + +| Input | Type | Description | +|---|---|---| +| `template` | STRING (multiline) | The template text containing `{placeholder}` tokens. Can be typed directly or wired from an external multiline string node. | +| *(dynamic)* | STRING / INT / FLOAT | One pin per variable. The pin name must match the `{placeholder}` in the template exactly. INT and FLOAT values are automatically converted to string. | + +### Output + +| Output | Type | Description | +|---|---|---| +| `text` | STRING | The fully resolved template. Unmatched `{placeholders}` with no connected pin are passed through unchanged. | + +### Notes + +- Variable names and their order persist across workflow save and reload. +- Unresolved placeholders are passed through unchanged — they will not error. +- The template field itself can be wired from an external multiline text node. + +--- + +## Compatibility + +- ComfyUI (latest) +- Python 3.10+ +- No additional dependencies required + +--- + +## License + +MIT diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..2006a8e --- /dev/null +++ b/__init__.py @@ -0,0 +1,10 @@ +""" +masslevel-Text_processing — ComfyUI custom nodes by masslevel. +Text processing and template utilities. +""" + +from .nodes import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS + +WEB_DIRECTORY = "./web" + +__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"] diff --git a/example_workflows/ComfyUI-masslevel-TextProcessing-example_workflow.json b/example_workflows/ComfyUI-masslevel-TextProcessing-example_workflow.json new file mode 100644 index 0000000..77ccb23 --- /dev/null +++ b/example_workflows/ComfyUI-masslevel-TextProcessing-example_workflow.json @@ -0,0 +1,330 @@ +{ + "id": "d5f301a1-3d95-4760-8c89-58d16bdb9056", + "revision": 0, + "last_node_id": 10, + "last_link_id": 14, + "nodes": [ + { + "id": 3, + "type": "PrimitiveInt", + "pos": [ + 1300, + 8430 + ], + "size": [ + 300, + 82 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 10 + ] + } + ], + "properties": { + "Node name for S&R": "PrimitiveInt" + }, + "widgets_values": [ + 1920, + "fixed" + ] + }, + { + "id": 4, + "type": "PrimitiveInt", + "pos": [ + 1300, + 8550 + ], + "size": [ + 300, + 82 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 11 + ] + } + ], + "properties": { + "Node name for S&R": "PrimitiveInt" + }, + "widgets_values": [ + 1080, + "fixed" + ] + }, + { + "id": 5, + "type": "PrimitiveInt", + "pos": [ + 1300, + 8670 + ], + "size": [ + 300, + 82 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 12 + ] + } + ], + "properties": { + "Node name for S&R": "PrimitiveInt" + }, + "widgets_values": [ + 25, + "fixed" + ] + }, + { + "id": 8, + "type": "PrimitiveString", + "pos": [ + 1300, + 8790 + ], + "size": [ + 300, + 60 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "links": [ + 14 + ] + } + ], + "properties": { + "Node name for S&R": "PrimitiveString" + }, + "widgets_values": [ + "model.safetensors" + ] + }, + { + "id": 6, + "type": "PrimitiveFloat", + "pos": [ + 1300, + 8890 + ], + "size": [ + 300, + 60 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "FLOAT", + "type": "FLOAT", + "links": [ + 13 + ] + } + ], + "properties": { + "Node name for S&R": "PrimitiveFloat" + }, + "widgets_values": [ + 25 + ] + }, + { + "id": 1, + "type": "PreviewAny", + "pos": [ + 2400, + 8530 + ], + "size": [ + 400, + 160 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "source", + "type": "*", + "link": 9 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewAny" + }, + "widgets_values": [ + null, + null, + null + ] + }, + { + "id": 10, + "type": "VariableTextProcessor", + "pos": [ + 1800, + 8530 + ], + "size": [ + 400, + 270 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "video_width", + "type": "*", + "link": 10 + }, + { + "name": "video_height", + "type": "*", + "link": 11 + }, + { + "name": "video_fps", + "type": "*", + "link": 12 + }, + { + "name": "model_name", + "type": "*", + "link": 14 + }, + { + "name": "sampler_cfg", + "type": "*", + "link": 13 + } + ], + "outputs": [ + { + "name": "text", + "type": "STRING", + "links": [ + 9 + ] + } + ], + "properties": { + "Node name for S&R": "VariableTextProcessor", + "variables": [ + "video_width", + "video_height", + "video_fps", + "model_name", + "sampler_cfg" + ] + }, + "widgets_values": [ + "resolution: {video_width}x{video_height}\nfps: {video_fps}\nmodel: {model_name}\ncfg: {sampler_cfg}", + null + ] + } + ], + "links": [ + [ + 9, + 10, + 0, + 1, + 0, + "STRING" + ], + [ + 10, + 3, + 0, + 10, + 0, + "INT" + ], + [ + 11, + 4, + 0, + 10, + 1, + "INT" + ], + [ + 12, + 5, + 0, + 10, + 2, + "INT" + ], + [ + 13, + 6, + 0, + 10, + 4, + "FLOAT" + ], + [ + 14, + 8, + 0, + 10, + 3, + "STRING" + ] + ], + "groups": [], + "config": {}, + "extra": { + "workflowRendererVersion": "LG", + "ds": { + "scale": 1, + "offset": [ + -1200, + -8330 + ] + }, + "frontendVersion": "1.39.19", + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true + }, + "version": 0.4 +} \ No newline at end of file diff --git a/example_workflows/ComfyUI-masslevel-TextProcessing-example_workflow.png b/example_workflows/ComfyUI-masslevel-TextProcessing-example_workflow.png new file mode 100644 index 0000000000000000000000000000000000000000..ad4058e041d8ec399b39506d679b7995aaaaf1c6 GIT binary patch literal 149404 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

m~FpRz< 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 P|1K)3T}VG~`sn`v bool: + return False + + +# Singleton wildcard type instance +any_type = AnyType("*") + + +class VariableTextProcessor: + """ + Processes a multiline text template by replacing {variable_name} + placeholders with values from dynamically named input pins. + + Dynamic inputs are managed entirely from the JS frontend — users + add/remove/rename variable pins via the node's UI. Each pin name + corresponds directly to a {placeholder} in the template. + + Unresolved placeholders (no connected pin) pass through unchanged. + INT and FLOAT inputs are automatically converted to string. + """ + + @classmethod + def INPUT_TYPES(cls) -> dict: + return { + "required": { + "template": ("STRING", { + "multiline": True, + "default": "Enter your template here.\nUse {variable_name} as placeholders.", + }), + }, + # Dynamic variable inputs are added by the JS frontend. + # They arrive here as **kwargs at execution time. + } + + @classmethod + def VALIDATE_INPUTS(cls, **kwargs) -> bool: + """ + Bypass ComfyUI's strict input validation so dynamically added + variable pins (not declared in INPUT_TYPES) are accepted without + type errors. + """ + return True + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("text",) + FUNCTION = "process" + CATEGORY = "masslevel/Text" + + def process(self, template: str, **kwargs) -> tuple[str]: + """ + Replace all {key} placeholders in the template with the + corresponding kwarg values. Unmatched placeholders are left as-is. + + Args: + template: The multiline template string containing {placeholders}. + **kwargs: Named variable inputs wired from the frontend pins. + + Returns: + A tuple containing the processed string. + """ + result = template + + for key, value in kwargs.items(): + placeholder = f"{{{key}}}" + if placeholder in result: + result = result.replace(placeholder, str(value)) + + return (result,) + + +# --------------------------------------------------------------------------- +# Node registration mappings +# --------------------------------------------------------------------------- + +NODE_CLASS_MAPPINGS = { + "VariableTextProcessor": VariableTextProcessor, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "VariableTextProcessor": "Variable Text Processor (masslevel)", +} diff --git a/web/variable_text_processor.js b/web/variable_text_processor.js new file mode 100644 index 0000000..b2bda35 --- /dev/null +++ b/web/variable_text_processor.js @@ -0,0 +1,235 @@ +/** + * Masslevel Nodes - Variable Text Processor + * + * Native LiteGraph "Rename Slot" sets input.label (display only) but NOT + * input.name (the backend kwarg key). We intercept the label setter via + * Object.defineProperty so native rename correctly updates both the pin name + * and properties.variables, keeping everything in sync. + */ + +import { app } from "/scripts/app.js"; + +// --------------------------------------------------------------------------- +// Helpers +// --------------------------------------------------------------------------- + +function sanitizeName(raw) { + let name = raw.trim().replace(/[^a-zA-Z0-9_]/g, "_"); + if (/^[0-9]/.test(name)) name = "_" + name; + return name.length > 0 ? name : null; +} + +function variableExists(node, varName) { + return (node.properties?.variables ?? []).includes(varName); +} + +function getVariableInputs(node) { + const tracked = node.properties?.variables ?? []; + return (node.inputs ?? []).filter(i => tracked.includes(i.name)); +} + +// --------------------------------------------------------------------------- +// Label watcher — makes native "Rename Slot" behave correctly. +// +// LiteGraph's rename dialog does: input.label = userTypedName +// We intercept that assignment and route it through renameVariable() so: +// - input.name is updated (backend kwarg key) +// - properties.variables is updated (our tracking) +// - links are reconnected on the new slot +// +// The watcher is installed after every addInput() call and removed implicitly +// when renameVariable() destroys+recreates the slot. +// --------------------------------------------------------------------------- + +function installLabelWatcher(node, input) { + if (input.__masslevel_watched) return; + input.__masslevel_watched = true; + + let _label = input.label; + + Object.defineProperty(input, "label", { + configurable: true, + enumerable: true, + get() { return _label; }, + set(newLabel) { + const oldName = input.name; + const isTracked = (node.properties?.variables ?? []).includes(oldName); + + if (isTracked && newLabel && newLabel !== oldName) { + const sanitized = sanitizeName(newLabel); + if (!sanitized) { + console.warn(`[masslevel] Invalid rename target "${newLabel}" — ignoring.`); + return; + } + if (variableExists(node, sanitized)) { + console.warn(`[masslevel] Variable "${sanitized}" already exists — ignoring native rename.`); + return; + } + _label = newLabel; + setTimeout(() => renameVariable(node, oldName, sanitized), 0); + } else { + _label = newLabel; + } + }, + }); +} + +// --------------------------------------------------------------------------- +// Core operations +// --------------------------------------------------------------------------- + +function addVariable(node, varName) { + if (!node.properties) node.properties = {}; + if (!node.properties.variables) node.properties.variables = []; + + node.properties.variables.push(varName); + node.addInput(varName, "*"); + + const input = node.inputs[node.inputs.length - 1]; + installLabelWatcher(node, input); + + node.setDirtyCanvas(true, true); +} + +function removeVariable(node, varName) { + node.properties.variables = (node.properties.variables ?? []).filter(v => v !== varName); + const slot = (node.inputs ?? []).findIndex(i => i.name === varName); + if (slot !== -1) { + const input = node.inputs[slot]; + if (input.link != null) node.graph.removeLink(input.link); + node.removeInput(slot); + } + node.setDirtyCanvas(true, true); +} + +function renameVariable(node, oldName, newName) { + const slot = (node.inputs ?? []).findIndex(i => i.name === oldName); + if (slot === -1) { + console.warn(`[masslevel] renameVariable: slot "${oldName}" not found`); + return; + } + + const input = node.inputs[slot]; + const existingLinkId = input.link; + let originId = null; + let originSlot = null; + + if (existingLinkId != null && node.graph) { + const link = node.graph.links[existingLinkId]; + if (link) { originId = link.origin_id; originSlot = link.origin_slot; } + node.graph.removeLink(existingLinkId); + } + + node.removeInput(slot); + + const idx = (node.properties.variables ?? []).indexOf(oldName); + if (idx !== -1) node.properties.variables[idx] = newName; + + node.addInput(newName, "*"); + + const newSlot = node.inputs.length - 1; + if (newSlot !== slot) { + const moved = node.inputs.splice(newSlot, 1)[0]; + node.inputs.splice(slot, 0, moved); + } + + installLabelWatcher(node, node.inputs[slot]); + + if (originId !== null && node.graph) { + const originNode = node.graph.getNodeById(originId); + if (originNode) originNode.connect(originSlot, node, slot); + } + + node.setDirtyCanvas(true, true); +} + +// --------------------------------------------------------------------------- +// Extension registration +// --------------------------------------------------------------------------- + +app.registerExtension({ + name: "Masslevel.VariableTextProcessor", + + async beforeRegisterNodeDef(nodeType, nodeData) { + if (nodeData.name !== "VariableTextProcessor") return; + + const origOnNodeCreated = nodeType.prototype.onNodeCreated; + nodeType.prototype.onNodeCreated = function () { + origOnNodeCreated?.call(this); + if (!this.properties) this.properties = {}; + if (!this.properties.variables) this.properties.variables = []; + + this.addWidget("button", "+ Add Variable", null, () => { + const raw = prompt("Variable name\n(use as {variable_name} in template):"); + if (!raw) return; + const name = sanitizeName(raw); + if (!name) { + alert("Invalid variable name. Use letters, numbers, and underscores only."); + return; + } + if (variableExists(this, name)) { + alert(`Variable "${name}" already exists.`); + return; + } + addVariable(this, name); + }); + }; + + const origOnConfigure = nodeType.prototype.onConfigure; + nodeType.prototype.onConfigure = function (config) { + origOnConfigure?.call(this, config); + const variables = this.properties?.variables ?? []; + for (const varName of variables) { + let input = (this.inputs ?? []).find(i => i.name === varName); + if (!input) { + this.addInput(varName, "*"); + input = this.inputs[this.inputs.length - 1]; + } + installLabelWatcher(this, input); + } + }; + + const origGetExtraMenuOptions = nodeType.prototype.getExtraMenuOptions; + nodeType.prototype.getExtraMenuOptions = function (canvas, options) { + origGetExtraMenuOptions?.call(this, canvas, options); + const varInputs = getVariableInputs(this); + if (varInputs.length === 0) return; + options.push(null); + const self = this; + + options.push({ + content: "Remove Variable Pin", + submenu: { + options: varInputs.map(input => ({ + content: input.name, + callback() { + if (confirm(`Remove variable "${input.name}"?`)) { + removeVariable(self, input.name); + } + }, + })), + }, + }); + + options.push({ + content: "Rename Variable Pin", + submenu: { + options: varInputs.map(input => ({ + content: input.name, + callback() { + const raw = prompt(`Rename "${input.name}" to:`, input.name); + if (!raw || raw.trim() === input.name) return; + const newName = sanitizeName(raw); + if (!newName) { alert("Invalid name."); return; } + if (variableExists(self, newName)) { + alert(`Variable "${newName}" already exists.`); + return; + } + renameVariable(self, input.name, newName); + }, + })), + }, + }); + }; + }, +});