Midjourney v7 Multi-Character Scene Blocking and Eye-Line Matching

Standard single-line prompts containing multiple subjects inevitably lead to identity bleed, merged anatomical features, and chaotic visual gaze vector mismatches. When prompting a scene with two or more figures in Midjourney, the underlying cross-attention mechanisms often collapse distinct character attributes into a single homogenized figure or direct both subjects aimlessly toward the camera lens rather than toward each other.

By enforcing a strict spatial framework—mapping explicitly anchor positions, explicit focal depth planes, and vector-oriented gaze directions—you force the text encoder to bind specific facial orientations and spatial coordinates to isolated character tokens. This operational guide provides field-tested prompt structures designed to maintain character separation and pin precise eye-lines across complex multi-subject compositions in Midjourney v7.

Directing Multi-Character Scene Blocking and Eye-Line Matching in Midjourney v7 - Midjourney AI Art Guide

Visual reference for Midjourney & AI Art

⚠️ Model Evolution & Deprecation Notice: AI architectures and system prompts evolve rapidly. Specific parameters, token attention behaviors, and interface features in this guide may change over time. Always treat these prompt skeletons as adaptable frameworks for the latest release of Midjourney.
Spatial Challenge Naive Prompt Result Structured Framework Result
Eye-Line Matching Both characters look directly at the camera viewer. Vector-matched optical convergence between subjects.
Attribute Bleed Clothing styles, hair colors, and ages blend together. Strict left/right and foreground/background token isolation.
Depth & Scale Subjects share an unnatural, flat horizontal plane. Clear foreground, midground, and background visual hierarchy.

1. Two-Character Conversational Vector Framework

This skeleton isolates two characters on opposing sides of the horizontal frame and establishes an explicit gaze vector interaction, preventing front-facing default poses.

[CAMERA_ANGLE_AND_SHOT_TYPE], [SCENE_SETTING]. On the left side of frame, [CHARACTER_1_DESCRIPTION], positioned in profile, looking to the right toward [CHARACTER_2_SHORT_NAME]. On the right side of frame, [CHARACTER_2_DESCRIPTION], positioned facing three-quarters left, making direct eye contact with [CHARACTER_1_SHORT_NAME]. High-contrast cinematic lighting, clear spatial separation, distinct physical boundaries --ar 16:9 --stylize [NUMERICAL_VALUE] --v 7.0
💡 Instantiated Sample Execution:
Cinematic wide shot, three-quarter angle. Two actors in an interrogation room. A grizzled detective on the left side of the frame, seated, looking up at a 45-degree angle to the right. A tall female suspect in a trench coat on the right side of the frame, standing, looking down to the left, meeting the detective's gaze directly. Shallow depth of field, hard side lighting, dramatic contrast --ar 16:9 --stylize 250 --v 7.0

ℹ️ Illustrative example generated by Gemini; not run in the target tool (Midjourney). Output and parameter behavior may vary across platform versions.

Key Variable Breakdown:

  • [CAMERA_ANGLE_AND_SHOT_TYPE]: Sets optical canvas bounds (e.g., "Medium wide side profile camera angle").
  • [CHARACTER_1_DESCRIPTION]: Detailed anchor features for the left anchor position.
  • [CHARACTER_2_DESCRIPTION]: Detailed anchor features for the right anchor position.
  • [NUMERICAL_VALUE]: Recommended lower range (100-250) to prevent artistic distortion of geometry.

Expected Outcome Guidance: The generated frame renders two distinct subjects anchored to the left and right thirds, with their heads turned toward the interior center of the frame, converging on a shared optical line.

Failure Modes & Corrective Fixes: If identity bleed occurs (e.g., Character 1 wears Character 2's jacket), enforce a distinct color palette contrast between the two descriptions or decrease --stylize down to 50.

2. Over-the-Shoulder (OTS) Depth Anchor Framework

Generates classic cinematic over-the-shoulder perspective while forcing the camera focal point to lock precisely onto the facing character's gaze line.

Cinematic over-the-shoulder shot. In the immediate foreground, the back of [FOREGROUND_CHARACTER_DESCRIPTION]'s head and shoulder out of focus, framing the left edge. In the midground, center-right, [BACKGROUND_CHARACTER_DESCRIPTION] looking directly back at [FOREGROUND_CHARACTER_SHORT_NAME] with a focused gaze. [SETTING_AND_ATMOSPHERE], rack focus, sharp focus on [BACKGROUND_CHARACTER_SHORT_NAME]'s eyes --ar 2.39:1 --stylize [NUMERICAL_VALUE] --v 7.0

Key Variable Breakdown:

  • [FOREGROUND_CHARACTER_DESCRIPTION]: Defines the un-focused anchor element close to the lens.
  • [BACKGROUND_CHARACTER_DESCRIPTION]: Defines the primary sharp subject across the optical axis.

Expected Outcome Guidance: A cinematic shot where the camera stands immediately behind one character's head, gazing across their shoulder directly into the eyes of the second character situated in the midground.

Failure Modes & Corrective Fixes: If the model renders the foreground character facing the camera instead, explicitly add seen from behind, facing away from camera into the immediate foreground character clause.

3. Asymmetric Vertical Horizon Eye-Line Framework

Controls spatial elevation, placing one character higher than the other while locking their vertical gaze alignment (looking up vs. looking down).

Low angle cinematic shot, [ENVIRONMENT_SETTING]. Positioned on a raised platform on the upper right frame, [HIGH_SUBJECT_DESCRIPTION], standing, looking down at a steep 45-degree angle to the left. On the lower left frame, [LOW_SUBJECT_DESCRIPTION], seated, looking up at a steep 45-degree angle to the right toward [HIGH_SUBJECT_SHORT_NAME]. Dynamic diagonal eye-line, dramatic directional light rays --ar 16:9 --stylize [NUMERICAL_VALUE] --v 7.0

Key Variable Breakdown:

  • [HIGH_SUBJECT_DESCRIPTION]: Subject placed on elevated ground plane.
  • [LOW_SUBJECT_DESCRIPTION]: Subject placed on lower ground plane.

Expected Outcome Guidance: A dynamic composition establishing authority or scale differences, featuring clear vertical offset with diagonal gaze vectors that intersect precisely along the diagonal axis.

Failure Modes & Corrective Fixes: If both subjects level out on the same horizontal plane, strengthen environmental elevation tokens such as standing on top of a concrete balcony versus standing on the lower street level below.

4. Three-Subject Triangular Focus Framework

Manages complex spatial balance among three entities, maintaining a principal subject while anchoring two secondary characters in distinct physical vectors.

Wide cinematic group framing, [SETTING_DESCRIPTION]. Primary focus on center midground, [PRIMARY_CHARACTER_DESCRIPTION], looking intently at [LEFT_CHARACTER_SHORT_NAME]. On the far left, [LEFT_CHARACTER_DESCRIPTION] facing right in profile, looking back at [PRIMARY_CHARACTER_SHORT_NAME]. On the far right, [RIGHT_CHARACTER_DESCRIPTION] standing slightly back in background depth, looking toward center at [PRIMARY_CHARACTER_SHORT_NAME]. Distinct physical spacing between all three figures, balanced compositional triangle --ar 16:9 --stylize [NUMERICAL_VALUE] --v 7.0

Key Variable Breakdown:

  • [PRIMARY_CHARACTER_DESCRIPTION]: Central spatial anchor.
  • [LEFT_CHARACTER_DESCRIPTION]: Left anchor point.
  • [RIGHT_CHARACTER_DESCRIPTION]: Right/background anchor point.

Expected Outcome Guidance: Three distinct individuals clearly visible without physical overlap, sharing an internal triangle of eye-line interactions rather than staring outward.

Failure Modes & Corrective Fixes: When managing 3+ characters, Midjourney frequently merges features. If fusion occurs, append specific distinct wardrobe colors (e.g., red jacket vs blue suit vs yellow coat) to isolate token attention clusters.

5. Motion Intercept Eye-Line Framework

Enforces direct ocular tracking between a moving character and a static observer, ensuring dynamic visual tension.

Action freeze frame, medium shot, [ENVIRONMENT_SETTING]. Moving from left to right across the midground, [MOVING_CHARACTER_DESCRIPTION] in mid-stride, turning head right to lock eyes with [STATIC_CHARACTER_SHORT_NAME]. On the right side of frame, [STATIC_CHARACTER_DESCRIPTION], stationary, tracking the motion while looking left directly at [MOVING_CHARACTER_SHORT_NAME]. Motion blur background, sharp focus on meeting gaze point --ar 16:9 --stylize [NUMERICAL_VALUE] --v 7.0

Key Variable Breakdown:

  • [MOVING_CHARACTER_DESCRIPTION]: Active subject undergoing directional velocity.
  • [STATIC_CHARACTER_DESCRIPTION]: Stationary subject serving as vector target.

Expected Outcome Guidance: A dynamic kinetic shot capturing motion along one axis while maintaining locked horizontal optical focus between subjects across the frame.

Failure Modes & Corrective Fixes: If motion blur smears the face of the moving character, insert sharp detailed facial features despite body motion blur immediately after the moving character prompt block.

Frequently Asked Questions

Q: Why does Midjourney v7 merge two distinct character prompts into one person?
A: Diffusion text encoders process tokens sequentially. Without strong spatial boundaries (e.g., on the left frame, on the right frame) and distinct visual traits, character descriptors bleed together across attention heads. Spatial anchoring isolates token domains to distinct regions of the image latent grid.

Q: How do --sref (Style Reference) and character parameters impact multi-character blocking?
A: High --sw (style weight) values often homogenize lighting and background geometry, which can flatten depth layers. When directing complex blocking, lower style weights (e.g., --sw 50 to 100) allow positional spatial text tokens to maintain priority over global style aesthetics.

Q: Can I use pan or vary (region) tools to fix broken eye-lines post-generation?
A: Yes. Inpainting via Midjourney's Vary (Region) tool is highly effective for correcting gaze lines. Select only the eye/head region of the character whose gaze vector is off-target, and re-prompt specifically with positional gaze direction tokens (e.g., head rotated 45 degrees looking left).

Comments