varg character design
How to make a character people remember, and keep it the same in every later image and video. Generation runs on varg: the MCP server (https://mcp.varg.ai/mcp, call_tool) or POST https://api.varg.ai/v2/tools/{image|video}/call. Quote prices in credits. Facts marked Tested were run on varg on 2026-10-27.
A default request ("make a beautiful woman", "make a funny old man") gets the model's average person: pleasant, symmetrical, forgettable. Characters that spread have a gap between what people expect and what they see, written in exact, visible details. The prompt is the whole craft: who they are, what their face and body look like, what they wear.
1. Define the character
One line of premise + one archetype + one contrast.
| Part | Example |
|---|
| Premise | "84-year-old Sicilian grandmother who solves everything with a wooden spoon" |
| Archetype | very old · big guy · cringe deadpan · beautiful woman · fitness · absurd hybrid · cartoon |
| Contrast | age vs behaviour (a granny on a scooter), size vs job (a 160 kg florist in a tiny pink apron), seriousness vs costume (a deadpan man on roller skates), object vs life (a T-rex made of bread) |
Pick the category recipe; each has the details, clothing and ready characters for its type:
| Category | Skill | Example |
|---|
| Grandmas and grandpas | varg-character-grandma | Nonna Rosa, 84, leopard housecoat, gold tooth |
| Big guys | varg-character-big-guy | Bruno, 48, 160 kg florist in a tiny pink apron |
| Cringe deadpan characters | varg-character-cringe | Gérard, 61, 2 m tall, mustard corduroy suit, roller skates |
| Very beautiful women | varg-character-beautiful-woman | model looks, real skin, fashion or swimwear editorial |
| Fitness characters | varg-character-fitness | Mara, 31, CrossFit coach, lime sports bra |
| Absurd characters and mascots | varg-character-absurd | Baguettosaurus, Señor Pincho the cactus, Hector the sheep |
| Cartoon sitcom characters | varg-character-cartoon | Gary Pruitt in the yellow 2D sitcom look |
Numbers behind these archetypes (what spread on X and Instagram in 2025–2026, and why): references/archetypes.md.
2. Write the details
The face and body carry identity. Write them as things a camera can see, in this order:
- Age as a number ("84-year-old", not "old"; "26-year-old", not "young").
- Body with visible cues. Numbers alone are under-rendered (Tested: "about 160 kg" came out much lighter until the prompt said "wide round belly that pushes the apron forward, double chin, the apron looks too small on him"). Height needs proportions ("arms hang to mid-thigh, small head for his height") or something to compare in the scene.
- Face, feature by feature: face shape, eyes (shape, colour), brows, nose, lips, jaw, skin tone and texture.
- One signature detail readable at phone size: a gold front tooth, a scar through one eyebrow, curlers under a lace headscarf, a curled moustache. Write it twice (face line and close-ups) and check it: Tested, only Nano Banana 2.1, Seedream 5 Pro and Krea 3 kept a single gold tooth on a sheet; GPT Image 2.5 and FLUX 3 dropped it, Grok made every tooth gold.
- Hair: length, colour, texture, parting, silhouette (hair is the second identity carrier).
- Skin that reads as skin for photoreal people: "visible pores, fine peach fuzz, natural texture, no retouching". See references/realism.md.
- Expression and posture: deadpan, suspicious squint, shy half-smile; hands on hips, stooped, ramrod straight.
Ban list: "beautiful" or "perfect" as quality words, "8k masterpiece", "flawless", a celebrity's name.
3. Dress them
Clothes are the fastest read after the silhouette, and they are what drifts first between shots.
- Garment by garment, with cut, colour, material and fit: "leopard-print quilted housecoat over a plain black dress, beige compression stockings, fluffy red slippers".
- One loud colour against calm pieces (red slippers, lime sports bra, mustard corduroy), with hex codes in the card.
- Fit tells the joke: an apron a size too small, trousers too short showing white socks, a suit too formal for the place.
- One outfit per character. It becomes their uniform in every post; a second look gets its own sheet.
- Unbranded. Brand words draw logos (Tested: "Vespa" put the Vespa wordmark on the scooter; a short gym prompt came back with a real activewear logo). Write "unbranded, no logos".
- For swimwear and sportswear, name the garment exactly ("high-support sports bra and high-waisted 7/8 leggings", "one-piece swimsuit with a high leg cut"): it is also what gets the prompt past filters (references/moderation.md).
4. Keep it in a character card
{
"id": "nonna-rosa",
"premise": "84-year-old Sicilian grandmother who solves everything with a wooden spoon",
"body": "150 cm, sturdy round build",
"face": "deeply wrinkled tanned skin, age spots, one gold front tooth, thick black cat-eye glasses",
"hair": "silver hair in pink foam curlers under a black lace headscarf",
"wardrobe": "leopard-print quilted housecoat over a plain black dress, beige compression stockings, fluffy red slippers",
"signature": "gold front tooth + wooden spoon",
"palette": ["#B08850", "#111111", "#E8C9A8", "#C8102E", "#F2A7C3"],
"style": "photoreal, natural skin texture",
"never_change": ["gold tooth", "cat-eye glasses", "curlers", "leopard housecoat", "red slippers"],
"sheet": { "model_sheet": "<url>", "face": "<url>", "body": "<url>" }
}
Build every prompt from the card, word for word, so the description never drifts.
5. Lock the look in a sheet
Character reference sheet for AI video, flat light-grey studio background, even soft studio light,
no text, no labels, no logos. Top row: three full-body views at the same scale on one ground line:
front, side profile, back, arms relaxed, empty hands. Bottom row: three large head-and-shoulders
close-ups: front, three-quarter, side profile. The same <person> in every panel: identical face,
hair, body, outfit and proportions. CHARACTER: <details>. WARDROBE: <clothing>. <STYLE>.
| Character | Model | Credits |
|---|
| Photoreal person | seedream_5_pro (native 2K, best skin) | 7 |
| 3D, cartoon, clay, creature | nano_banana_2_1 | 6 |
| Labelled sheet for a client | gpt_image_2_5 or nano_banana_2_1 | 24 / 6 |
Swap the bottom row for expressions when the character has to act. More layouts (from photos, expression, outfit, prop, labelled bible): references/sheet-prompts.md.
Then cut two crops: a face close-up and a full-body front (ffmpeg -i sheet.jpg -vf "crop=iw/3:ih/2:0:ih/2" face.png and crop=iw/3:ih/2:0:0 for the body), upload them (create_upload), and keep the URLs in the card.
6. Reuse it
- New images: pass the crops (or the whole sheet) in
files to nano_banana_2_1 and describe only what changes: "First reference image is Nonna Rosa's face, second is her full outfit. Show this exact woman riding a red vintage scooter through a narrow Palermo street, wooden spoon raised." Tested: both the sheet and the crops kept her identity.
- Video, safest: make the scene still first (6 credits), approve it, then animate that one still with
kling_v4 (Tested: most faithful, 83 credits for 5 s). Never pass the sheet itself as a first frame.
- Video, reference mode:
seedance_2_5 with @image1 = face crop, @image2 = body crop gave the steadiest face (203 credits for 5 s with audio). Add: "Use the references for identity only. Do not copy the sheet layout, labels or grey backdrop. No grid, no picture-in-picture, no on-screen text."
Per-model reference fields (Kling elements, Wan 3, Vidu, Omni Flash, MiniMax H3, Recast), route pinning and drift fixes: references/downstream.md.
7. Moderation and famous looks, in short
- Filters react to words. "Girl", "bikini", "tight", "sexy" get blocked on GPT Image 2.5, FLUX 3 and Grok; a catalog prompt (adult age, named garments, an activity, the brand purpose) passed on all six image models we tried. Blocks are random: retry once, rephrase, then route. Full log and swaps: references/moderation.md.
- Describe famous looks, never name them. Nano Banana 2.1 refused "The Simpsons style" and drew the same look from a description. Style blocks and the legal line: references/styles.md.
- Label AI characters as AI on social platforms, and never present one as a real customer in an ad.
References