Higgsfield Soul ID — Character Consistency
QUICK FACTS
Generated-checked block (scripts/build_index.py verifies anchors). Read the linked sections for full context — these lines are routing aids, not the rules themselves.
- Hard rule: every Soul ID prompt splits into Identity Block (static descriptors only) + Motion Block (temporal/camera only) →
- Don't re-describe the face or core features — only describe what differs from the base character →
- Reference image rules: front or 3/4 angle, even lighting, neutral-to-slight expression, no blur, solo subject →
- Reference generators: Soul 2.0 (fashion-forward), Nano Banana Pro (max sharpness), Seedream 4.5 (style range) →
- Character sheet angles: front face, 3/4, side profile, optional full body + optional embedded prop sheets →
- Two-image floor per character: one clear face + one full body, on neutral grey — never a single image →
- Prefer the single-prompt 3×2 six-panel sheet (one 16:9 generation) — identity locks better than multi-step assembly →
- Outfit change without identity drift: split-panel sheet — ghost-mannequin outfit LEFT + "face matches input 100%" close-up RIGHT →
- Crowds: a single-character reference makes a clone army — build a multi-character lineup and declare it a "VARIETY reference" →
- Character Anchor Block = 10 per-shot attributes (identity, screen position, depth layer, frame occupancy, orientation, pose, gaze, contact points, state lock, expression) →
- One Soul ID sheet PER character state — 5 transformation stages = 5 distinct sheets; the prompt names the stage →
- Micro-expression presets: 9 core + 10 extended →
- Cinema Studio: identity goes in the @ Element definition, motion goes in the prompt field →
- Soul Cast is Business/Team plans only; 8 parameter categories incl. 12 Archetypes, Budget $10M–$500M, Era 1900s–2020s →
- Soul Cast specs: up to 4K (Character/Location modes) / 2K (General); batch 1 or 10; 0.125 credits per image →
- Use 2–3 reference shots (frontal, 3/4, side); if features drift, use the character sheet as @Image1 →
- Soul Cinema is the default CS 3.0/3.5 image-mode model — single-step, ~0.125 credits/image →
- Studio-feeling output is an intermediate, not a final — re-pass through Soul Cinema with grade, directional lighting, lens character →
- Skip Soul ID for single shots or when you want maximum creative variation →
- Plasticky face in wide shots: crop the face from a closer-shot panel and replace it in post →
- Casting a REAL person: the sheet alone returns a lookalike — erase the head on the body panels and paste their actual photo into the portrait panel →
- Run the same sheet prompt through 2–3 image models and compare before locking; the deciding axis changes per character →
What Is Soul ID?
Soul ID is Higgsfield's character consistency system. Create a character reference once, then reuse it across unlimited generations — different scenes, angles, lighting, and actions — while the face and core appearance remain consistent.
How It Works
- Create a Soul ID — Upload a reference image or generate one using Soul 2.0
- The platform stores the character — assigns it an ID
- Reference in future prompts — "using Soul ID character [name/reference]"
- Character stays consistent — face, skin tone, basic features carry across generations
When to Use Soul ID
✅ You're building a multi-shot sequence with the same character ✅ You're creating a short film / story with a recurring protagonist ✅ You're making an AI influencer or brand mascot ✅ You want consistent faces across a product ad campaign ✅ You're doing a multi-scene action sequence and need the hero to look the same
❌ Don't use if you only need one shot — overkill for single generations ❌ Don't use if you want maximum creative variation — consistency limits style range
Prompting With Soul ID
When a Soul ID character is active, your prompt should:
1. Reference the character simply:
The Soul ID character walks through a crowded Tokyo street at night.
2. Describe what changes — not what the character looks like:
The Soul ID character now wears a formal black suit. She stands at a podium,
addressing a conference room. Camera: Dolly In toward her face.
Style: Cinematic, cool corporate lighting, 16:9.
3. You can change clothing, setting, expression:
The Soul ID character is now in a red dress, dancing alone in a ballroom.
Camera: 360 Orbit.
Style: Cinematic, warm golden chandelier light.
Key rule: Don't re-describe the face or core features — the Soul ID handles that. Only describe what is different from the base character.
Identity vs. Motion Separation — Hard Rule
When Soul ID is active, every prompt MUST be split into two blocks. This is the single most important rule for preventing identity drift.
Identity Block — Static descriptors only
Contains: face features, clothing, body type, distinguishing marks, color palette. Does NOT contain: any motion, camera, speed, or temporal language.
Motion Block — Temporal and camera only
Contains: camera movement, action choreography, speed, environmental changes. Does NOT contain: any character appearance repetition.
Before/After Examples
Example 1 — Action scene:
❌ Mixed (bad) — causes identity drift:
A tall woman with green eyes and freckles in a leather jacket sprints through
a warehouse while the camera tracks her and her green eyes flash with determination
and her freckles catch the fluorescent light as she vaults over a railing.
Face morphs mid-clip because the model re-reads face descriptors while processing motion.
✅ Separated (good) — identity stays locked:
Identity Block:
The Soul ID character — tall build, green eyes, light freckles across the nose
and cheeks, wearing a fitted black leather jacket, dark jeans.
Motion Block:
She sprints through a dimly lit warehouse, vaults over a metal railing
without breaking stride.
Camera: Action Run — low behind her, matching pace.
Fluorescent lights flicker overhead.
Style: Cinematic, cold industrial blue, high contrast. 16:9.
Example 2 — Emotional close-up:
❌ Mixed (bad) — face warps during camera move:
A weathered man with deep wrinkles and sad brown eyes wearing a grey wool coat
sits on a park bench as the camera slowly dollies in on his wrinkled face and
sad brown eyes while autumn leaves drift past his grey coat.
✅ Separated (good) — face stays sharp:
Identity Block:
The Soul ID character — man in his 60s, deep wrinkles, warm brown eyes,
wearing a heavy grey wool coat, brown leather gloves.
Motion Block:
He sits on a park bench, hands folded in his lap, staring at the ground.
A single autumn leaf drifts into frame and lands on the bench beside him.
Camera: slow Dolly In toward his face.
Style: Cinematic. Overcast diffused light, muted earth tones. 16:9.
Example 3 — Cinema Studio (@ Elements):
❌ Mixed (bad) — identity in the prompt field:
@Sarah with her dark curly hair and tattoo sleeve walks into the bar.
✅ Separated (good) — identity in the Element, motion in the prompt:
@ Element definition (set in Cinema Studio UI):
@Sarah: dark curly hair, tattoo sleeve on left arm, wearing a vintage band tee.
Prompt field:
@Sarah pushes open the door and steps inside. She scans the room, then walks
to the far end of the bar. The bartender nods.
Which descriptors belong where
| Identity Block | Motion Block |
|---|---|
| Face shape, skin tone, eye color | Camera movement name |
| Hair style, color, length | Action verbs (runs, turns, sits) |
| Body type, height, build | Environmental motion (wind, rain, lights) |
| Clothing, accessories, jewelry | Speed and timing cues |
| Scars, tattoos, distinguishing marks | Atmospheric changes (light shifts, fog) |
| Color palette of the character | Style and color grade of the scene |
Creating a Strong Soul ID Reference
The quality of your Soul ID reference image determines consistency quality.
For best results:
- Use a front-facing or 3/4 angle portrait — full face visible
- Even lighting — avoid harsh shadows obscuring features
- Neutral to slight expression — smile is fine, extreme emotion limits flexibility
- Clear image — no blur, no obstruction, no glasses if avoidable
- Solo subject — no other people in the reference frame
Image models to generate your Soul ID reference:
- Soul 2.0 — best for fashion-forward, high-aesthetic characters
- Nano Banana Pro — best for maximum photorealistic sharpness
- Seedream 4.5 — good for a range of styles
A sheet is not a menu — everything on it is a request
[FIELD — Higgsfield Studio, ZEPHYR breakdown, 2026-08-06] The intuitive way to build a
sheet is to put everything on it — every weapon, every state, the mechanism drawn open —
and then reference only the parts you need per shot. That is not how the model reads it.
If it sees a detail, it will try to show it.
The reported failure: a mecha sheet included the cockpit hatch in its open state. The model prioritised the open hatch over the subject's standard look, so most generations came back with the hatch open when it should have been shut — or with the open and closed versions colliding and deforming the whole design. The main body being larger on the sheet did not help; presence beat proportion.
The fix is more sheets, not a richer one:
- Erase states that are not the default from the base sheet, and be especially careful with anything retractable, hinged, or deployable.
- Build a separate sheet per scenario, even when the differences look minor. Attach the extended-weapon sheet only in the shots where it is actually extended.
- Better still, give a mechanism its own close-up as a separate input when the shot has to show how it works, so it gets focus instead of competing with the full figure.
Captions on a sheet do almost nothing for video. A little label under a detail does not teach the model to operate it — you still have to describe the whole operation in the prompt. The model will not reason "retractable blade, I know how to stage that"; every mechanism gets written out as physical action in the shot that uses it.
This is the sheet-side twin of § Variety Sheets: the question is never "what could this sheet contain" but "what will the model be asked to render from it."
The Untouched Base — build a character in two passes
[FIELD — Higgsfield Studio, ONEIRIC + ADILIADA breakdowns, 2026-08-13] A character is
built in two passes with two models, and the discipline is in what happens after:
- The face pass makes the identity plate — generated in close-up, so the model captures identity at maximum detail. That close-up is the anchor every later asset of the character is checked against.
- The looks pass builds full-figure wardrobe — costume, materials, silhouette — fitted to the already-locked face.
The two are then assembled into a sheet with one hard condition: the original close-up portrait is never run through a model again. Assembly happens in editing tools around it. Every state change — a scar, a haircut, dirt, a wound, a new wardrobe piece — is integrated point by point with masks, without touching the base.
Why it matters: the base image stays the same pixels, so identity and the skin texture that carries it survive every later version of the character. This is the structural answer to the drift documented in § Two-Tool Refinement Pipeline, where each successive model pass softens texture toward plastic — the base never takes another pass, so it never softens.
Hold the face, change everything else
The same rule scales to alternate versions of one character — a different era, a different universe, hero in one world and villain in the next. A new version is a new look, not a new person: wardrobe, makeup, hair, scars and damage all change, and the face stays the same set of pixels. That is what keeps an alternate version still reading as the same person, which is the whole difficulty of the job — living between "make them different" and "make them the same".
A corollary worth stating, because it is where sheets quietly rot: a new state is a new asset with a new name, never an overwrite. A character in the common room and the same character in a hospital bed are two assets of one man.
The Reference Plate — the two axes
[DEMO — Joey character-builder / banana-pro-director 3.0, 2026-08-16] [UNPROVEN HERE]
Photoreal character work runs two things that sound like one thing and are not. Separating
them is the single most useful idea in plate building, because "photorealistic" sounds like
it means both and only one of them belongs on a reference.
Axis 1 — biological realism: fully ON. The subject must read as a real living person: pore texture, peach fuzz at jaw and hairline, subsurface scattering, hair strand by strand with flyaways, fabric with real weave and drape, metal with real surface, eyes with depth and moisture. This never comes off.
Axis 2 — photographic capture behaviour: OFF on every plate. A plate is not a photograph of a lit set. No key direction, no shadow side, no cast or contact shadow, no falloff on the background, no spill, no bokeh, no depth-of-field falloff, no vignette, no flare, no haze.
Why Axis 2 is off: these are references, not finished frames. Any lighting baked into a plate — a cheek triangle, a nose shadow, a contact shadow under the feet, a warm bleed on the backdrop — is inherited and amplified by every downstream generation that reads it, and it fights whatever lighting the actual scene wants. The plate carries zero lighting; the scene prompt does all the lighting later.
The trap. Writing "photographed on a real camera by a real photographer on a real set" into a plate prompt switches Axis 2 on along with Axis 1 — and Axis 2 is exactly what poisons a reference. The subject should look like a real person, rendered flat, against nothing.
The one capture phrase that survives: Photographed on a 50mm prime, even sharpness, soft natural film grain. Photographed not generated. — the focal length is named in plain words
with no aperture, no bokeh and no falloff attached, so it buys the anti-AI-uniformity signal
without switching on capture behaviour.
The background is a FIELD, not a ROOM
The distinction most often lost. A photographed seamless is a physical surface — it takes light, it falls off, it catches spill, it holds the subject's shadow, it has a floor the subject stands on. A plate background is none of that. It is a flat uniform colour field with nothing behind the subject at all: no surface, no floor, no wall, no corner, no seam, no horizon, no plane the subject makes contact with. The subject does not stand on anything and does not stand in front of anything, and nothing the subject does affects the field.
The flattering-realism ceiling
Full skin realism is always on — but realism never means unflattering. No acne, blemishes, prominent spots, unrequested scarring, cratered pores, or aggressive detail that reads clinical. The texture is fine, soft, even, natural. Matte is the anti-plastic lever; fine-and-even is the flattering lever, and both run together. Where they conflict, resolve toward flattering — a face should always look good.
Prompt economy — lean prompts hold faces better
This runs counter to instinct. When strong references are attached, the references carry the identity load, and the prompt's job is to say what to DO with that identity in this image. Heavy visual description layered on top of a strong reference creates a double-weight prompt that dilutes the direction the model actually needs from the text.
- Identify subjects by a short distinguishing handle — "the woman with the deep red-burgundy hair" — not a paragraph re-describing bone structure the attached plate already shows.
- Put the load on what the prompt uniquely communicates: composition, framing, pose, expression, what the hands are doing, wardrobe not already in a reference.
- Drop identity description that the reference already carries, unless it is load-bearing for this specific image.
- The model reads the front of the prompt most heavily — put composition and pose there rather than burying them under description.
Rule of thumb: if a sentence re-describes something already visible in an attached reference, cut it unless the composition depends on it. The exception is the first plate — a face lock has no reference to lean on, it is the reference, and it gets the longest, most specific description of anything in this file. Everything after it gets leaner.
When two or more references are attached, say what each one carries so the model does not average them: "face, bone structure and skin tone come from the character reference; wardrobe and accessories come from the look reference."
Character Sheet Creation
A character sheet is a multi-angle reference image showing the same character from several viewpoints — typically front, 3/4, side profile, and back. It gives the model comprehensive geometry to work from and dramatically improves consistency.
Two-image floor per character [DEMO — Seedance-4K film tutorial, 2026-07]: never hand a video model a character on a single image. The minimum is one clear face view + one full body — in the tutorial's words, "so Seedance doesn't have to guess." Everything below builds upward from that floor.
Background: put sheets on neutral grey, not white or black — the
tutorial states this as tested (light-grey cyclorama for people, #7f7f7f
for creature sheets). Canonical statement of the grey rule:
../../templates/ad-asset-prep.md § Design for win rate.
Why grey works [DEMO — Joey character-builder, 2026-08-16] [UNPROVEN HERE]: pure
white and pure black create maximum subject-to-background contrast, and image and video
models amplify errors hardest at high-contrast edges — that is where halo, edge breathing
and contour instability get baked in. A neutral mid-grey ground lowers that contrast, giving
cleaner edge extraction and far less inherited contrast when the still is later read as a
reference frame. Since virtually every character plate eventually seeds video work, grey is
the correct standing default rather than a stylistic preference. Keep the field neutral
and never warm-shifted, but do not let it cool the subject — skin and wardrobe render at
their true tone, as under neutral daylight. See § The Reference Plate — the two axes.
How to create a character sheet:
- Generate your character in Cinema Studio using your preferred optical stack
- Use Grid Generation (2×2 or 4×4) to produce multiple variations
- Alternatively, use 3D Mode (Gaussian splatting) to orbit a single generation and capture front, side, and 3/4 angles
- Arrange the best angles into a single composite reference image
- Upload as your Soul ID reference
What to include on a character sheet:
- Front face — neutral expression, even lighting
- 3/4 angle — shows depth of facial features
- Side profile — nose, jaw, ear structure
- Full body (optional) — posture, costume, proportions
- Embedded prop sheets (optional) — bake recurring character props directly into a character-sheet panel. Higgsfield image generation handles multi-element character images well, so prop continuity often holds without a separate prop sheet. For props that don't hold this way, see § Tricky-Prop Sheets below.
Prompt pattern to generate character sheet content:
Front-facing portrait of [character description], neutral expression, even studio lighting,
clean background. Head and shoulders visible.
Then use 3D Mode to orbit and capture additional angles from the same generation.
Why it matters: A multi-angle character sheet gives Soul ID far more geometry data than a single photo. This translates directly into better consistency across extreme angle changes, action shots, and profile views.
The Hybrid Sheet — Casting a REAL Person
Everything above assumes the character is invented. Casting a real person — a client, a friend, the couple in a wedding film — is a different problem, and the sheet pipeline alone does not solve it [DEMO — Higgsfield "AI Love Stories" tutorial, 2026-08]. Feed someone's photos in as references and the sheet comes back as a lookalike actor, not the actual person: costume and body land, the face is a near-miss. It is the kind of near-miss the subject's own family spots instantly and nobody else notices, which makes it the worst kind.
Note what this is NOT. § Face-from-Wide-Shot Workaround below fixes plastic AI faces by cropping a face from a closer generated panel into a wider one — a quality repair, generated pixels throughout. This fixes identity, and the pixels come from a camera.
The hybrid, as demonstrated:
- Generate the sheet normally. Keep it for what it is genuinely good at — costume texture, wear, silhouette, body, the panel geometry.
- Erase the head on the full-body panels. Leave them headless. The generated face is the part that was wrong; deleting it stops it competing.
- Paste the person's real photograph into the portrait panel. That panel is now photographic, not generated.
- Ride the composite as the character reference.
Why it works: the portrait panel is where a video model reads identity, and it is now a real face rather than an approximation of one. The full-body panels still carry wardrobe and proportion, which is all they were ever needed for — and a headless panel cannot contribute a wrong face, so the composite has exactly one face in it and that face is correct.
Constraints, and they are not optional. This puts a real, identifiable person into a generation pipeline. Have their permission for this specific use, keep the source photos out of anything you publish, and do not use the technique on someone who has not agreed to it. The dating, wedding and gift work this method is aimed at is exactly the context where consent is easy to get and easy to skip.
Pick the Sheet Model per JOB, Not per Project
The same sheet prompt through three image models does not produce three qualities of the same thing — it produces three different strengths, and the right answer is per-character [DEMO — Higgsfield "AI Love Stories" tutorial, 2026-08]. In that run, from one prompt across Seedream 5.0 Pro, GPT Image 2 and Nano Banana:
| Model | What it won on, in that comparison |
|---|---|
| Seedream 5.0 Pro | costume texture and wear, and consistency of the costume across all three panels |
| GPT Image 2 | curly hair — full, natural, and identical from every angle; the others could not hold it |
[UNPROVEN HERE] — one production's comparison, on two characters. Treat the method as the finding, not the table: run the same sheet prompt through two or three models and compare before locking, because the axis that decides it is whatever your character is hardest to render (hair, wardrobe wear, skin, a signature prop), and that axis changes per character. Sheets are cheap relative to the shots that depend on them; a wrong lock is paid for in every later generation.
Model specs and current pricing: ../../image-models.md.
Single-prompt 6-panel character sheet (3×2 grid)
An alternative to the multi-step assembly above is generating the entire character sheet in one prompt → one 16:9 image → 3×2 grid with six labeled panels. Same character described once; identity stays maximally locked across all six panels because the generation pass is single. Prefer this for Soul ID reference work when the image model supports a 16:9 grid layout (Nano Banana Pro and similar grid-capable models).
The six panels in canonical order:
- Panel 1 — Front body: straight-on neutral stance, full styling visible head-to-toe
- Panel 2 — 3/4 turn: body angled ~30° from camera, weight on back hip
- Panel 3 — Back body: straight back view, hair fall and accessory details from behind
- Panel 4 — Waist-up portrait: head, shoulders, upper torso
- Panel 5 — Hands detail close-up: both hands forward, ring stack, nail finish, any held prop
- Panel 6 — Face detail close-up: tight crop from collarbone up, earrings, lips, skin texture, eyes
Prompt pattern — identity described once at the opening, followed by panel position labels with what's different per panel (stance, framing, focus). Close with: "Identical character identity locked across all six panels. Uniform studio backdrop and lighting across all six panels."
Why single-prompt over multi-step: the multi-step assembly above (Grid Generation + 3D Mode + composite) produces a sheet from multiple independent generations — identity can drift panel-to-panel even with a strong reference. The single-prompt 3×2 grid keeps identity locked because all six panels render together in one pass.
Split-Panel Outfit-Change Sheet (ghost-mannequin + identity panel)
A two-panel sheet pattern for re-dressing an existing character without touching identity [DEMO — Seedance-4K film tutorial, 2026-07] — the tutorial used it to put its lead into a new Y2K outfit:
- LEFT panel — outfit only, ghost-mannequin: the full new outfit as floating garments styled as worn — invisible body, no person, no head. Describe the clothes in full here (cut, fabric, graphics, accessories, footwear); this panel owns the wardrobe.
- RIGHT panel — identity only: a large head-and-shoulders close-up from the existing character reference, declared "face matches input 100%" — same identity, features, hair, skin, no drift. This panel owns the face; wardrobe appears only as the upper edge of the LEFT panel's outfit.
- Clear vertical divide, neutral grey studio backdrop, even soft light across both panels.
The split gives the video model one panel to read for what they wear and one for who they are, so the outfit change can't pull the face with it. Registered as a single Element, the sheet carries both. Complements § Multi- Form State Tracking below — a wardrobe state is a state like any other and gets its own sheet.
Character Anchor Block
Where § Character Sheet Creation builds the multi-angle identity reference that goes into Soul ID, the Character Anchor Block is the per-shot prompt structure that locks how that character appears IN a specific shot. The character sheet is build-time; the anchor block is shot-time.
A complete anchor block names, per character in frame, ten attributes:
- Identity — which character this is (matches a Soul ID handle when references are present)
- Screen position — qualitative anchor + percentage notation
paired per
../higgsfield-seedance/SKILL.md§ Frame Coordinate System - Depth layer — foreground / midground / background
- Frame occupancy — % of frame area the character fills
- Body orientation — direction the character faces (toward camera, away, profile-left, profile-right, three-quarter)
- Pose — current physical configuration (standing, seated, leaning, mid-stride)
- Gaze direction — where the character is looking, named
either by frame-position or by another subject (
looking at Character B) - Contact points — what physical surface or object the character is grounded against
- State lock — current emotional or physical state (calm, exhausted, injured, soaked, in motion) — see § Multi-Form State Tracking for state-across-scenes discipline
- Facial expression — specific emotional register (composed, fearful, smiling small, gritted teeth)
The block sits before the Dynamic Description in the Seedance
output format and feeds a Spatial Layout Block when multiple
characters share frame (see ../higgsfield-seedance/SKILL.md
§ Spatial Layout Block for the multi-character extension).
Multi-Form State Tracking
When a character changes state across the project — wounds from a fight scene that persist into the next scene, a costume change midway through, a transformation across multiple stages — generate a separate anchor sheet per state. Don't rely on the base character sheet plus prompt-text descriptions to track the difference; the model loses the state under iteration pressure.
The discipline is what film production calls script supervising: every shot tracks which version of the character it should match. A character with five stages (initial → fight-injuries → partially- transformed → almost-fully → completely-transformed) gets five distinct Soul ID sheets, one per stage. The shot list references the matching sheet by name; the prompt names the stage in the identity block.
The cost is one character-sheet generation pass per state; the
payoff is that no shot opens a continuity bug that has to be caught
at frame-review time (see ../higgsfield-seedance/FAILURE-MODES.md
§ Frame-level review is mandatory).
Face-from-Wide-Shot Workaround
In wide shots the face on a character-sheet panel often reads as plasticky — the model deprioritizes facial detail when most of the frame is body or environment. The workaround: render the wide shot, then crop the face from a closer shot (medium-up, shoulders- up, head-and-shoulders) and replace the wide-shot face with the cropped one in post.
This is a character-sheet construction technique, not a generation technique. Keep one closer-shot panel in the character sheet specifically for this purpose — the face you'd cut and paste back into wide shots that need it.
Tricky-Prop Sheets
Some props don't generate consistently from a single reference panel — a monster claw the model keeps rendering as a sword, a hand-prop that defaults to a generic shape, an accessory that can't stay continuous across shots. For these, build a separate prop sheet alongside the character sheet:
- Inside view — interior structure or assembly detail
- Outside view — silhouette and surface
- State variations — open / closed / extended / grasped / combat-engaged, as the prop's narrative requires
The inverse pattern to the Embedded prop sheets bullet in § Character Sheet Creation above — embedded works for props that generate cleanly; separate prop sheets are the fallback for props that don't.
Two-Tool Refinement Pipeline
For high-investment characters — leads who carry many shots in a project — initial generation in Soul Cinema plus refinement editing in GPT Image 2 produces stronger anchor sheets than either tool alone. Soul Cinema is the Higgsfield first-pass image surface (high-volume batch generation against the character description); GPT Image 2 is a third-party (OpenAI) edit surface that preserves existing image details — particularly facial geometry — when modifying outfits, accessories, lighting, or background elements.
The split is by task:
- Soul Cinema — generate the initial character look across pose, expression, and lighting variations. Higher-volume; the model batches well.
- GPT Image 2 — edit selected Soul Cinema outputs to refine costume, swap accessories, adjust lighting, or extend the sheet with state variations. Better preservation of the face under edit pressure.
When to reach for both tools: the character will appear in tens of
shots and is worth front-loading iteration cost into. A planning
anchor from a Higgsfield-team production — the lead character of
the 90-minute Cannes feature absorbed ~600 Soul Cinema generations
plus ~200 GPT Image 2 generations before any narrative shot
generation began (see ../../production-benchmarks.md § Per-
character iteration anchor for the full breakdown).
When to stick with one tool: characters appearing in only a handful of shots don't justify the two-tool overhead; a single Soul Cinema pass suffices.
Anti-"slop" realism composite (the fast manual variant)
Every GPT Image 2 edit softens Soul Cinema's skin texture toward flat, plastic "AI slop" — the face loses the pore-level realism that made the Soul pass worth doing. A Soul Cinema Re-Pass (re-generate the edited result back through Soul Cinema) is one fix; a layer-mask composite in any photo editor is the faster manual variant, and keeps the original face untouched:
- Generate the outfit/accessory edit in GPT Image 2 (this is what softens the skin).
- Stack two layers: the original high-detail Soul Cinema shot on top, the GPT-edited version underneath.
- Mask out only the changed region (the old outfit) on the top layer, so the new outfit shows through from below.
- Result: face, skin, and background stay Soul-grade; only the outfit comes from the edit.
Use the Re-Pass when you want one clean re-generated sheet; use the
layer-mask composite when you must preserve the exact original face and
only graft in the edited region. Complements the "generate individually +
Photoshop composite" note in ../../image-models.md. Cross-linked from
../../templates/ad-asset-prep.md § Preserve realism after an edit.
Micro-Expressions — Nuanced Performance Direction
Use these facial performance directions to add emotional depth to Soul ID characters. Combine with Soul Cast or character prompting for precise actor-level control.
For muscle-level control — when a named expression below is too coarse and you need the specific facial muscles (a forced vs. genuine smile, a mixed or uncanny expression, AU-per-beat dialogue acting) — see
../higgsfield-facs/SKILL.md(FACS Action Unit codes). Each named expression here decomposes to an AU combination; FACS is the precise-control layer beneath.
Core Set
| Name | Description | Best for |
|---|---|---|
| Deadpan Neutral | Flat affect, no visible emotion, mask-like stillness | Thriller, interrogation, AI/android characters |
| Fierce Focus | Intense locked gaze, brow slightly lowered, total attention | Action, competition, confrontation |
| Subtle Arrogance | Chin slightly raised, half-lidded eyes, faint smirk | Villain intros, power dynamics, fashion |
| Candid Profile | Unposed side angle, natural and unaware of camera | Documentary, street photography, slice-of-life |
| Post-Workout Fatigue | Heavy lids, parted lips, light sheen of sweat, relaxed muscles | Fitness, aftermath, exhaustion scenes |
| Predator Glare | Unblinking stare, head slightly lowered, eyes locked forward | Horror, thriller, intimidation |
| Sunblind Squint | Eyes narrowed against bright light, slight grimace | Outdoor scenes, desert, beach, golden hour |
| Total Dissociation | Thousand-yard stare, eyes unfocused, emotionally absent | Trauma, shock, psychological drama |
| Controlled Breath | Lips slightly parted, nostrils flared, deliberate calm | Pre-action tension, meditation, recovery |
Extended Set
| Name | Description | Best for |
|---|---|---|
| Suppressed Smile | Fighting back a grin, corner of mouth twitching | Comedy, secret joy, romantic tension |
| Quiet Devastation | Eyes glassy, jaw tight, holding it together | Drama, grief, emotional climax |
| Wary Recognition | Eyes widen slightly, head tilts back a fraction | Reunion, suspicion, plot twist reaction |
| Nervous Composure | Calm face but swallowing, micro-tension in jaw | Interviews, lies, high-stakes poker |
| Cold Calculation | Eyes scanning, no emotional leakage, clinical | Villain strategy, heist planning, espionage |
| Bitter Amusement | One-sided smirk, eyes not smiling | Cynicism, dark humor, betrayal aftermath |
| Exhausted Relief | Eyes closing, shoulders dropping, breath release | Survival, rescue, end of ordeal |
| Frozen Shock | Mouth slightly open, eyes fixed, body still | Jump scares, bad news, sudden revelation |
| Simmering Rage | Clenched jaw, flared nostrils, steady stare | Confrontation, injustice, slow burn tension |
| Vulnerable Openness | Soft eyes, slightly parted lips, unguarded | Romance, confession, emotional honesty |
Multi-Character Consistency
If you need multiple consistent characters in the same scene:
Shot 1 — establish both:
The Soul ID character [Character A] and a second character [Character B, describe
appearance] face each other across a table. Camera: Arc slowly around them.
Shot 2 — reference both:
The Soul ID character [A] slides a folder across the table.
[Character B] opens it, expression shifting from confusion to realization.
Camera: Dolly In toward [B's] face.
Note: Higgsfield can hold multiple Soul IDs. Reference each clearly in the prompt.
Variety Sheets — Crowds Without Clones
Everything above optimizes for one identity locked tight. Point that machinery at a crowd and it backfires: a single-character reference makes a clone army — every soldier, extra, and passer-by renders as the same person [DEMO — Seedance-4K film tutorial, 2026-07]. The tutorial's canonical before/after: an elf army generated from one elf reference came back as identical clones; the fix was a new sheet plus one label change.
The fix — a variety lineup sheet:
- Build one sheet with several DISTINCT characters side by side — the tutorial used four fully-specified elves in a full-body lineup on neutral grey: different genders, hair colors (blonde / dark / auburn / silver), builds, and armor tones (silver / gold / rose). Each lineup member is individually described; sameness anywhere in the sheet becomes sameness in the crowd.
- Declare it a "VARIETY reference" in the video prompt — not an identity
lock. Tutorial pattern:
@elf — VARIETY reference for the elven army: a sheet of FOUR different elves … the army is a varied host drawn from these four types, every elf unique, no two alike.Reinforce in the positive locks: "a VARIED host built from the four types in @elf."
The role split: 100% matches the reference locks ONE character's
identity; VARIETY reference tells the model to treat the sheet as a
population sample to interpolate a diverse crowd from. Use identity locks
for leads, a variety sheet for the crowd behind them — both can be Elements
in the same prompt. (Reference-role vocabulary:
../higgsfield-seedance/SKILL.md § Reference Roles.)
Pairs with the empty-plate rule for locations — but that rule has a
condition, and it used to be stated here without one. The default still
holds: generate the location with no people and let the video model own the
crowd from the variety sheet (../../templates/ad-asset-prep.md § Location
plates). It gives you one plate that serves every shot, and the crowd stays
directable per shot.
It **in
…(truncated)