Anima Regional LoRA
while scrolling in X I saw some share their Regional LoRA techniques, many of those workflows were over complicated and uses outdated methods sometimes.
I remember when I was trying to do this 2 years ago it was not trivial. so I decided to upload multiple workflow examples avoiding custom nodes as much as possible.
there are many good Regional LoRA workflows out there and I am sure they are way better than mine. but mine is meant to be simple, understandable and uses native comfyui nodes.
What You Need
Anima base can be replaced with your desired model, even Illustrious XL if you know what you are doing.
Speed LoRA can also be skipped but honestly you should use speed LoRA even with high end pc, the speed is too good to pass and this one even improve quality over base.
and for SAM3 example you need the Comfy-Org SAM3.1 model
and finally for the upscale example ComfyUI_UltimateSDUpscale.
and all these workflows were built and tested specifically for this comfyui version.
⚠️ Tip: Add --disable-dynamic-vram to your ComfyUI launch flags. On my RTX 4090, without it generation is about 50% slower. Your mileage may vary but it's worth trying because you will need generation Speed.
The Method: LoRA Hook
The main method used across all workflows is ComfyUI's native LoRA Hook node.
Think of it like Regional Conditioning, but instead of only separating conditions (prompt) it also applies a separate LoRA to each region. For simplicity, assume the KSampler generates one image for each regional condition before giving the final image. As a general rule I advise having one region per character plus one extra for the background — so 3 regions for 2 characters, 4 for 3 characters, and so on.
Yes, this multiplies generation time with each region added. But in my testing this is by far the best method for regional LoRA, especially when characters overlap. The quality difference is worth it and on top of that it works perfectly with ultimate sd upscale.
Beyond the conditioning setup, the real challenge is how you define the regions — and that's exactly why there are 4 workflows and 3 masking approaches here.
Create Hook LoRA:

remember to choose the LoRAs in the Create Hook LoRAs. the weights work slightly different from usual btw, so you might need to go slightly up or down.
Prompting Advice:
all workflows use 3 prompt sections
1- General prompts: here you write the prompts for the style, background and clothing and action if they are the same between the 2 character
2- girl left: here you write the activation tags for left Character LoRA and clothing, action and body type if they are not the same between characters.
3- girl right: here you write the activation tags for right Character LoRA and clothing, action and body type if they are not the same between characters.
example
General prompts: masterpiece, 2girls. side-by-side, shoulder to shoulder, outdoors, grass field, sunset, summer dress, sun hat, spaghetti strap, white dress, full body,
girl left: [character tags], looking back, light smile, from behind, medium breasts, cleavage
girl right: [character tags], looking to the side, seductive smile, from side, small breasts,
this will produce results like this

Workflow Breakdown
1- RegionalLoraAnima5050
The simplest entry point. The canvas is automatically split 50/50 left and right — no mask drawing, no external files. Two EmptyImage nodes create a pure black and white image, stitched together and converted to masks dynamically. Resolution-aware, fully native, zero custom nodes. Just load your models, write two prompts, and generate. Best for symmetrical side-by-side compositions.
this method will only produce 2 regional conditions so no background condition.
2- RegionalLoraAnimaReference
Want more control over character placement? Load your reference image in the LoadImage nodes, right-click to open the mask editor, and draw around each character manually. Then the workflow will merge the 2 masks and invert them for the background mask. this will result in 3 regional conditions.
I advise not drawing precise mask and give more breathing room to each character.
NOTE: The masks won't force the model to generate inside them, the model can generate the characters despite the regional condition, if you want bizarre poses try to use controlnet as well.
I have provided the reference image I used for the example and even the reference image with the mask as alpha region, if you want to test load the LeftMask.png in Load Image (as Mask) - Left node and the RightMask.png in Load Image (as Mask) - Right then make sure you connect the mask output of each node to the appropriate reroute node.

3- RegionalLoraAnimaSam3
Generate Draft image first using the General prompt. and from the draft we use Sam3.1 to generate mask for each character. Each mask is grown by 64px for breathing room, then the other character's original mask is subtracted to prevent overlap. and then we use this mask for the regional condition.
4- UpscaleRegionalLoraAnimaSam3
This is the SAM3 workflow with upscaling added on top. After generating the final image with both character LoRAs applied, the workflow re-runs SAM3.1 to re-mask the characters — because the composition likely shifted from the draft. Fresh masks are then used to create regional conditions again before feeding into Ultimate SD Upscale. This workflow is SLOW. Really SLOW. But honestly, worth it to see your waifus in 4K.
Notes:
These workflows are basic. use your logical mind to utilize those techniques in more advanced workflows.
Those Workflows were tested in comfyui release v0.24.0. so I apologize if they don't work in older versions. the workflows were tested in RTX 4090, RTX 5070 Ti and rx 7900 xtx. I am not sure if they will work in 8gb vram. if you tested and it work please tell me!
If you want to add more LoRA to each region (each region uses a character LoRA and style LoRA as well) simply connect another create LoRA hook node in serious like the following image.

Description
Comments (6)
Its a bit slow, but this is amazing for stopping the bleed over of character.
Would this work with other models like ZIT? Also is there a way to use style loras for the second pass? Im disabling the character lora hooks when using vanillla characters, but if I try using anything but a character lora, I get a mat error.
It is slow because it run the model for every region per step, see every region denoising result and merge them before going to the next step. this is basically running the model 3 times for 3 region and also mean we have 3 version of the model living in the memory in case each uses different LoRA.
I used it for SD15, SDXL and now anima so this should work in theory with ZIT. weather the LoRA is character LoRA or style LoRA it is the same architecture I see no reason why it would give an error. usually mat error for using a LoRA not compatible with the model. share which LoRA give you the error and I will investigate.
@TOF_enjoyer ok, not sure why it wasnt working, but I think I got it. But it was one of the photorealism loras. I also figured out how to add extra loras by using the MO hook lora.
@Starry_Eyes glad to know it works now, mat error is usually a mismatch in the model and LoRA dimension so most of the time you are using wrong LoRA for the model. SDXL LoRA for Anima for example.
to add extra LoRAs for each region you simply just connect another LoRA hook node, will add it to the notes. also MO means model only, most LoRAs train on the model and freeze the text encoder. but some train on both, even if the LoRA did not train the text encoder comfy won't throw an error when connecting with a LoRA only trained on model so I always use the nodes that load both.
@TOF_enjoyer Bit of a request, do you think you could make a simple inpainting workflow? So far I havn't found any that dont use a bunch of custom nodes.
@Starry_Eyes you can do easy inpainting with comfyui default nodes but usually with inpainting you want to mimic A1111 inpaint mask only which requires at least 1 costume node in particular this one https://github.com/lquesada/ComfyUI-Inpaint-CropAndStitch










