Body type is the strangest attribute in AI character work. It is the one identity trait that free text can genuinely move — unlike age or eye colour, which a reference will simply refuse to change — and at the same time the one most likely to drift when you were not asking for anything. Both facts have the same cause, and knowing it is most of the fix.
Why build behaves differently from other identity traits
A reference image pins the things it shows unambiguously: face geometry, hair colour, skin tone. Build is only partly visible in a single reference — a head-and-shoulders portrait says almost nothing about shoulder width or height — so the model infers it from context on every run. That inference is what your prompt can steer, and it is also what drifts when your prompt says nothing.
This produces an asymmetry we measured directly. Asking an anchored character to be twenty years older did nothing. Asking for a different hair colour and eye colour did nothing. Asking for a tall athletic build with broad shoulders worked on the first try — and dragged the outfit along with it, replacing long sleeves with a sleeveless cut so the requested arms were visible. The full run is in character consistency is not face consistency.
The three forces fighting your build setting
- The outfit implies a frame. A parka means a broader silhouette; a fitted dress means a narrower one. Change clothes without restating build and the garment wins.
- The pose implies proportions. Crouching, reaching and seated poses compress or stretch the body, and the model re-decides limb length to make the pose read.
- The camera distance sets the budget. In a full-body frame the body occupies most of the pixels and gets fully re-drawn; in a portrait crop build is barely rendered at all, so consecutive full-body and portrait frames can disagree wildly.
Evidence: three builds, one seed, one outfit
Same reference, same pose wording, same tank top and shorts, same fixed seed. The only change between frames is the build clause.

- "slim build" — arrived as asked, and matches the catalogue's default tendency, so it is the least informative of the three.
- "athletic muscular build, broad shoulders, defined arms" — landed hardest: visibly wider shoulders, defined arms and legs. It also shortened the top to expose the midriff, which nothing in the prompt requested. Build changes drag clothing with them.
- "curvy plus-size build, full figure, soft silhouette" — only partly applied. The frame is a little fuller than the slim one, mostly around bust and hips, but it is not a plus-size figure. The default pulled it back.
That asymmetry is the practical lesson: requests toward the catalogue's default apply easily, requests away from it apply weakly. If you want a build the model does not reach for on its own, expect to restate it in every prompt, and expect partial compliance rather than a switch.
One more thing visible in the sheet: the backdrop was specified as a plain neutral grey studio in all three runs and came back as a concrete wall with pipes and plants. That is the same location override that shows up whenever a character has strong scene associations — and a reminder that a fixed seed does not hold the background once the prompt text changes.
Vocabulary that actually lands
Two rules. Be descriptive rather than evaluative, and be specific about the part you care about — "broad shoulders" does more work than "big".
| Phrase | What it moves | Note |
|---|---|---|
| slim build | Overall mass down | Usually the catalogue default already |
| athletic build, defined arms | Shoulders, arm definition | Most reliable in our tests |
| muscular, broad shoulders | Upper body width | Can swap sleeves for sleeveless |
| curvy, full figure | Waist-to-hip ratio, softness | Restate in every prompt or it fades |
| plus-size, soft silhouette | Overall mass up | Applied only partly in our test — restate every time |
| tall, long limbs | Height and proportion | Interacts strongly with pose |
| short, compact | Height down | Prefer 'short' over 'petite' |
A note on that last row, and it is not squeamishness: "petite" reads as an age cue to a lot of models as well as a height cue, and this is a category where you do not want ambiguity anywhere near age. Use "short" when you mean height. Everything generated must be an adult, and the wording should never make that ambiguous.
How to set a build and hold it
Holding a body type across a set
- 1
State the build in the very first frame
Your baseline frame defines the character for every later comparison. If build is unstated there, you have no reference point to judge drift against.
- 2
Restate it in every prompt, verbatim
Copy the clause rather than rephrasing it. 'Athletic build, broad shoulders' and 'muscular and broad-shouldered' are two different inputs to the model.
- 3
Change the outfit and the build clause together
Since garments imply a frame, an outfit change is exactly when build needs restating most. This is the single highest-yield habit here.
- 4
Keep the camera distance constant while you compare
Portrait crops and full-body frames render build at completely different levels of detail. Compare like with like.
- 5
Fix the seed while diagnosing
A fixed seed makes two runs comparable so you can see whether your build clause did anything. Release it once the build is right.
- 6
Check at thumbnail size
Shrink two frames until the face is unreadable. Silhouette is what remains — and what a viewer actually reads first.
What you cannot fix by prompting
- Extreme build changes on a strongly-anchored reference may only partially apply, because the reference pulls the silhouette back.
- The default drift is toward the catalogue's baseline, so an unusual build needs maintenance in every prompt rather than one declaration.
- Consecutive frames at different camera distances will disagree somewhat no matter what you write. Plan a set at one distance, or accept a re-roll when you change it.
If a build problem shows up alongside broken anatomy, that is a different branch — see the diagnostic guide — and if you are tracking which attributes are slipping across a whole set, the 6-scene consistency test scores proportions explicitly.
Frequently asked questions
Can I change a character's body type with a prompt?
Usually yes — build is the identity attribute most responsive to free text. In our tests a build edit applied on the first attempt while age and eye-colour edits on the same character were ignored entirely.
Why does my character's body type keep changing between images?
Because a single reference rarely shows build unambiguously, so the model infers it every run from context — mainly from the outfit and the pose. If your prompt does not state it, something else decides it.
How do I prompt for a curvy or plus-size AI character?
State it descriptively and restate it in every prompt of the set: 'curvy, full figure' or 'plus-size, soft silhouette'. Catalogue defaults skew slim, so a single mention early in a series tends to fade.
Why did my character's clothes change when I changed the build?
Because the model shows what you asked for. Request muscular arms and it may swap long sleeves for a sleeveless cut. Restate the garment together with the build if both matter.
Does the camera angle affect body type consistency?
Strongly. Full-body frames render the body in detail and re-decide proportions; portrait crops barely render build at all. Compare frames at the same distance.
Should I use 'petite' to describe a short character?
Prefer 'short'. 'Petite' carries an age connotation as well as a height one, and in adult AI you never want ambiguity near age. All generated characters must be adults.