🎭 SDXL Dual Character LoRA Workflow | Masked Conditioning & Automatic Prompt Splitting
Generate two completely different LoRA characters in the same image with clean character separation and minimal feature bleeding.
This SDXL workflow uses masked conditioning to assign each character to its own side of the image, allowing two independent LoRAs to coexist without competing for attention or contaminating each other's features.
Perfect for character interactions, couples, rival characters, storytelling scenes, and any composition that requires reliable multi-character generation.
✨ Key Features
Two independent LoRA characters in a single image
Automatic left/right character separation
Mask-based conditioning for improved character consistency
Built specifically for SDXL
Single prompt input for a streamlined workflow
Automatic prompt splitting with custom Prompt Splitter node
Dynamic masks that adapt automatically to resolution and aspect ratio changes
No manual mask editing required
⚙️ How the Workflow Works
The workflow is designed around a simple 3-line prompt structure.
Line 1 — Global Scene Prompt
This line contains information shared by the entire image, such as:
Environment
Lighting
Camera settings
Art style
Composition details
Shared scene elements
Example:
cinematic lighting, city street at night, detailed background, masterpiece
Line 2 — Character A
This line contains all information related to the character positioned on the left side of the image.
Example:
<lora:characterA>, red hair, school uniform, smiling
Line 3 — Character B
This line contains all information related to the character positioned on the right side of the image.
Example:
<lora:characterB>, black hair, military outfit, serious expression
🔀 Prompt Splitter System
A custom Prompt Splitter node automatically separates the three input lines into independent prompts:
Global Prompt
Character A Prompt
Character B Prompt
The workflow then combines the global scene information with each character-specific prompt before sending them to their respective conditioning branches.
This allows both characters to share the same environment while maintaining completely independent identities.
🎭 Masked Character Separation
The image is automatically divided into two regions:
Left side → Character A
Right side → Character B
Each region receives its own conditioning and LoRA influence through dedicated masks.
Unlike traditional multi-LoRA workflows, where all LoRAs affect the entire image, this setup restricts each character's conditioning to its assigned area, greatly reducing:
Face mixing
Outfit contamination
Style bleeding
Identity conflicts
📐 Adaptive Resolution Support
The masks are generated automatically and scale with the selected resolution and aspect ratio.
You can freely change image dimensions without needing to recreate or adjust masks manually.
Whether you're generating:
Portraits
Landscape scenes
Wallpapers
Vertical illustrations
the character regions remain properly aligned.
🎯 Ideal Use Cases
Character interactions
Couples
Anime scenes
Storytelling illustrations
Rival characters
Before/after comparisons
RPG party members
Original character showcases
💡 Why Use This Workflow?
Running multiple character LoRAs together often produces inconsistent results because every LoRA influences the entire image.
This workflow solves that problem by combining automatic prompt separation with masked conditioning, allowing each character to occupy its own controlled region while still sharing the same scene.
The result is cleaner generations, stronger character identity preservation, and significantly better multi-character compositions.

