To get the same character in different poses with AI, lock the identity with one source (a LoRA, a face adapter or reference images) and drive each pose with a separate control: a saved OpenPose skeleton through ControlNet, a pose reference image, or a written instruction to an edit model. Build a pose sheet once, change only the pose between runs, and check every output against the original hero image.
To get the same character in different poses with AI, give identity and pose separate carriers: hold the face with one identity source, and drive each pose with its own control, such as an OpenPose skeleton, a pose reference image or a written edit instruction. The pose-lock workflow below saves those controls as a reusable pose sheet, so the pose is the only thing that changes from one image to the next.
Pose inputs, node settings and model capabilities checked October 2026 against ComfyUI's ControlNet and pose ControlNet tutorials, the comfyui_controlnet_aux README, the xinsir OpenPose SDXL card, the Qwen-Image-Edit-2509 and 2511 model cards, Black Forest Labs' single-reference editing guide and FLUX.2 overview, Google's image generation docs and the ComfyUI_InstantID README. This is a documented method, not a scored test of ours.
This tutorial assumes you already have a character: an approved hero image and some way to reproduce the face. If you do not, start with our consistent character AI guide, which compares the identity methods. This page is about what happens next, when the face is right and every shot is the same front-facing portrait.
What you will have at the end
A folder of saved pose controls, one identity source that does not change, and a routine that turns each new outfit or location into a full set of angles and framings.
- An approved hero image of an original AI persona or your own face
- One identity source chosen: a character LoRA, a face adapter, or two to four approved reference views
- A fixed identity block for the prompt: age range, hair, eyes, two distinguishing marks
- A route chosen from the table below: ControlNet locally, or an edit model
- Pose sources you have the rights to: your own photos, licensed stock or a posed 3D figure
- Your output aspect ratio decided, so skeletons can be cropped to match
- A folder structure for the pose sheet and for each finished set
Why the face changes when the pose changes
Asking for a new pose in the prompt alone tells the model to redraw the whole person. The pose changes, and so does everything that was only loosely pinned, the face first. The fix is structural: one input that carries who the person is, and a different input that carries where the limbs go.
- 01Identity source
LoRA, face adapter or reference images. Fixed for the whole set
- 02Pose sheet
Saved skeletons or pose references, named by group
- 03Pose control
ControlNet, a keypoint map or a pose reference feeds one pose in
- 04Generation
Identity block plus the outfit and scene for this set
- 05Face pass
Re-render small faces with the same identity source
- 06Review
Against the hero at full size. Reject, never repair by chaining
ControlNet is the clearest example of the split. ComfyUI's docs describe it as conditioning on inputs such as edge maps, depth maps and pose keypoints. A skeleton has no face in it, so it cannot change one. It also cannot keep one, which is why a pose control without an identity source gives you the right pose on a stranger.
Generate character poses with AI: pick a route
Every route below keeps the two carriers separate. They differ in how exact the pose is and how much you have to install.
| Route | Identity comes from | Pose comes from | Runs on | Best for |
|---|---|---|---|---|
| ControlNet OpenPose | A character LoRA or a face adapter | A saved OpenPose skeleton | SD 1.5 and SDXL in ComfyUI | Exact, repeatable poses at volume |
| Qwen-Image-Edit-2509 or 2511 | The hero image as input | A keypoint map as a second image, or a written instruction | ComfyUI or Qwen Chat; Apache 2.0 weights | Exact poses without training anything |
| FLUX.2 or FLUX 3 Image editing | The hero image, plus approved views | A written instruction, or a pose reference among the images | Black Forest Labs API and playground; [klein] locally | Described poses and small moves |
| Nano Banana 2.1 | Up to four character images | A reference image of the pose, per Google | Gemini app, AI Studio, API | No install, complex poses from a reference |
| InstantID keypoints | One face image | A second face image sent to image_kps | SDXL in ComfyUI | Head angle only; research-only checkpoints |
If you have not settled the identity source yet, our face LoRA vs InstantID vs IP-Adapter comparison covers the three local options and their licenses.
Step 1: build the pose sheet
A pose sheet is the set of pose controls you reuse for every shoot. Build it once and the question "what poses should I generate?" never comes up again.
- Collect pose sources. Your own photos, licensed stock, or a figure posed in a 3D or pose-editor tool. Expected result: one clear source image per pose, limbs separated, hands visible.
- Extract the skeletons. In ComfyUI, the comfyui_controlnet_aux pack provides the DWPose Estimator and OpenPose Estimator nodes. Per ComfyUI's docs, an OpenPose map can carry 18 body keypoints, 21 hand keypoints, 70 facial keypoints and 6 foot keypoints. Expected result: a stick figure on black for each source.
- Crop to your output shape. A skeleton made at one aspect ratio and applied at another shifts the figure. Crop the source to 4:5 or 9:16 first.
- Save the skeleton, not the photo. The pack's Save Pose Keypoints node also stores the pose as OpenPose-format JSON. Name files by group and number. Expected result: a folder you can run without the original pictures.
| Group | Skeletons | What it proves |
|---|---|---|
| Turnaround | Front, three-quarter left, three-quarter right, profile | The face holds as the head turns |
| Standing | Hands in pockets, walking toward camera, leaning on a wall | Body proportions at full length |
| Seated | Chair facing camera, cross-legged on the floor, at a cafe table | Bent limbs and a lower camera |
| Close | Shoulders up, one hand near the face | Hands next to the face without merging into it |
That is a 12-pose starter set we suggest, not a tested standard; grow it toward the poses your niche uses. For an edit-model route the sheet is the same list, kept as pose reference pictures or keypoint maps. The grouping and batching details are in the pose-battery section of our ControlNet guide.
Step 2: AI character in different poses, same face, with ControlNet OpenPose
This is the local route for SD 1.5 and SDXL: your identity source on the model, the skeleton on the conditioning.
- 1Render the identity source alone
LoRA or face adapter, identity block, no pose control. Expected result: the face holds in a plain medium shot. Fix it here if it does not.
- 2Load a matching OpenPose model
It must be trained for your base family. For SDXL, xinsir's OpenPose model is Apache 2.0.
- 3Feed one skeleton through Apply ControlNet
Positive and negative conditioning go in and come out. Expected result: the figure takes the skeleton's pose.
- 4Tune strength and end_percent
Strength sets how hard the pose pulls. An end_percent of 0.8 stops the guidance when 80% of diffusion is complete.
- 5Hold everything else still
Same seed, same identity block, same outfit and scene words. Change only the skeleton file.
- 6Add a second pass for detail
ComfyUI's pose tutorial upscales the latent and resamples at a denoise of about 0.4 to 0.6 to keep the first pass's structure.
- 7Run the whole sheet
Queue every skeleton for one outfit. Expected result: a set with the same person in every frame.
- Line thickness matters on SDXL. The xinsir model card warns that results may be unstable with default-width pose lines, because the model was trained on thicker ones.
- Head angle has its own control in InstantID. If InstantID is your identity source, its
image_kpsinput takes a second face image and poses the head from that one. It covers the face only, so body pose still needs OpenPose. - Full-body frames need a face pass. The face covers too few pixels to hold. The detailer chain is in our ComfyUI consistent character workflow.
Step 3: pose reference, same character, with an edit model
Edit models take the character as an image and the pose as an instruction or a second image. No training and, for the hosted ones, no install. Each vendor documents its own way in.
| Model | Documented pose input | What the docs add |
|---|---|---|
| FLUX.2 and FLUX 3 Image | "Change the woman's pose to a model-style pose." and "The woman is now looking at the camera" | Name the details that must stay. Put the image you are editing first and refer to images by number |
| Nano Banana 2.1 | "A studio portrait of [person] against [background], [looking forward/in profile looking right/etc.]" | Include previously generated images in later prompts. For complex poses, include a reference image of the pose |
| Qwen-Image-Edit-2509 | The model card shows a keypoint map as a second input changing a person's pose | Works best with 1 to 3 input images. Version 2511 adds drift mitigation and better character consistency |
- Start every edit from the hero. Attach the approved hero, plus the approved view nearest the new angle. Expected result: the model sees the face it must keep, fresh, on every request.
- State the pose as a fact, then what stays. Black Forest Labs' three-part instruction is: name the target, say what changes, name the details that matter. For example: "she is now sitting on the steps with her elbows on her knees; keep her face, hair and outfit unchanged".
- For an exact pose, add a pose image and give it one job. A keypoint map for Qwen-Image-Edit, a pose reference for Nano Banana or FLUX.2. Say that it supplies the pose and nothing else.
- Change one thing per edit. Pose first, then outfit, then scene, each checked before the next. Expected result: when a face slips, you know which edit did it.
Ready-made wording for each model is in our Gemini face consistency prompts, the Flux character editing recipes and the Qwen Image Edit guide. The AI Influencers program goes deeper where this tutorial stops, with lessons on body consistency with ControlNet, LoRA training for consistent faces and photorealism.
Check every pose against the hero
A pose set is only as good as its weakest frame, and one drifted face in a carousel is the one people notice.
- Changing the pose with prompt words alone
- Editing the last output instead of the hero
- A pose reference with no instruction about what to ignore
- Skeletons at a different aspect ratio from the output
- Changing pose, outfit and scene in one step
- Full-body shots with no face pass
- One identity source, fixed for the whole set
- Every edit branched from the approved hero
- A skeleton, or a pose image told to supply the pose only
- Skeletons cropped to the output shape first
- One change per run, checked before the next
- A detailer that reuses the same identity source
Review at full size, not in the grid: compare eyes, nose, jaw and hairline with the hero. Reject a face that moved; do not fix it by editing the drifted image again, because the next edit inherits the drift. When the same pose fails every time, the cause is usually a missing angle in your references, and our AI face consistency guide walks through the rest.
Troubleshooting
- The pose is ignored. The control model does not match the base family, the skeleton has undetected limbs, or strength is too low. Check all three in that order.
- The body looks stiff. Lower the strength, or end the guidance earlier with
end_percentso the last steps are free to refine. - Hands merge or multiply. The skeleton is ambiguous. Pick a source with separated limbs or correct the skeleton in a pose editor.
- Profile shots become a different person. Your identity source has never seen a profile. Add an approved profile view to the references, or to the LoRA dataset.
- An edit model changes the outfit when you asked for a pose. List what stays. The vendors' own examples do this on every prompt.
- The pose reference's face leaks in. Use a skeleton or keypoint map in place of a photo, or crop the head out of the pose picture.
When posing by reference stops being enough
Reference images and adapters hold a face best near the angles they were given. If your sheet includes profiles, low angles and distance shots, and those are the frames you keep rejecting, the identity belongs in weights. The approved frames from this workflow are already a varied, posed dataset: see the character LoRA dataset checklist for what else it needs.
Two rules apply on every route. Pose sources must be yours to use: Google's docs remind you to have the necessary rights to any image you upload. And the character must be an original persona or your own face. Our AI likeness rights guide covers why a pose workflow is not a way around consent.
Same character, different poses: FAQ
How do I get the same character in different poses with AI?
Give identity and pose separate carriers. Hold the face with one identity source: a character LoRA, a face adapter, or reference images of the character. Then drive each pose with its own control: an OpenPose skeleton through ControlNet, a pose reference image, or a written pose instruction to an edit model. Change only the pose between runs and check each result against the original.
Can I change the pose without changing the face?
Yes, for small moves, with words alone. Black Forest Labs documents edits such as changing a woman's pose to a model-style pose or making her look at the camera, and advises naming the details that must stay. The further the head turns from the angles your references show, the more the face drifts, which is when a pose reference or ControlNet earns its place.
Do I need ControlNet to pose an AI character?
Not always. ControlNet with an OpenPose skeleton is the way to get an exact, repeatable pose on SD 1.5 and SDXL. Edit models offer other routes: Qwen-Image-Edit-2509 accepts keypoint maps natively, Google says to include a reference image of the pose for complex poses in Nano Banana, and FLUX.2 changes a pose from a written instruction.
What is a pose sheet?
A pose sheet is a saved set of pose controls you reuse for every outfit and scene: OpenPose skeleton images for ControlNet, or pose reference pictures for an edit model. You build it once, name the files by group, and run the character through it. Because the skeletons never change, every new set comes out with the same coverage of angles and framings.
Which AI is best for the same character in different poses?
It depends on how exact the pose must be, and we have not scored the tools against each other. For an exact pose locally, use an identity source with an OpenPose ControlNet, or Qwen-Image-Edit with a keypoint map. For a described pose with no install, use Nano Banana or FLUX.2 with the character attached as a reference.
Why does my character's face change when I change the pose?
Usually because the pose was changed through the prompt alone, so the model redrew the whole person. Other causes: the new angle is one your references never showed, the face is too small in a full-body frame, or you edited the last output and not the original. Use a pose control, add a reference near the new angle, and add a face pass for wide shots.
Can I use a photo of a real person as a pose reference?
Only one you have the rights to, and take the skeleton, not the picture. Google's image docs say to make sure you have the necessary rights to any image you upload. Extract an OpenPose skeleton and discard the photo, or use your own photos, licensed stock or a posed 3D figure. Never use a pose workflow to recreate a real person.
The poses are locked. Now shoot the whole feed.
AI Influencers, included in All Access, covers the build around this workflow: creating the persona, LoRA training for consistent faces, body consistency with ControlNet, photorealism and image-to-video pipelines, with the other three programs, weekly coaching and the private community in one subscription.
Start with the identity block
Write the fixed description every pose prompt reuses with the free generator, then follow the free Telegram channel for new pose and character workflows.