Image-to-video on a portrait fails the same way every time: the face drifts. Each frame is a fresh generation, so any high-motion prompt gives the model permission to redraw the identity. The fix is to ask for the smallest plausible motion (a breath, a blink, a 20-degree eye shift) and keep the clip short, 2 to 4 seconds. The prompts below enforce that floor, with model-specific notes current as of June 2026.
TL;DR: Pick one micro-motion per clip, paste an identity-lock phrase verbatim, cap at 4 seconds, and start from a source image at least 1024px on the short side. On Kling 3.0, also bind the face with reference images before you run. For a 10-second result, render two 4s clips and crossfade in post rather than fighting drift in one shot.
Best for
- Profile reveal cuts on a brand site or LinkedIn
- Speaker intros and podcast title cards
- Story panel beats in webcomic-style narrative video
- Album / single artwork that needs a subtle motion loop
Which model handles portraits best (June 2026)
Identity stability varies more by model than by prompt. The prompts below work everywhere, but these are the practical trade-offs as of June 2026:
| Model | Why for portraits | Max clip | Entry price |
|---|---|---|---|
| Kling 3.0 | Strongest image-to-video; Element Binding face-lock + 3D face/body reconstruction cuts warping | 10s (15s on select modes) | Standard ~$6.99/mo |
| Hailuo 2.3 (MiniMax) | Natural facial micro-expressions; built for subtle live-action-style performance | ~10s | ~$0.045/sec at 768p; Standard ~$9.99/mo |
| Runway Gen-4 / Gen-4.5 | Director controls (motion brush, camera moves) for precise, tiny motion | up to ~60s, but keep portraits short | Standard $12/mo (625 credits) |
| Google Veo 3.1 | Best all-around fidelity, native audio, 4K | varies | via Google AI plans |
For pure portrait micro-motion, start on Kling 3.0 (Element Binding) or Hailuo 2.3. Reach for Runway when you need the motion brush to confine movement to a single region (just the eyes, just the mouth).
Subtle Breath
image-to-video, subject breathes slowly, micro expression, no head movement, identity locked, 3 seconds
Slight Smile
image-to-video, subject's expression slowly transitions to slight warm smile, no other motion, identity locked, 3 seconds
Eye Shift
image-to-video, subject's eyes slowly shift 20 degrees to the right, micro pupil dilation, identity locked, no head movement, 2 seconds
Variables to fill before you prompt
- Motion type: breath, blink, smile, eye shift. One micro-motion per clip.
- Duration: 2 to 4 seconds. Past that, identity drift compounds.
- Identity lock phrase: keep “identity locked, no head movement” verbatim across variants.
- Source resolution: 1024px on the short side, minimum. Up-res before the image-to-video pass.
When this fits
Use it for hero portraits, speaker intros, and album-art loops. For active motion or full-body subjects, switch to character motion video prompts. When drift sneaks in, see the AI video motion drift fix.
How to refine
Always state “identity locked, no head movement” explicitly. Even when the prompt only asks for a smile, models tend to add head sway. Keep clips under 4 seconds; identity drift compounds past that window. If you need a longer clip, generate two short ones and crossfade in post.
Model-specific tips, as of June 2026:
- Kling 3.0: Before you prompt, add the face to the Element Library with 3-4 reference images (front, side, profile) and enable Bind Elements / Element Binding. This is the single biggest stability win and matters more than the text wording. Its 3D face reconstruction handles the micro-motions above with almost no warping.
- Hailuo 2.3: Lean into “micro expression” wording. It is tuned for subtle facial performance, so the breath and slight-smile prompts read naturally; avoid stacking camera moves.
- Runway Gen-4 / Gen-4.5: Use the motion brush to paint motion onto only the eyes or mouth and freeze the rest. That confines drift to the region you actually want to move.
The image-to-video workflow and AI video motion drift fix cover the longer recovery path when drift happens anyway.
Common mistakes
- High motion warps identity (head turns are the worst offender)
- Long clip; identity stays stable to about 4s, drifts after
- No “identity locked” cue, so the model adds sway by default
- Source image too low-resolution; up-res to 1024px+ before image-to-video
- Two motion cues in one prompt (breath + smile); the model averages both and the face wobbles
- On Kling 3.0, skipping Element Binding and relying on the text prompt alone
FAQ
Can I get a 10-second clip with stable identity? Rarely from a single render. Generate two 4-second clips and crossfade in post; that is safer than fighting drift. Kling 3.0 with Element Binding holds longer than most, but 4s remains the reliable ceiling for these micro-motion prompts.
Which tool is best for portraits right now? As of June 2026, Kling 3.0 (Element Binding face-lock) and Hailuo 2.3 (natural micro-expressions) lead for portrait micro-motion. Runway Gen-4 wins when you need the motion brush to isolate one region. Veo 3.1 is the strongest all-rounder if you also want native audio.
Does the source need to be AI-generated? No. A clean photo at 1024px+ works the same. Just ensure you have rights to use the likeness.
Why does the smile sometimes flicker? The model is interpolating an expression it never saw in the source. Try a softer phrasing (“slight upward mouth corner”) before raising motion strength.
Before you publish
Portrait animation can raise consent and likeness concerns when the subject is identifiable. Make sure you have the right to animate the source image and check the platform’s rules on synthetic media. Many platforms now expect AI-generated video to be labeled; see Kling’s usage terms and the broader note in our disclaimer.
Related
- Image-to-video prompts — broader image-to-video library
- Character motion video prompts — when motion is the point
- Image-to-video workflow — production tutorial
- AI video motion drift fix — recover when drift happens
- Portrait to Video Prompts: 10 Still-to-Motion Templates
Tags: #Image-to-video #Portrait