ComfyUI Extension: ComfyUI-ParamNodes
ComfyUI-ParamNodes is a lightweight, dependency-free collection of custom nodes for ComfyUI, designed to parameterize your workflows for API-driven generation. It provides a clean set of input nodes to control strings, numbers, booleans, and model/LoRA selections, along with a simple logic switch for conditional execution.
Custom Nodes (0)
README
ComfyUI-ParamNodes
ComfyUI-ParamNodes is a lightweight, dependency-free collection of custom nodes for ComfyUI, designed to parameterize your workflows for API-driven generation. It provides a clean set of input nodes to control strings, numbers, booleans, and model/LoRA selections, along with a simple logic switch for conditional execution.
This toolkit is ideal for developers who need to integrate ComfyUI into-backend services, offering precise control over generation parameters without any external dependencies.
Inspired by the input node concepts from the comfy-pack project, this implementation has been rewritten from scratch to be minimal, standalone, and focused entirely on providing clean API entry points.
Features
- Parameter-focused Nodes: A complete set of input nodes (
ParamString
,ParamInt
,ParamFloat
,ParamBoolean
) to define your workflow's public API. - Universal Combo Selector (
ParamUniversal
): A versatile node that can connect to anyCOMBO
widget, perfect for dynamically selecting models, LoRAs, samplers, etc. - Image Path Input (
ParamImage
): Load images by providing a file path, essential for image-to-image or control workflows. - Conditional Logic (
HelperModelSwitch
): A simple switch to route data streams (like models) based on a boolean parameter, allowing you to enable or disable parts of your workflow on the fly. - Clean and Minimal: No UI, no complex logic—just the essential nodes for backend integration.
Installation
-
Navigate to your ComfyUI
custom_nodes
directory.cd ComfyUI/custom_nodes/
-
Clone this repository.
git clone https://github.com/FaraamFide/ComfyUI-ParamNodes.git
-
Restart ComfyUI.
The new nodes will be available under the Params/Input
and Helpers/Logic
categories in the "Add Node" menu.
Usage
- Build your workflow in the ComfyUI interface.
- Replace static values (like prompt text, seed, steps, or model names) with the corresponding nodes from this pack (e.g.,
ParamString
,ParamInt
,ParamUniversal
). - Give each parameter node a unique title (Right-click -> "Title"). This title will become the parameter name you use in your API calls (e.g.,
prompt
,seed
,lora_name
). - Save the workflow in "API Format".
- From your backend service:
- Load the workflow JSON file.
- Identify the parameter nodes by their
class_type
(e.g.,ParamString
). - Replace the
value
in theirinputs
dictionary with the data from your API request. - Queue the modified workflow for generation.
Example:
To control a prompt, replace a standard CLIPTextEncode
's text input with a ParamString
node titled "prompt". Your backend can then load the workflow and set workflow['node_id']['inputs']['value'] = "your dynamic prompt"
before sending it to the ComfyUI queue.