lzits Nodes
ComfyUI custom nodes for text/string manipulation, LoRA selection, image outpainting, YOLO object detection, and interactive bounding box drawing for object-move workflows.
Nodes (16)
Drag two boxes and move an object
Assemble the JSON that Bernini actually eats
The knobs that decide what Bernini renders
Turn Bernini's file path back into a real image
One node to hold your whole Bernini environment
The node that actually runs Bernini
A node that prints the setup commands you were about to Google
Fill the new canvas with a color
Pick one prompt out of a batch
One LoRA, seven strengths, seven outputs
The Bernini conditioning node that does nothing on mainline ComfyUI (on purpose)
Turn 'person' into a bounding box
Stick a suffix onto your prompt
Stick a prefix onto your prompt (great for LoRA triggers)
One prompt in, a batch of prompts out
Let YOLO find the objects so you don't have to
lzits-nodes
A collection of custom nodes for Comfyui
Included Nodes
- String Splitter
- String Appender (Suffix)
- String Prepender (Prefix)
- Index Picker
- LoRA Selector Multi-Output
- Image Outpaint (Color Canvas)
- Bernini Model Config
- Bernini Generation Settings
- Bernini Case Builder
- Bernini Run Single GPU
- Bernini Conditioning (Kijai Branch)
- Bernini Load Output Image
- Bernini Setup Commands
Image Outpaint (Color Canvas)
This node lets you:
- Upload/load an image directly in the node UI.
- Expand the canvas on left/right/top/bottom without scaling the original image.
- Fill new outpaint regions with a chosen color (
#RRGGBB,#RGB,r,g,b, or basic names likewhite). - Output a mask where
1.0is the new outpaint area and0.0is the original image.
Bernini nodes
Adds first-pass ComfyUI wrappers for ByteDance's Bernini-R renderer from https://github.com/bytedance/Bernini.
The layout now follows the Kijai/WanVideoWrapper style more closely: small typed helper nodes feed a runner node, heavy model code is not imported at ComfyUI startup, widgets have tooltips/descriptions, and the subprocess runner streams logs instead of waiting silently.
Recommended graph:
Bernini Setup Commands -> install upstream assets manually, then wire Bernini Model Config + Bernini Case Builder + Bernini Generation Settings into Bernini Run Single GPU. For one-frame/image results, connect the runner's output_path to Bernini Load Output Image to get a normal ComfyUI IMAGE tensor.
Bernini Setup Commands
Outputs copy/paste setup commands to clone Bernini, install its requirements, and download ByteDance/Bernini-R-Diffusers.
Bernini currently wants Python 3.11, CUDA 12.4, PyTorch 2.5.1+cu124, and a strong CUDA GPU; H100-class hardware is recommended by the upstream repo.
Bernini Model Config
Bundles repo path, Python executable, model config directory, optional high/low checkpoint paths, and optional env vars into a typed BERNINI_CONFIG object.
This mirrors Kijai's loader/config nodes: set model/env paths once, connect them into the runner, and keep the runner less cluttered.
Bernini Generation Settings
Bundles frame count, size, steps, seed, fps, guidance mode, and Bernini omega/eta/flow-shift values into a typed BERNINI_GENARGS object.
Bernini Case Builder
Builds a Bernini case JSON object with task_type, guidance_mode, prompt, media paths, and output path. It outputs both plain strings and a typed BERNINI_CASE object for cleaner graphs.
Bernini Run Single GPU
Runs upstream infer_single_gpu.py in a subprocess so ComfyUI can still start even if Bernini dependencies are missing.
Prefer connecting:
bernini_configfrom Bernini Model Config.bernini_casefrom Bernini Case Builder.generation_argsfrom Bernini Generation Settings.
Fallback widgets are still present for quick one-node tests. The runner supports dry_run to build the command/case without launching Bernini, plus extra_args for upstream CLI flags that are not exposed yet. Relative outputs are resolved under ComfyUI's output directory when available, output folders are created automatically, and timeout handling kills/reaps hung upstream processes.
Bernini Load Output Image
Loads a generated .png, .jpg, .jpeg, or .webp output path into a ComfyUI IMAGE tensor so normal Preview/Save Image nodes can consume Bernini t2i/i2i results. Leave video .mp4 outputs as path strings for video-specific helper nodes.
Bernini Conditioning (Kijai Branch)
Optional native-conditioning bridge based on Kijai's ComfyUI/tree/bernini branch. It accepts positive/negative conditioning, a VAE, optional source/reference video/images, and emits context_latents plus a matching Wan latent. This only changes model behavior when your ComfyUI build understands context_latents (Kijai's Bernini branch or a future upstream equivalent); on normal mainline ComfyUI it is present for compatibility but the core Wan model may ignore that extra conditioning.
For text-to-image, use task_type=t2i, num_frames=1, and a .png output path. For video, use one of the video task types, increase num_frames, and use a .mp4 output path.