Skip to main content

Same Character, Different Poses: The Pose-Lock Workflow

Same character, different poses with AI: the pose-lock workflow with a saved pose sheet, OpenPose ControlNet, edit-model chains and checks that catch drift.

Founder of IImagined.ai

Published
Oct 11, 2026
Reading time
12 min read
Quick answer

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.

Pre-flight
  • 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.

The pose-lock pipeline
  1. 01
    Identity source

    LoRA, face adapter or reference images. Fixed for the whole set

  2. 02
    Pose sheet

    Saved skeletons or pose references, named by group

  3. 03
    Pose control

    ControlNet, a keypoint map or a pose reference feeds one pose in

  4. 04
    Generation

    Identity block plus the outfit and scene for this set

  5. 05
    Face pass

    Re-render small faces with the same identity source

  6. 06
    Review

    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.

RouteIdentity comes fromPose comes fromRuns onBest for
ControlNet OpenPoseA character LoRA or a face adapterA saved OpenPose skeletonSD 1.5 and SDXL in ComfyUIExact, repeatable poses at volume
Qwen-Image-Edit-2509 or 2511The hero image as inputA keypoint map as a second image, or a written instructionComfyUI or Qwen Chat; Apache 2.0 weightsExact poses without training anything
FLUX.2 or FLUX 3 Image editingThe hero image, plus approved viewsA written instruction, or a pose reference among the imagesBlack Forest Labs API and playground; [klein] locallyDescribed poses and small moves
Nano Banana 2.1Up to four character imagesA reference image of the pose, per GoogleGemini app, AI Studio, APINo install, complex poses from a reference
InstantID keypointsOne face imageA second face image sent to image_kpsSDXL in ComfyUIHead angle only; research-only checkpoints
Which route fits the shot
Local ComfyUI
An edit model with a written instruction: state the new pose, then what stays
Identity source plus an OpenPose ControlNet and a saved skeleton, or Qwen-Image-Edit with a keypoint map
Hosted, nothing to install
Nano Banana or FLUX.2 with the character attached and the pose described in words
The same hosted models with a pose reference image added, and an instruction to copy only the pose
An approximate pose is fine
The exact pose matters

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
GroupSkeletonsWhat it proves
TurnaroundFront, three-quarter left, three-quarter right, profileThe face holds as the head turns
StandingHands in pockets, walking toward camera, leaning on a wallBody proportions at full length
SeatedChair facing camera, cross-legged on the floor, at a cafe tableBent limbs and a lower camera
CloseShoulders up, one hand near the faceHands 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.

One skeleton in, one posed image out
  1. 1
    Render 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.

  2. 2
    Load a matching OpenPose model

    It must be trained for your base family. For SDXL, xinsir's OpenPose model is Apache 2.0.

  3. 3
    Feed one skeleton through Apply ControlNet

    Positive and negative conditioning go in and come out. Expected result: the figure takes the skeleton's pose.

  4. 4
    Tune 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.

  5. 5
    Hold everything else still

    Same seed, same identity block, same outfit and scene words. Change only the skeleton file.

  6. 6
    Add 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.

  7. 7
    Run 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_kps input 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.

ModelDocumented pose inputWhat 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-2509The model card shows a keypoint map as a second input changing a person's poseWorks best with 1 to 3 input images. Version 2511 adds drift mitigation and better character consistency
  1. 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.
  2. 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".
  3. 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.
  4. 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.

What drifts and what holds across poses
Drifts
  • 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
Holds
  • 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_percent so 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.

All Access · all four programs · $99/mo

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 All Access — $99/mo →30-day money-back guarantee
Free

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.