Image-Text-to-Image
Diffusers
English
lora
flux
flux.2
flux.2-klein
matchingpose
pose-transfer
character-consistency
image-to-image
text-to-image
Instructions to use Leon1000/Flux.2-Klein-9B-MatchingPose with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use Leon1000/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("Leon1000/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
| license: apache-2.0 | |
| base_model: black-forest-labs/FLUX.2-klein-base-9B | |
| base_model_relation: adapter | |
| tags: | |
| - lora | |
| - flux | |
| - flux.2 | |
| - flux.2-klein | |
| - matchingpose | |
| - pose-transfer | |
| - character-consistency | |
| - diffusers | |
| - image-to-image | |
| - text-to-image | |
| language: | |
| - en | |
| pipeline_tag: image-text-to-image | |
| library_name: diffusers | |
| instance_prompt: matchingpose9b | |
| widget: | |
| - text: "matchingpose9b — cycle through: face reference → mannequin pose → final output" | |
| output: | |
| url: examples/1a.jpg | |
| - text: "matchingpose9b, a young woman matching the mannequin pose, studio lighting" | |
| output: | |
| url: examples/1c.png | |
| - text: "matchingpose9b, a man matching the mannequin pose, studio lighting" | |
| output: | |
| url: examples/1c.png | |
| # 🧍 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**](https://huggingface.co/nhathoangfoto/Flux.2-Klein-9B-Mannequin) — together they form a complete **pose-transfer and character-consistency pipeline**. | |
| --- | |
| <div align="center"> | |
| ### ☕ Support My Work | |
| If this LoRA helps your projects, please consider supporting continued development and new model releases. | |
| [](https://paypal.me/nhathoangfoto) | |
| **→ [paypal.me/nhathoangfoto](https://paypal.me/nhathoangfoto) ←** | |
| *Every contribution directly funds training compute, dataset curation, and the release of new open-source LoRAs.* | |
| </div> | |
| --- | |
| 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 | |
| | Input Face | Mannequin Pose | → Output | | |
| |:---:|:---:|:---:| | |
| |  |  |  | | |
| ### Case 2 — base pose | |
| | Input Face | Mannequin Pose | → Output | | |
| |:---:|:---:|:---:| | |
| |  |  |  | | |
| *Left: character reference (face/identity). Middle: mannequin pose reference (generated by the companion [Mannequin LoRA](https://huggingface.co/nhathoangfoto/Flux.2-Klein-9B-Mannequin)). 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**](https://huggingface.co/nhathoangfoto/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](https://huggingface.co/nhathoangfoto/Flux.2-Klein-9B-Mannequin). 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 | |
| 1. **Stage 1**: Take your real/reference photo → apply Mannequin LoRA → get clean mannequin pose | |
| 2. **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) | |
| ```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](https://huggingface.co/black-forest-labs/FLUX.2-klein-base-9B) for base-model usage conditions. | |
| --- | |
| ## 🙏 Credits | |
| - **Base Model**: [FLUX.2 Klein Base 9B](https://huggingface.co/black-forest-labs/FLUX.2-klein-base-9B) by Black Forest Labs | |
| - **Training Framework**: [ai-toolkit](https://github.com/ostris/ai-toolkit) by [Ostris](https://ostris.com) | |
| - **Author**: [nhathoangfoto](https://huggingface.co/nhathoangfoto) — JH AI Studio | |
| - **Companion LoRA**: [Flux.2-Klein-9B-Mannequin](https://huggingface.co/nhathoangfoto/Flux.2-Klein-9B-Mannequin) | |
| --- | |
| <div align="center"> | |
| ## ☕ 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**](https://paypal.me/nhathoangfoto) | |
| [](https://paypal.me/nhathoangfoto) | |
| *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!** | |
| </div> |