Consistent Characters in AI Video: How We Hold One Face
How OMNI Labs maintains facial identity across video sequences: 21-frame reference sets, expression audits, variant syntax, and Ref2VA rendering.

Key takeaways
- Reference sets must encompass 12 to 21 frames spanning diverse angles and dynamic facial expressions.
- Magnific MCP calls must never use library_edit, which silently overwrites reference sets with a 6-frame cap.
- Multiple character looks are bound using character:@name#variant syntax rather than card-selection clicks.
- Local MiniMax H3 Ref2VA preserves facial landmarks over 5-second takes in 32 minutes across three angles.
- To prevent resting face drift on expressive reference sets, prompts must explicitly declare neutral mouths.
Reference set scale and the expression gap
Live Magnific character reference sets hold 12 to 21 frames. The largest measured set is 21 frames and carries a full expression range (smile, laugh, shock, wink). We treat 21 as the highest measured size, not as a limit.
When training or conditioning image-to-video diffusion pipelines on synthetic talent, reference library depth dictates generative resilience. If a reference bank contains only static, forward-facing neutral portraits, the underlying diffusion model cannot extrapolate realistic facial muscle deformation during narrative motion.
A 9-frame reference set we audited on 22 September 2026 held no expression frames at all. Asked for a smile, the model invented one, with no reference to copy. Smile frames were added to that set by hand on 23 September 2026.
When a model is forced to hallucinate emotional expressions without reference data, it substitutes statistical averages from its foundational training weights. The character's signature jawline, eye shape, and cheekbone structure collapse into a generic face. Providing deliberate expression plates anchors anatomical landmarks across emotional shifts.
Building robust character consistency across extended narrative sequences demands deep reference sets. When a character library includes a comprehensive range of emotional expressions and camera angles, the generative model learns how the subject's features behave dynamically. This reference density prevents the model from defaulting to generic baseline faces during dramatic turns.
Silent runner truncations and the library_edit trap
The old runner silently truncated reference sets to 9 frames and dropped the rest with no log line. The truncation is removed. Every path is now uploaded, and a warning prints above 21 frames.
Silent programmatic limitations represent one of the most pernicious failure modes in automated production pipelines. For weeks, our generation scripts appeared to process full 21-frame libraries while silently dropping more than half of the supplied images without raising an alert. Removing this hard cap restored full multi-angle conditioning across our studio roster.



