ComfyUI-LZNodes
Custom nodes for ComfyUI
Nodes (44)
Keep the junk out of your negatives without retyping the boilerplate
Stop hand-stitching artist tags, quality tags, and prompt soup
The two-in-one CLIP encode
The all-in-one loader that encodes both prompts before you ask
Inject artist styles straight into cross-attention instead of hoping the tags blend
Pack, encode, and inject in a single node
The advanced controls cabinet for the Anima artist mixer
The artist-chain node that makes Anima artist mixing actually work
Three parts, one node
Track every generation in a spreadsheet, automatically
Your Artist List as One Tag String, Without Going Cross-Eyed
Batch-save XY plot grids with the labels baked into every filename
The plain CLIP Text Encode that also hands you the text back
The one node that stops you tripping over Krea 2's three files
KSampler and VAEDecode merged into one node that reads your pipe
Rebuild a generation from its .txt log — no image needed
A LoRA loader for when the LoRA shouldn't touch your CLIP
Stack ten LoRAs in one node without a ten-loader rat's nest
Hand-build a 19-block merge recipe with one slider per layer
One click, 19 random block weights
Pick the range and the step
A pipe debugger that shows you what's actually inside
Stitch two pipes together without the spaghetti
The bundle that turns twenty wires into one
The pipe that carries your XY plot config too
Get your fourteen values back out of one wire
Five wildcard slots in one prompt, no regex required
Swap one wildcard in your prompt from a CSV
Inline wildcard swapping with zero files
Stop hand-typing (tag:1.2) everywhere
The save node that writes your whole recipe to a .txt
Log a row of parameters to a spreadsheet
The lean loader that also gives you a pipe and a hash
Make a prompt safe to use as a filename
Pick one of ten strings by index
Ten named tag slots with per-tag strength and on/off
Actually see the string your nodes are building
Turn a batch of comparisons into a labeled grid
The config node that sets up a sweep without sampling
One node that sweeps, samples, and spits out a batch
The flexible sweep sampler that can live off raw text
Presets that keep you at ~1MP
Join prompt parts without thinking about joins
The String node that just holds text — boring, and you'll use it constantly
ComfyUI-LZNodes
ComfyUI-LZNodes is a collection of custom nodes for ComfyUI designed to simplify complex node workflows and enhance the image generation process.
Features
This extension provides several quality-of-life nodes that condense common workflows:
- LZ Pipe System (
LZPipePack/LZPipePackXL/LZPipeUnpack/LZPipeMerge/LZPipeInfo): Simplifies "spaghetti" node connections by bundlingMODEL,CLIP,VAE,CONDITIONING,LATENT, and generation parameters into a singlelz_pipeconnection. - Smart Loaders:
EZCheckpointLoader: Loads a checkpoint and automatically encodes positive/negative prompts in a single node.LZSimpleCheckpointLoader: A lightweight loader strictly for extracting model components.LZLoRAStacker: Easily stack up to 10 LoRAs with built-in caching for faster generation. Outputslora_model/lora_weight(comma-joined names/weights, also carried inlz_pipe).LZAnimaLoader: Specialized loader for Anima models that loads the diffusion model, text encoder, and VAE separately.LZKrea2Loader: One-node loader for the Krea 2 architecture (12B SingleStreamDiT + Qwen3-VL-4B text encoder + Qwen-Image VAE). Pipe-ready withweight_dtypeselection, andnegative_mode="auto"zero-outs the negative when unused (Krea 2 Turbo runs at CFG 1.0, matching the official template). Requires ComfyUI v0.26.0+.
- Anima Artist Mixer:
LZAnimaArtistNode: Combined node that splits/encodes artist chains and applies cross-attention injection in one step. Outputs(MODEL, CONDITIONING, STRING)with the base prompt text aspositive_textfor direct connection to the pipe system.LZAnimaArtistPack/LZAnimaArtistCrossAttn: Separate split-encode and cross-attn injection nodes for advanced workflows.LZAnimaArtistCrossAttnalso outputspositive_text(STRING).LZAnimaArtistOptions: Advanced options for fine-tuning block ranges, fusion modes, EMA smoothing, low-rank injection, static capture, and anchor Q.LZArtistChainText: Green-colored helper node for theartist_chaininput. Converts a line-separated artist list into a comma-joinedartist_tag(and also outputs the original text and thelz_pipeunchanged).
- Prompt Management:
AdvancedPositivePrompt/AdvancedNegativePrompt: Cleanly separate base prompts, artist tags, and quality tags. Automatically concatenates and encodes them.DualCLIPTextEncode: Encodes both positive and negative prompts simultaneously.LZPromptWeight: Automatically wraps prompt tags with weight syntax(tag:weight).LZTagEditor: Visually edit up to 10 tags with individual strength and on/off toggles.LZPromptReplaceSingle/LZPromptReplaceMulti/LZPromptReplaceString: Dynamically replace placeholders in prompts using CSV files or inline candidate lists.
- Text Utilities:
StringNode/StringConcatNode: Basic string output and multi-input concatenation.LZTextPreview: Display string values directly in the node UI.LZStringSanitize: Remove or replace illegal filename characters.LZStringSelect: Select one string from multiple inputs by index.LZSaveStringToCSV: Save or append string rows to a CSV file (header written only when the file is created).
- All-In-One Sampling (
LZKSamplerDecode): Combines KSampler and VAEDecode into a single step, pulling directly from thelz_piperouting. It can also accept raw text and perform CLIP encoding dynamically if conditioning isn't explicitly provided. - XY Plot System (
LZXYPlot/LZXYPlotSampler/LZXYSampler/LZXYGridOutput): Grid comparison system for checkpoints, diffusion models (DiT-only, e.g. Krea 2 / Anima / Flux), LoRAs, samplers, schedulers, and prompt variations. Supports replacement keys and automatic grid image generation with labels. - Comprehensive Image Saving & Logging:
LZSaveImageAndLog: Saves generated images (PNG/WEBP/JPG) alongside a highly detailed.txtlog file capturing everything from Seed and Steps to Checkpoint Hash and full Prompt text. It also injects this data into PNG metadata invisibly.LZBatchSaveWithLabels: Batch-save images with XY labels embedded in filenames and metadata, plus automatic batch log output.LZAppendLogToCSV: Append generation parameters to a CSV file for spreadsheet tracking.LZLogReader: Read back.txtlog files generated byLZSaveImageAndLogto restore parameters as node outputs.
- Model Merge Recipe (
LZMergeRecipeRandom/LZMergeRecipeManual/LZMergeRecipeRandomAdvanced): Generate 19-block merge recipes (IN00-IN08, M00, OUT00-OUT08) compatible with Model Merge tools. - Preset Latent (
PresetEmptyLatentImage): Quickly create empty latent images using common SDXL resolutions. Supports both SDXL (4ch) and Anima (16ch) latent formats.
Node List
| Category | Nodes | |---|---| | Loaders | EZCheckpointLoader, LZSimpleCheckpointLoader, LZLoRAStacker, LZAnimaLoader, LZKrea2Loader | | Anima | LZAnimaArtistNode, LZAnimaArtistPack, LZAnimaArtistCrossAttn, LZAnimaArtistOptions, LZArtistChainText | | Prompt | DualCLIPTextEncode, AdvancedPositivePrompt, AdvancedNegativePrompt, LZPromptWeight, LZTagEditor | | Text | StringNode, StringConcatNode, LZTextPreview, LZStringSanitize, LZStringSelect, LZSaveStringToCSV, LZPromptReplaceSingle, LZPromptReplaceMulti, LZPromptReplaceString | | Latent | PresetEmptyLatentImage | | Pipe | LZPipePack, LZPipePackXL, LZPipeUnpack, LZPipeInfo, LZPipeMerge | | Sampling | LZKSamplerDecode | | XY Plot | LZXYPlot, LZXYPlotSampler, LZXYSampler, LZXYGridOutput | | IO | LZSaveImageAndLog, LZBatchSaveWithLabels | | Log | LZAppendLogToCSV, LZLogReader | | Merge | LZMergeRecipeRandom, LZMergeRecipeManual, LZMergeRecipeRandomAdvanced |
Krea 2 Quick Guide
LZKrea2Loader supports the Krea 2 architecture natively (requires ComfyUI v0.26.0+).
Model files (download the ComfyUI-repackaged versions from Comfy-Org/Krea-2):
| Type | File example | Folder |
|---|---|---|
| Diffusion model (DiT) | krea2_turbo_fp8_scaled.safetensors | models/diffusion_models |
| Text encoder | qwen3vl_4b_fp8_scaled.safetensors | models/text_encoders |
| VAE | qwen_image_vae.safetensors | models/vae |
| Style LoRAs (optional) | krea2_darkbrush.safetensors etc. | models/loras |
Recommended settings (per the official krea-2 repository):
| Variant | Steps | CFG | Sampler | Scheduler | |---|---|---|---|---| | Krea 2 Turbo | 8 | 1.0 | euler | simple | | Krea 2 Raw | 52 | 3.5 | euler | simple |
- Krea 2 Turbo is guidance-distilled: negative prompts have no effect at CFG 1.0.
negative_mode="auto"(default) zero-outs the positive as the negative, matching the official template'sConditioningZeroOutpattern and skipping wasted text-encoder work. - Sizes from 1K to 2K are supported. Use
PresetEmptyLatentImage(16ch mode) or the built-inResolutionSelectornode connected to itswidth/heightinputs. - For XY plots with Krea 2, use the
diffusion_modelaxis (thecheckpointaxis only loads full checkpoints). - For negative prompts on Turbo, community nodes such as ComfyUI-krea2-negpip can be used alongside this pack.
Installation
- Navigate to your ComfyUI
custom_nodesdirectory:cd ComfyUI/custom_nodes - Clone this repository:
git clone https://github.com/liz-ils/ComfyUI-LZNodes - Restart ComfyUI.
Usage
Once installed, the nodes can be found in the ComfyUI add-node menu under the MyCustomNodes category (e.g., MyCustomNodes/Loaders, MyCustomNodes/Prompt, MyCustomNodes/Sampling, etc.).
Tip: A great starting point is connecting an EZCheckpointLoader through an LZPipePack to an LZKSamplerDecode, and finishing with LZSaveImageAndLog.
License
This project is licensed under the MIT License - see the LICENSE file for details.
About Third-Party Nodes
Anima Artist Mixer - LZAnimaArtistNode, LZAnimaArtistPack, LZAnimaArtistCrossAttn, and LZAnimaArtistOptions are modified versions of the code from Anima-Artist-Mixer (by An1X3R and 汐浮尘).
- Used under the MIT License:
MIT License
Copyright (c) 2026 An1X3R and 汐浮尘
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.