A character reference sheet (also called a model sheet or turnaround) shows the same character from several angles in a single image. It is what you hand to the next step — an illustrator, a 3D artist, or another AI model that has to keep the character consistent across scenes. Most turnaround prompts put three or four small full-body figures side by side. The layout on this page does something different: it gives half of the canvas to a front portrait, because the face is what later generations most often lose.
The structure is not theoretical. It is the layout behind more than 400 sheets generated in a single day on apimodels.app with gpt-image-2.5-sunburst, at an average of 56 seconds each. We rewrote it in our own words, made the variable parts explicit, and added three original example characters so you can see how each block is meant to be filled.
The face gets half the pixels. On a 2048x1152 sheet the front portrait is roughly 1024 pixels wide, enough for eye shape, skin texture and hairline to survive when you crop it and feed it to another model. In a four-figure row each face is a few dozen pixels tall.
Side and back views cover what the portrait cannot: silhouette, posture, how the garment hangs, and the shoes. Asking for the two full-body figures on the same head and foot lines keeps them at one scale, so proportions read correctly.
The neutral #808080 background and the explicit "no text, no labels" line matter more than they look. Image models love to add captions like "FRONT VIEW" in broken lettering; banning text keeps the sheet clean, and a flat grey background is trivial to remove later.
Write the character as measurable facts in a fixed order: apparent age, height, build, face shape, eyes, nose, lips, skin, hair, demeanour. Vague words like "beautiful" or "cool" give the model nothing to hold constant across panels; "large teal eyes, straight bangs" does.
Give the wardrobe five slots: top, a visible under-layer, bottoms, shoes and exactly one accessory, then end with "No handheld objects, no props." Props are the most common reason figures drift between panels, and the back view shows whatever you forgot to describe.
Rotate the expression in panel 1 rather than leaving it blank. Six that work well: neutral calm, gentle warm, soft thoughtful, focused determined, alert intense, quietly confident. Keep it to one expression per sheet.
Pass the finished sheet as a reference image when you generate scenes: an image edit with gpt-image-2.5, or any video model on apimodels.app that accepts reference images, such as Wan 3.0. Say in the prompt that the reference is a character sheet and that the face, hair and outfit must match it; the large front portrait is what the model locks onto.
Only build a photoreal sheet of a real person with that person’s consent. For original characters, keep the "not resembling any real person" line from preset C in the other styles too.
Billing is resolution tier times quality; the default quality is high. Only successful generations are charged. Use 16:9 sizes — the layout is built for a landscape canvas.
| Tier and 16:9 size | medium | high (default) |
|---|---|---|
| 1K · 1360x768 | $0.020 | $0.030 |
| 2K · 2048x1152 | $0.025 | $0.040 |
| 4K · 3840x2160 | $0.045 | $0.080 |
Template — replace the four [BRACKETED] parts
Character reference sheet of one consistent character on a seamless neutral grey (#808080) studio background, clean editorial layout, landscape composition read left to right, split into three unequal vertical panels: PANEL 1 takes the entire left half of the frame (50% of the width); PANEL 2 and PANEL 3 share the right half at 25% each. Same identity, outfit, lighting and colour grading in every panel. No text, no labels, no logos, no watermark.
PANEL 1 (left half, by far the largest): chest-up portrait, straight front view, head and upper chest filling the panel, eyes in sharp focus with soft catchlights, [EXPRESSION] expression.
PANEL 2 (25% width, narrow): full-body side profile, standing relaxed and straight, arms hanging naturally, weight evenly balanced, head to toe inside the frame with even margins, showing silhouette, posture, garment volume and shoe profile.
PANEL 3 (25% width, rightmost): full-body back view, same standing pose, head to toe, showing how the hair falls, back posture, how the outfit fits from behind, and the shoe heels.
The two full-body figures share one scale: tops of the heads and soles of the feet sit on the same horizontal lines. Exactly one character, no duplicate figures, no other people, no background objects.
CHARACTER (identical in every panel): [age, height, build, face shape, eyes, nose, lips, skin, hair, overall demeanour]
WARDROBE (identical in every panel): [top, visible under-layer, bottoms, shoes, one accessory]. No handheld objects, no props.
LIGHTING & RENDER: [pick one style preset below]Style preset A — photoreal studio
LIGHTING & RENDER: soft even studio lighting, large diffused key light with gentle fill, soft natural shadows, no harsh highlights, true-to-life skin tones, neutral white balance, polished editorial model-sheet look, full-frame camera with an 85mm lens look, deep focus with the whole figure sharp in every panel, realistic pore and fabric texture.Style preset B — anime / manga
LIGHTING & RENDER: clean anime illustration style, crisp black line art with varied line weight, flat cel shading with soft gradient shadows, limited but vivid colour palette, no photorealism, consistent line quality and colour in every panel.Style preset C — 3D animated feature
LIGHTING & RENDER: stylized 3D animated feature-film character render, appealing exaggerated but coherent proportions, soft subsurface skin, detailed hair groom and cloth, soft global illumination with three-point studio lighting and a gentle rim light, deep focus in every panel. Original character design, not resembling any real person or existing copyrighted character.Example fill — photoreal (preset A, expression: focused determined)
CHARACTER (identical in every panel): Woman, apparent age 29, about 1.70 m, lean athletic build, oval face with a defined jaw, straight nose, medium lips, dark brown eyes, light olive skin with a few freckles across the nose, shoulder-length black hair tied in a low ponytail, alert focused demeanour.
WARDROBE (identical in every panel): Fitted charcoal cycling jacket with reflective piping and a high collar; a mustard merino base layer visible at the neck; black slim technical trousers rolled once at the ankle; white and grey trail running shoes; a small orange crossbody bag on one shoulder. No handheld objects, no props.Example fill — anime (preset B, expression: quietly confident)
CHARACTER (identical in every panel): Girl, apparent age 17, about 1.60 m, slim build, heart-shaped face, large teal eyes, small nose, light skin, long silver hair in a high ponytail with straight bangs, calm self-assured demeanour.
WARDROBE (identical in every panel): Navy short haori jacket with white wave pattern at the hem over a white high-collar blouse; pleated dark grey skirt; black knee socks and brown lace-up boots; a red cord tied around the left wrist. No handheld objects, no props.Example fill — 3D animated (preset C, expression: gentle warm)
CHARACTER (identical in every panel): Man, apparent age 64, about 1.66 m, round sturdy build, round face with full cheeks, big bulbous nose, wide smiling mouth, small twinkling brown eyes, warm tan skin with rosy cheeks, thick grey moustache, short grey hair with a bald crown, cheerful kindly demeanour.
WARDROBE (identical in every panel): Flour-dusted white baker's jacket with two rows of buttons; a striped blue-and-white apron tied at the back; loose brown trousers; black clogs; a small wooden pencil tucked behind one ear. No handheld objects, no props.cURL
curl -X POST https://api.apimodels.app/v1/images/generations \
-H "Authorization: Bearer $APIMODELS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-sunburst",
"prompt": "Character reference sheet of one consistent character on a seamless neutral grey (#808080) studio background ... (paste the full template with your CHARACTER, WARDROBE and LIGHTING & RENDER blocks)",
"size": "2048x1152",
"response_format": "url"
}'Python
from openai import OpenAI
import os
client = OpenAI(api_key=os.environ["APIMODELS_API_KEY"], base_url="https://api.apimodels.app/v1")
TEMPLATE = open("character_sheet_template.txt").read() # the template above
def character_sheet(character, wardrobe, render, expression="neutral calm"):
prompt = (TEMPLATE
.replace("[EXPRESSION]", expression)
.replace("[age, height, build, face shape, eyes, nose, lips, skin, hair, overall demeanour]", character)
.replace("[top, visible under-layer, bottoms, shoes, one accessory]", wardrobe)
.replace("LIGHTING & RENDER: [pick one style preset below]", render))
img = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt=prompt,
size="2048x1152", # 2K, $0.04 at the default high quality
response_format="url",
)
return img.data[0].urlOne image that shows the same character from several angles — usually front, side and back — with the same face, outfit and lighting in every view. It is used as the reference that keeps a character consistent across illustrations, 3D models or AI-generated scenes. The template on this page uses a large front portrait plus full-body side and back views.
Name the sheet type first, fix the layout in numbers, then describe the character. The template above says "character reference sheet", splits the canvas 50/25/25, asks for a front portrait, a full-body side profile and a full-body back view, aligns heads and feet, bans text and props, and only then fills in the character, wardrobe and render style.
Models that follow long, structured prompts and render clean layouts. On apimodels.app this template has been run hundreds of times on gpt-image-2.5-sunburst at 2048x1152, at about a minute per sheet; gpt-image-2.5-flare is the faster, more affordable tier for drafts.
Describe the character with concrete, checkable features, limit the outfit to five items with one accessory, forbid props, and repeat "identical in every panel" on both the character and wardrobe blocks. The more specific the description, the less room the model has to change things between panels.
On apimodels.app with gpt-image-2.5-sunburst: $0.04 for a 2K sheet (2048x1152) at the default high quality, $0.025 at medium, $0.08 for 4K high. Failed generations are not charged.
Yes — send your photo to the image edit endpoint with gpt-image-2.5 and use the same template, replacing the character block with "the person in the reference image". Do this only for yourself or for people who have agreed to it.