Nodes/RegioCraft/RegioCraft (Regional Multi-LoRA + Ref Lock)
ComfyUI Node

RegioCraft (Regional Multi-LoRA + Ref Lock)

RegioCraft: unlimited-region character LoRA/LoKr masking, sparse-token hook, ramp/warmup scheduling, attention isolation, reference-image identity lock, and optional per-region text conditioning, all in one node.

By zeus-onl·Created 27 days ago·Updated 3 days ago· 6
RegioCraft (Regional Multi-LoRA + Ref Lock)
  • model
  • clip
  • bboxes
  • vae
  • model
  • clip
  • mask_preview
  • info
  • conditioning
canvas_width1024
canvas_height1024
regions_json[ {"lora": "None", "strength": 1.2, "enable": true, "ref_image": "", "prompt": "", "trigger": "", "x": 0.0, "y": 0.0, "w": 0.5, "h": 1.0}, {"lora": "None", "strength": 1.2, "enable": true, "ref_image": "", "prompt": "", "trigger": "", "x": 0.5, "y": 0.0, "w": 0.5, "h": 1.0} ]
base_prompt
text_strength1.00
auto_activate_from_promptfalse
split_modemanual
seam_feather0.08
blend_override0.00
sparse_threshold0.010
steps_without_applying0
lora_ramp_calls0
attention_isolation0.0
ref_strength0.00
ref_start_percent0.00
ref_end_percent0.60
ref_feather0.06
identity_providernone
identity_ref_boost4.0
base_strength1.00
region_prompt_1
region_prompt_2
region_prompt_3
region_prompt_4
region_prompt_5
region_prompt_6
region_prompt_7
region_prompt_8
CategoryRegioCraft

Inputs (32)

NameTypeDefaultDescription
modelMODEL
clipCLIP
canvas_widthINT102464–16384
canvas_heightINT102464–16384
regions_jsonSTRING[ {"lora": "None", "strength": 1.2, "enable": true, "ref_image": "", "prompt": "", "trigger": "", "x": 0.0, "y": 0.0, "w": 0.5, "h": 1.0}, {"lora": "None", "strength": 1.2, "enable": true, "ref_image": "", "prompt": "", "trigger": "", "x": 0.5, "y": 0.0, "w": 0.5, "h": 1.0} ]JSON array, in box order: {"lora":"file.safetensors", "strength":1.2, "enable":true, "ref_image":"uploaded.png", "prompt":"optional per-region text"}. Unlimited rows. LoRA and LoKr files both work.
base_promptSTRINGOverall scene prompt (composition, setting, lighting). Combined with each region's own text (if any) for that region's masked conditioning. Also scanned for trigger names if auto_activate_from_prompt is on.
text_strengthFLOAT1.000–2Blend strength of each region's masked text conditioning.
auto_activate_from_promptBOOLEANfalseIf a region has a 'trigger' name set, that region is only active when its trigger word appears (case-insensitive) in base_prompt -- the region's own enable toggle is ignored in that case. Regions with no trigger set keep using their enable toggle as normal (handy for LoRAs that don't need a trigger word to activate).
split_modeCOMBOmanual4 options: manual, bbox, auto_vertical, auto_horizontal
seam_featherFLOAT0.080–0.5
blend_overrideFLOAT0.000–1
sparse_thresholdFLOAT0.0100–0.2Skip LoRA/LoKr compute on tokens below this mask value. 0=safest/slowest.
steps_without_applyingINT00–64Let the base model establish composition for N model calls first.
lora_ramp_callsINT00–640=off. 1=50->100%, 2=33->66->100%, relative to selected strength.
attention_isolationFLOAT0.00–120=off. >0 dampens cross-region attention (not just the LoRA delta). Try 4-8.
ref_strengthFLOAT0.000–1Per-step pull toward each region's reference image. 0=off.
ref_start_percentFLOAT0.000–1
ref_end_percentFLOAT0.600–1
ref_featherFLOAT0.060–0.5
identity_providerCOMBOnonePhase 3 (2026-08-02): 'none' = old behavior, unchanged. 'krea2edit' runs the FULL diffusion forward through comfyui-krea2edit's trained identity-preservation path (replaces this node's normal forward ONCE per model call, never once per region) for any active region that has a ref_image set. Region-LoRA hooks and attention isolation stay active around that call -- RegioCraft remains the sole owner of the model wrapper. Capped at 2 simultaneous refs (that LoRA's trained limit); extra ref_image regions beyond that are logged and ignored, not an error. Requires the comfyui-krea2edit custom node + its LoRA installed, and a 'vae' connected to this node. EDIT INSTRUCTIONS (2026-08-18): if a region also has its own 'prompt' text filled in alongside ref_image, that text is grounded on the ref image (Qwen3-VL, training-matched template) and used as an actual edit instruction, e.g. 'give him a hooked nose' -- no extra toggle needed, ref_image+prompt together IS the signal. Regions with only ref_image (no prompt) keep doing pure identity/face-lock as before. Only ONE combined instruction applies per model call -- if several regions have both ref_image and prompt at once, their texts are concatenated into a single instruction, not applied separately per region.
identity_ref_boostFLOAT4.00–1000Reference-fidelity dial passed to the identity provider (Krea2Edit's ref_boost). Ignored if identity_provider='none'. 1.0=off, ~4.0=strong likeness (provider's own recommended default), >10=over-copy risk.
bboxesoptBOUNDING_BOX
vaeoptVAERequired to enable reference-image regions.
base_strengthoptFLOAT1.00-10–10
region_prompt_1optSTRINGConnect an external text node here to drive region 1's prompt dynamically (e.g. a wildcard/random prompt generator). Overrides whatever's typed into region 1's own prompt field when connected.
region_prompt_2optSTRING
region_prompt_3optSTRING
region_prompt_4optSTRING
region_prompt_5optSTRING
region_prompt_6optSTRING
region_prompt_7optSTRING
region_prompt_8optSTRINGRegion 9+ have no dedicated input socket (fixed cap of 8) -- type their prompts directly into each region's own prompt field.

Outputs (5)

NameTypeDescription
modelMODEL
clipCLIP
mask_previewIMAGE
infoSTRING
conditioningCONDITIONING