MiniMax H3 character consistency with a character sheet
MiniMax H3, also called Hailuo 3, keeps a character consistent in its reference mode: you upload up to nine images and say which subject each one defines. Because the weights are open, the same references also work in ComfyUI. This page shows which pack images to use, prompt templates in H3's own subject format, what changes when you run it locally, what a clip costs and how to fix a drifting face.
We have not made an example with MiniMax H3 yet. This page maps the pack to MiniMax's published limits and prompt guide; the examples on this site were made with Kling 3.0.
MiniMax H3 (official limits)
Checked 2026-10-26- Launched by MiniMax on 31 July 2026 and open-sourced on 3 August 2026. Hailuo 3 and Hailuo H3 are the same model, available in the Hailuo AI app and the MiniMax API (model MiniMax-H3, pay-as-you-go only).
- 4 to 15 seconds per clip on the API (the Hailuo app lists 5 to 15), 24 fps with stereo sound. 768P by default, 2K through regeneration; aspect ratios 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 or adaptive.
- Reference mode: up to 9 images, 3 videos and 3 audio clips, 12 files at most. Each image up to 30 MB, 256 to 5760 px per side, aspect ratio 0.4 to 2.5.
- Reference mode and first/last-frame mode cannot be mixed in one request.
- API price: $0.08 per second at 768P and $0.13 at 2K. The first 5 input images are free, then $0.04 each. Regenerating a 768P video to 2K costs $0.05 per second, and its input media are billed again.
- Open weights on Hugging Face (MiniMaxAI/MiniMax-H3) under the MiniMax H3 Community License: separate Ref2VA and FL2VA checkpoints. The prompt rewriter (H3-Context-IR) and 2K regeneration are API-only, so local output is 768p.
Sources: MiniMax: Introducing MiniMax H3 · MiniMax: H3 is now open source · MiniMax API: Create video generation task · MiniMax API: Overview (H3 model versions) · MiniMax API: Pricing · Hugging Face: MiniMaxAI/MiniMax-H3 · Hailuo AI: MiniMax H3 · ComfyUI docs: MiniMax H3 workflows
From turnaround sheet to MiniMax H3 in five steps
- Get a character sheet: download a pack from the library or a free character. The front, side and back are already separate files.
- Upload the five images below as reference images, in this order. Five keeps you inside the API's free image count.
- Define the character once as <Subject 1> and say which picture supplies what: face, profile, back, proportions.
- Describe the shots under detailed_description, cutting with timestamps such as "At 00:05.000".
- Generate at 768P. Regenerate only the take you keep to 2K: 768P plus regeneration costs the same per second as generating at 2K directly, so the rejected takes come out cheaper.
Which views to upload, in which order
Nine images is the ceiling, so spend them on the views that hold identity. Add the outfit or prop images (03_outfits, 04_props) only when the shot needs them; images six to nine cost $0.04 each on the API.
- <Picture 1>
02_turnaround_views/view_front.pngFace and front of the outfit - <Picture 2>
02_turnaround_views/view_side.pngProfile and hair from the side - <Picture 3>
02_turnaround_views/view_back.pngHair and outfit from behind - <Picture 4>
01_character_reference/full_body.pngHeight and proportions - <Picture 5>
05_scenes/scene_workspace.pngThe location
MiniMax's reference guide says one subject can be defined by several images, with each image's contribution stated. That is exactly a turnaround: one <Subject> built from front, side and back.
Why three separate views beat one good angle
A single image, even a well-chosen three-quarter view, only shows part of the character. When the character turns, the model has to invent the profile and the back, and that is where the face, hair and outfit start to drift. Upload the front, side and back as separate references and give each one a single role in the prompt, as the official guide recommends. If you also have a three-quarter view, add it as an extra reference rather than using it on its own.
Keep one face per image: crop expression grids out of the sheet, and paste the same locked appearance description into every shot's prompt.
Prompt template: one character
subject_definitions: <Subject 1> is [Name], whose face and outfit front come from <Picture 1>, profile and hair from <Picture 2>, back from <Picture 3> and height and proportions from <Picture 4>: [skin, eyes, hair, outfit colors]. <Subject 2> is the [location] from <Picture 5>. summary: [reference generation] <Subject 1> [does what] in <Subject 2>. retention_analysis: <Subject 1> (appears in [Shot 1], [Shot 2]): fully_preserved - face, hairstyle, outfit and proportions are retained. <Subject 2> (appears in [Shot 1], [Shot 2]): fully_preserved - layout and lighting are retained. detailed_description: [Shot 1] [Style], [shot size, camera move]. <Subject 1> [position, action, expression]. [Shot 2] At 00:05.000, the camera cuts to [..]. <Subject 1> [..]. overall_soundscape: [..] non_diegetic_music: none
This is the structured format from MiniMax's reference-mode prompt guide, the same structure its hosted H3-Context-IR step writes. On the API and in the Hailuo app a plain description that names the reference images also works; MiniMax's own API example is one plain sentence. The open weights have no Context-IR, and MiniMax recommends following its prompt guide instead, so this format matters most when you run H3 locally.
Prompt template: two characters
subject_definitions: <Subject 1> is [Name A], whose appearance comes from <Picture 1> (front) and <Picture 2> (side): [key features]. <Subject 2> is [Name B], whose appearance comes from <Picture 3> (front) and <Picture 4> (side): [key features]. <Subject 3> is the [location] from <Picture 5>. summary: [reference generation] <Subject 1> and <Subject 2> [..] in <Subject 3>. retention_analysis: <Subject 1> (appears in [Shot 1]): fully_preserved - identity, hair and outfit are retained. <Subject 2> (appears in [Shot 1]): fully_preserved - identity, hair and outfit are retained. detailed_description: [Shot 1] <Subject 1> stands on the left, <Subject 2> on the right. [..] overall_soundscape: [..] non_diegetic_music: none
With two characters, front and side for each plus a scene uses five images. Fix who stands where, and keep each character's description identical in every clip.
Character sheet plus a first frame
The API will not combine a first_frame image with reference images. Upload the frame as another reference image instead and declare it in the prompt: "<Picture 6> is the first frame of [Shot 1]". MiniMax's guide uses a standalone <Picture N> for exactly this case.
Running the open weights in ComfyUI
- Reference-to-video needs the ref2va weights, not the fl2va weights used for text and image to video.
- Images become <Picture 1>, <Picture 2>… in node order (ref_image_0 is <Picture 1>), so wire the pack files in the order above.
- The 4-step Turbo LoRA is faster but holds references more weakly. When the face must hold, use the base schedule at 20–25 steps.
- Style LoRAs compete with the references; ComfyUI suggests a low strength (about 0.5) when adherence matters.
Community workflows that turn 1–9 images into one H3 character sheet are third-party, not part of MiniMax's release.
What one attempt costs on the API
From MiniMax's official price list. Five reference images are free; video inputs are billed by their length.
- 10 seconds at 768P: $0.80
- 15 seconds at 768P: $1.20
- 15 seconds at 2K: $1.95
- Regenerating a kept 15-second take to 2K: $0.75, plus any paid input images again
The Hailuo app has its own plans and credits. MiniMax's video packages do not cover H3 yet.
H3, Highspeed, Lite or Max: which version to use
MiniMax's API now offers four H3 versions. All of them accept reference images and use the same request format, so the same pack files, picture order and prompt work if you only change the model name.
- MiniMax-H3: the quality version. 768P or 2K, 4–15 seconds, $0.08 per second at 768P and $0.13 at 2K. The first 5 images are free, then $0.04 each. It is the only version that supports the H3-Context-IR prompt step and 2K regeneration.
- MiniMax-H3-Highspeed: balances quality and speed. 768P only (no 2K), 4–15 seconds, $0.06 per second. The first 5 images are free, then $0.03 each.
- MiniMax-H3-Lite: the low-cost version for exploration and batches. 480P or 768P, 4–15 seconds, $0.025 per second at 480P and $0.04 at 768P. The first 5 images are free, then $0.02 each. It does not accept the adaptive aspect ratio yet, so set one such as 16:9 or 9:16.
- MiniMax-H3-Max: a fast version post-trained by fal.ai on H3. 480P or 768P, 5–15 seconds (no 4-second clips), $0.05 per second at 480P and $0.08 at 768P. Only the first 2 images are free, then $0.074 each, so a five-image pack adds about $0.22 per clip.
A cheap way to test a character: draft the shots on Lite at 480P with the five pack images (10 seconds costs $0.25), then render the take you keep on MiniMax-H3 at 768P with the same pictures and the same subject_definitions. We have not compared how well each version holds a face, so check the final take on H3 before you build a longer sequence on a cheaper version.
Some third-party listings describe Highspeed as going up to 2K. MiniMax's API reference lists 768P only for Highspeed, and regeneration to 2K only takes 768P videos made by MiniMax-H3.
Face drift and other problems
- The face changes from shot to shot.
- Use the same pictures in the same order and paste the same subject_definitions line into every clip. Change only the shots, never the identity text.
- Faces got softer after switching on Turbo.
- The 4-step Turbo LoRA trades reference strength for speed. Go back to 20–25 steps for the final render.
- The request fails when I add a first frame.
- First/last-frame and reference images are mutually exclusive. Send the frame as a reference image and name it as the first frame in the prompt.
- Two characters swap features.
- Give each character its own <Subject> with its own pictures, fix their positions, and list both as fully_preserved in retention_analysis.
- The side profile is invented.
- Make sure the side view is uploaded and named as the profile in the subject definition. A front view alone shows the model nothing to copy.
- My draft looked fine on Lite, but the face changed on H3.
- The versions are different models, so treat the Lite draft as a test of the shots, not of the final face. Keep the same pictures in the same order and the same subject_definitions, and judge identity only on the version you will publish.
Start with a free character
Every character's full 19-image pack is free: eight starter characters need no account, the rest a free sign-up. All nine example ads use pack images only.
Browse free characters