reeldouble

learnCharacters

The seven-field character descriptor block that locks across Kling, Seedance and Veo

Reference images carry the face; the prompt text has to carry the rest. Here is the seven-field block we paste verbatim into every render, and why each field matters.

by reeldouble · October 20, 2026 · 7 min read


Every "how to keep an AI character consistent" guide online tells you to use a reference sheet. That is correct for the image layer. Nobody publishes what the prompt text has to say to make the reference stick — the sentences the engine actually reads when it decides what the character looks like in the shot it is about to render. Fal.ai Learn, Flick, Apatero, Elser, Kinovi, pIXELsHAM, Synthetic.actor — all of the primary 2026 writing on character consistency (as of 2026-10-20) describes the sheet. None of them publishes a copy-paste prompt block.

The reference image is half the answer. The other half is the descriptor the engine reads every time. Here is the seven-field block we paste verbatim into every render on our shelf, and the reason each field exists.

The block

Character: @Element1
Silhouette: medium build, 5'10", slight forward lean, head tilts right at rest.
Face: oval, strong jaw, high cheekbones, scar on left eyebrow, blue-grey eyes.
Hair: dark brown, cropped short on sides, longer on top, parted left.
Wardrobe: slate-grey wool overcoat, white henley, dark denim, worn brown boots.
Props: silver signet ring on right pinky, small leather notebook in left hand.
Posture: shoulders back, weight on right foot, hands relaxed at sides.
Voice: mid-range baritone, measured, dry.

Seven lines. Each one locks a dimension the reference image either misses, averages, or draws differently every time depending on the shot.

Silhouette. Build, height, body carriage. The reference image shows one angle; the silhouette line tells the engine what the body looks like from every other angle. A character who is 5'10" with a slight forward lean reads the same from a wide shot as from a close-up because the engine is rendering the same body against a prompt sentence, not re-inventing proportions from the single reference frame.

Face. Shape, bone structure, distinctive marks, eye colour. Marks are the field most guides skip. A scar on the left eyebrow is a one-token identity anchor the engine actually enforces across shots; three distinctive marks (scar, mole, eye colour) is the floor for a character who has to carry a six-shot story. Apatero's 2026 writing on character turnarounds puts the "distinctive marks" axis as the single highest-impact field for cross-shot ID.

Hair. Colour, length, cut, part. Hair is the first thing the engine will quietly change if the prompt does not spell it out. "Dark brown, cropped short on sides, longer on top, parted left" is more words than "short dark hair" and the extra words save the shot. The 2026 character-consistency testing on Kling we read (sources dated 2026-10-20) reports a 78% consistency rate on prompts with 2–3 character details and higher as the detail count rises.

Wardrobe. This is the field reference images are worst at. A reference frame shows one outfit at one angle; the engine will reinterpret the fabric, the layering, and the colour on every new shot unless the prompt names the garments. "Slate-grey wool overcoat, white henley, dark denim, worn brown boots" is the whole costume locked across six shots; drop any one line and the engine will swap something plausible — a leather jacket for the wool, blue denim for the dark denim — and the series will read as six different people.

Props. The items the character carries. The reference image usually captures one or two props; the descriptor commits to them. A silver signet ring on the right pinky is a half-token detail the engine will render into the hand close-up, which is the shot an avatar presenter cannot do and a character render has to.

Posture. How the body is held. Posture is the way the engine distinguishes a confident character from a tentative one at the same height and build; it is also the way the camera direction stays plausible across a cut. "Shoulders back, weight on right foot" reads the same at a wide shot and a mid-shot; "slouched, hands in pockets" reads differently.

Voice. Not for every engine — Kling O3 Pro and Veo 3.1 Fast render audio, Seedance does not — but the voice line locks the voiced path and tells the voiceover artist (or the TTS model) the register when the audio rides on top of a silent render.

Why seven fields, not fewer

The field count is bounded by what the reference image misses. A reference image carries the face identity, roughly 60% of the character. The other 40% — silhouette at new angles, wardrobe at new angles, posture across camera moves, hair style when the head turns, props in a hand close-up, voice register when the mouth opens — is on the prompt. Seven fields is the smallest block that covers the four engines on our shelf.

Fewer fields and the engine drifts. More fields and the token budget on a short-form prompt is eaten by descriptor text instead of the shot itself. Kling allows plenty of room for a 90-word descriptor plus a 60-word shot description inside one generation; Veo's prompt is terser and still fits a seven-line block above the action line. Seedance 2.5 accepts long-form prompts and holds the descriptor through a 15-second one-take without re-rolling identity between keyframes.

How it plugs into each engine on our shelf

engineaddressreference-image slotthe descriptor block goes…
Kling O3 Pro@Element1 (up to @Element5)elements (named)above the action line, "Character: @Element1" named explicitly
Seedance 2.5@Image1 (up to @Image30)images (by position)above the action line, "Character: @Image1" by position
Seedance 2.0 / 2.0 Fast@Image1 (up to @Image9)images (by position)same as 2.5, fewer slots
Veo 3.1 Fast"image 1" (up to "image 3")ingredients (plain words)above the action line, "Character: the person in image 1"

The seven lines do not change. The address line (@Element1 vs @Image1 vs the person in image 1) is the only thing that changes between engines. Paste the same block into Kling, into Seedance, into Veo — swap the address — and the character carries across engines, which is the part no competitor writes about because no competitor has four engines on the same shelf.

The one-time build, with credit math

stepenginecredits$ on Lite$ on Creator
descriptor-write (zero credits)—0$0$0
front-angle reference frameKling O3 Pro 720p silent 4s96$0.96$0.72
3/4 angle reference frameKling O3 Pro 720p silent 4s96$0.96$0.72
mid-shot reference frameKling O3 Pro 720p silent 4s96$0.96$0.72
three-angle sheet + locked block—288$2.88$2.16

288 credits, one time. The block itself is free; the three reference frames at 4 seconds each are the cost. Every subsequent render on any engine reuses the exact same block and the exact same three images, so the character identity does not drift between the Kling shots, the Seedance 2.5 one-take, and the Veo 8-second opener. On the 300-credit free account you can afford this entire build with 12 credits of margin — enough to shoot a 4-second test with the locked identity to make sure the block reads.

What a competitor's "generic advice" looks like next to this

The guides on page one of Google for character consistency land in the same place: use a reference sheet, write detailed prompts, pick a tool with character controls. None of them give you a block you can paste. The reason is architectural: a block that works across engines requires the writer to be running more than one engine, which almost nobody does. Our shelf's reason for existing is that we run five engines on one wallet, which is also the reason this block is possible to write.

The two things the SERP leaves off the page: the token-level descriptor text, and the per-engine address line that makes the same block portable. Those are the two things this page gives you.

What breaks the block (and how to patch it)

Wardrobe swap across a scene change. The block pins the costume, which is correct until your story changes the costume. Patch: add a second wardrobe line conditional on the scene — "Wardrobe (Scene 1): slate-grey wool overcoat ... Wardrobe (Scene 2): white dress shirt, no coat". The engine reads whichever line the shot's scene is in.

Hair length that changes across time. For a serialized Part 2 piece shot three weeks after Part 1, hair grows. Patch: version the hair line (Hair (Part 2)) and keep the rest of the block intact.

Posture that reads wrong at an action beat. "Shoulders back" reads wrong in a fight. Patch: drop the posture line for the action beats and keep it for the dialogue beats. The silhouette and face lines carry the identity; posture is a shape-of-the-body hint that is useful for still shots and distracting for action.

A reference image that drifts in style. If your three reference frames were rendered on three different engines (one Kling, one Veo, one Seedance), the aesthetic will not match and the engine will average them to a confused version of your character. Patch: render all three reference frames on the same engine, same resolution, same lighting. Our usual pick is three Kling O3 Pro 720p silent frames because the engine is the most character-stable on the shelf (24 cr/s × 4s × 3 = 288 cr).

The block is seven lines because the reference images miss seven things. Our 300-credit free account is enough to build the sheet and test the first render; from there every subsequent piece on the shelf references the same locked identity. Paste the block and lock your character once.

Nobody publishes this because nobody writes against four engines at once. The seven lines are the real answer the "character consistency" SERP leaves at the door.

read next