Instructions to use nhathoangfoto/Flux.2-Klein-9B-MatchingPose with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use nhathoangfoto/Flux.2-Klein-9B-MatchingPose with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("black-forest-labs/FLUX.2-klein-base-9B", dtype=torch.bfloat16, device_map="cuda") pipe.load_lora_weights("nhathoangfoto/Flux.2-Klein-9B-MatchingPose") prompt = "matchingpose9b — cycle through: face reference → mannequin pose → final output" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
- Local Apps
- Draw Things
🧍 Flux.2-Klein-9B-MatchingPose
A LoRA adapter for FLUX.2 Klein 9B that transfers any mannequin pose reference onto a character subject — producing perfectly pose-matched characters while preserving the subject's identity, face, and style.
Designed as the companion model to Flux.2-Klein-9B-Mannequin — together they form a complete pose-transfer and character-consistency pipeline.
☕ Support My Work
If this LoRA helps your projects, please consider supporting continued development and new model releases.
Every contribution directly funds training compute, dataset curation, and the release of new open-source LoRAs.
For custom LoRA training, advanced ComfyUI workflow development, or collaboration:
📱 WhatsApp: +84947397868
💬 Telegram/Discord: nhathoangfoto
🐦 X: https://x.com/NhatPhoto
📘 Facebook: https://www.facebook.com/nhathoangfoto
Powerful local hardware, ready for any complex project: 🚀 RTX 5090 | RTX Pro 6000 🛠️
🖼️ Examples
Case 1 — complex pose
Case 2 — base pose
Left: character reference (face/identity). Middle: mannequin pose reference (generated by the companion Mannequin LoRA). Right: final output — the character replicating the exact mannequin pose.
✨ What this LoRA does
- Transfers any pose from a mannequin reference onto a character with high pose fidelity
- Preserves the character's identity, face, and style from the face reference
- Works with any input face — photographs, AI-generated characters, illustrations
- Matches limb position, body orientation, and overall composition exactly
- Produces natural skin, clothing, and lighting in the output — not a stiff mannequin render
🎯 Why use it
Pose transfer in FLUX.2 is challenging because most methods either:
- Lose the character's identity when forcing a pose (ControlNet drift)
- Fail to match the pose accurately when using only text prompts
- Require complex multi-ControlNet setups that are slow and unreliable
MatchingPose LoRA solves this by using a mannequin as a clean, identity-free pose anchor. Since the mannequin encodes only pose and proportions (no face, no clothing bias), the character LoRA can fill in identity cleanly without pose drift.
🔗 Complete Workflow — Paired with Mannequin LoRA
This LoRA is the second stage of a two-stage pipeline with Flux.2-Klein-9B-Mannequin:
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Real Reference │ → │ Mannequin LoRA │ → │ Pose Template │
│ (any photo) │ │ (stage 1 LoRA) │ │ (faceless body) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐ ┌────────────────────┐ ┌──────────────┐
│ Character LoRA / │ → │ MatchingPose LoRA │ → │ Final Output │
│ Reference Face │ │ (this model) │ │ (your char, │
└──────────────────┘ └────────────────────┘ │ same pose) │
└──────────────┘
The two-stage pipeline guarantees pose consistency across characters — feed any real photo in, get any character out, same pose.
📋 Example Workflow
Complete ComfyUI workflow example showing the Mannequin + MatchingPose LoRA chain in action.
🎯 Trigger Word
matchingpose9b
This is the primary trigger for the LoRA. Place it at the beginning of your positive prompt to activate the pose-matching behavior.
Example Prompt Structure
matchingpose9b, a young woman with long brown hair, wearing a white dress,
matching the reference pose, studio lighting
matchingpose9b, a man in a black suit, sitting on a stool,
matching the mannequin pose, natural lighting
💡 Tips & Prompting Guide
1. Describe the Character, Not the Pose
Let the mannequin reference handle the pose. Your prompt should focus on who the character is — their appearance, clothing, and style. Describing the pose in text can conflict with the reference.
Good:
matchingpose9b, a young asian woman with black hair in a ponytail,
wearing red athletic wear, studio background
Avoid (redundant pose description):
matchingpose9b, a woman squatting with hands on knees, looking up...
2. Use Clean Mannequin References
For best results, generate your pose reference using the companion Mannequin LoRA. Clean, isolated mannequin images on white backgrounds give the sharpest pose transfer.
3. Match Subject Gender / Age
Make sure your character description matches the body type of the mannequin reference (adult male mannequin → adult male character, female kid mannequin → young girl, etc.) to avoid proportion conflicts.
4. Recommended Settings
- LoRA Strength:
0.9 – 1.1— matching pose benefits from slightly stronger activation - Inference Steps: 4 steps for distill and 20 steps for Base Model
- Guidance Scale:
1 – 4.0
5. Two-Stage Workflow for Best Results
- Stage 1: Take your real/reference photo → apply Mannequin LoRA → get clean mannequin pose
- Stage 2: Feed mannequin pose + character reference → apply MatchingPose LoRA → final output
This two-stage approach produces far better results than trying to transfer pose directly from the real reference (which carries identity bias).
🚀 Usage
ComfyUI
1. Download the .safetensors file
2. Place in: ComfyUI/models/loras/
3. Use the trigger word "matchingpose9b" at the start of your positive prompt
4. Provide the mannequin pose image as the reference input
Diffusers (Python)
from diffusers import Flux2Pipeline
import torch
pipe = Flux2Pipeline.from_pretrained(
"black-forest-labs/FLUX.2-klein-base-9B",
torch_dtype=torch.bfloat16
).to("cuda")
pipe.load_lora_weights(
"nhathoangfoto/Flux.2-Klein-9B-MatchingPose",
adapter_name="matchingpose"
)
pipe.set_adapters(["matchingpose"], adapter_weights=[1.0])
image = pipe(
prompt="matchingpose9b, a young woman with long black hair, wearing casual clothes, studio lighting",
num_inference_steps=28,
guidance_scale=3.5,
).images[0]
⚠️ Limitations
- Requires mannequin reference: works best when paired with clean mannequin pose input. Real photos as pose reference may leak identity features into the output.
- Extreme poses: acrobatic or heavily contorted poses reduce transfer accuracy.
- Face/hand detail: faces and hands may need secondary fix passes at high resolution.
- Multi-subject scenes: trained primarily on single-subject images. Multi-person inputs may produce inconsistent pose matching.
- Body proportion mismatch: if the character description implies a significantly different body type than the mannequin (e.g., child character + adult mannequin), proportions may normalize toward the mannequin.
📄 License
Released under Apache 2.0. You are free to use this LoRA for personal, research, and commercial purposes.
The base model (FLUX.2 Klein Base 9B) has its own license — please review the FLUX.2 Klein Base 9B license terms for base-model usage conditions.
🙏 Credits
- Base Model: FLUX.2 Klein Base 9B by Black Forest Labs
- Training Framework: ai-toolkit by Ostris
- Author: nhathoangfoto — JH AI Studio
- Companion LoRA: Flux.2-Klein-9B-Mannequin
☕ Enjoying this LoRA?
Your support keeps new models coming. Even a small tip makes a real difference for independent open-source AI work.
**💖 Donate via PayPal**
Thank you for supporting independent AI research! 🙏
If you find this LoRA useful, please ❤️ like the model and share your creations in the Community tab!
- Downloads last month
- 3,074
Model tree for nhathoangfoto/Flux.2-Klein-9B-MatchingPose
Base model
black-forest-labs/FLUX.2-klein-base-9B





