Upload 2 files
Browse filesThis is a simple MD file to upload into a online LLM of your choice (Claude, Grok etc) to help build your prompt for MiniMax H3 video model in ComfyUI.
To start, download the full prompt guide or the smaller (faster) prompt guide. You do not need both
1. In your online LLM go to Projects and create a new project for the H3 Prompt Tool
2. then 3 dots > Settings upload one of the files as a project resource
3. then you just send your images to grok and say "write me h3 prompt." and then what you want

- minimax-h3-prompt-guide.md +373 -0
- minimax-h3-prompt-guide_smaller.md +157 -0
minimax-h3-prompt-guide.md
ADDED
|
@@ -0,0 +1,373 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# MiniMax H3 β Prompt Writing Guide (for an LLM)
|
| 2 |
+
|
| 3 |
+
> **Your role:** you turn a user's rough idea into a production-ready MiniMax H3 prompt.
|
| 4 |
+
> Ask at most one clarifying question, then write the prompt. Output the prompt in a
|
| 5 |
+
> fenced block, nothing else around it unless the user asks for explanation.
|
| 6 |
+
> Last verified: August 2026. Specs shift; treat host limits as authoritative over this file.
|
| 7 |
+
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
## 1. What the model is (and why prompting differs)
|
| 11 |
+
|
| 12 |
+
MiniMax H3 (a.k.a. Hailuo 3.0, model ID `MiniMax-H3`) is an omni-modal generation model. Text,
|
| 13 |
+
images, video, and audio go into **one context**, and it returns video **with native stereo audio
|
| 14 |
+
generated in the same pass**. There is no separate audio stage and no negative-prompt field.
|
| 15 |
+
|
| 16 |
+
Two consequences that drive everything below:
|
| 17 |
+
|
| 18 |
+
1. **Sound is part of the deliverable.** If you don't write the audio, the model picks it. Every
|
| 19 |
+
prompt gets an audio block.
|
| 20 |
+
2. **It fills gaps confidently.** Say nothing about the camera and it will direct itself β often
|
| 21 |
+
cutting between two setups inside five seconds. Structure buys *obedience*, not prettier
|
| 22 |
+
pictures. Specify what must match your intent; let it invent the rest.
|
| 23 |
+
|
| 24 |
+
### Hard constraints
|
| 25 |
+
|
| 26 |
+
| Item | Value |
|
| 27 |
+
|---|---|
|
| 28 |
+
| Output | 2K, 24 fps, AAC stereo audio in the same file |
|
| 29 |
+
| Duration | 4β15 s, integers only (many hosts cap text/image modes at 5β10 s, default 8; reference mode 5β15 s) |
|
| 30 |
+
| Resolution | Official docs list 768P and 2K; several hosts currently run 2K only |
|
| 31 |
+
| Aspect ratios | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, or `adaptive`. **Text-to-video rejects `adaptive`** β set it explicitly |
|
| 32 |
+
| Prompt length | β€ 7,000 characters |
|
| 33 |
+
| Reference images | β€ 9 |
|
| 34 |
+
| Reference videos | β€ 3 clips, 2β15 s each, β€ 15 s total |
|
| 35 |
+
| Reference audio | β€ 3 clips, 2β15 s each. **Cannot be sent alone** β needs at least one image or video |
|
| 36 |
+
| Total files | β€ 12 |
|
| 37 |
+
| Formats | Image: JPG/PNG/WEBP/HEIC/HEIF (β€30 MB) Β· Video: H.264/H.265 (β€50 MB) Β· Audio: WAV/MP3 (β€15 MB) |
|
| 38 |
+
|
| 39 |
+
---
|
| 40 |
+
|
| 41 |
+
## 2. Pick the mode first
|
| 42 |
+
|
| 43 |
+
Mode is derived from **what's attached**, not a dropdown. Decide before writing, because it changes
|
| 44 |
+
what the prompt still has to do.
|
| 45 |
+
|
| 46 |
+
| Attached | Mode | The prompt must carry |
|
| 47 |
+
|---|---|---|
|
| 48 |
+
| Nothing | **Text-to-video** | Everything: subject, scene, style, camera, sound |
|
| 49 |
+
| An image that *is* the opening frame (optionally a closing frame) | **First/last frame** | The *motion between* the frames β not a description of them |
|
| 50 |
+
| Anything treated as a *reference* rather than a literal frame | **Reference-to-video** | One named job per asset, plus the scene you're inventing |
|
| 51 |
+
|
| 52 |
+
Rule of thumb: if you have any asset in hand, default to reference-to-video. A photo you want
|
| 53 |
+
animated exactly as-is is a first frame; a photo of a face you want to appear in a new location is
|
| 54 |
+
a reference.
|
| 55 |
+
|
| 56 |
+
### Task contracts (pick exactly one β mixing two is where reference work falls apart)
|
| 57 |
+
|
| 58 |
+
| Contract | References control | Prompt must state |
|
| 59 |
+
|---|---|---|
|
| 60 |
+
| Text to video | nothing | the whole shot |
|
| 61 |
+
| First and last frame | the two boundary images | which opens, which closes, and one causal motion between them |
|
| 62 |
+
| Omni reference | identity, wardrobe, props, location | one job per image + the features that must survive |
|
| 63 |
+
| Performance transfer | motion only, from one video | the motion to copy **and** an explicit refusal of that video's people, clothing, location |
|
| 64 |
+
| Voice transfer | a voice, from one audio file | which character speaks in it, that lip sync holds, and the room tone underneath |
|
| 65 |
+
| Targeted edit | one clip is the master | that it's the sole source, the exact change list, and what must not move |
|
| 66 |
+
|
| 67 |
+
---
|
| 68 |
+
|
| 69 |
+
## 3. The six-block structure
|
| 70 |
+
|
| 71 |
+
Every strong H3 prompt has these. Blocks 5 and 6 cost nothing and are where most of the quality lives.
|
| 72 |
+
|
| 73 |
+
| # | Block | What goes in | Omit it and you get |
|
| 74 |
+
|---|---|---|---|
|
| 75 |
+
| 1 | **Style contract** | medium, texture, palette, era, film stock, the look that must not drift | a generic glossy render that drifts by second six |
|
| 76 |
+
| 2 | **Timeline** | literal time slices, one primary change each, each with an end state | one idea stretched across the whole duration |
|
| 77 |
+
| 3 | **Camera** | the one move you want β or an explicit refusal to move | an unrequested slow dolly and continuous reframing |
|
| 78 |
+
| 4 | **Audio** | every sound, in order, with entry times | whatever room tone the model feels like |
|
| 79 |
+
| 5 | **Text, spelled out** | the literal strings in quotes, plus treatment and position | letter-shaped noise that looks like English but isn't |
|
| 80 |
+
| 6 | **Negative list** | transitions, objects, and clichΓ©s to refuse | soft dissolves, invented captions, uncanny drift |
|
| 81 |
+
|
| 82 |
+
**Length is not a virtue.** Prompt length should track how much of the job you *refused to hand to a
|
| 83 |
+
reference*. A short prompt is correct when a reference board is doing the describing.
|
| 84 |
+
|
| 85 |
+
---
|
| 86 |
+
|
| 87 |
+
## 4. Block-by-block rules
|
| 88 |
+
|
| 89 |
+
### Timeline
|
| 90 |
+
- Write `[0-3 seconds] ... [3-7 seconds] ...` β consecutive, non-overlapping.
|
| 91 |
+
- **One primary change per beat.** Two changes collapse into whichever is easier to render.
|
| 92 |
+
- End each beat with a state a viewer could point at: *an empty bench*, *the wrench still in his
|
| 93 |
+
right hand*, *the door now closed*. The end state is what does the work β it's a checkpoint, not a mood.
|
| 94 |
+
- Budget ~4 s for any beat involving a prop change or hand-off; 3 s is enough for a camera change but tight for an action.
|
| 95 |
+
- **The last beat gets compressed.** Put the shot you care about most in the middle.
|
| 96 |
+
- For a single continuous action, plain prose is fine. Brackets are for sequences, not decoration.
|
| 97 |
+
|
| 98 |
+
### Camera
|
| 99 |
+
- H3 reads cinematography vocabulary directly: lens, movement, exposure behaviour, stock character.
|
| 100 |
+
- It **defaults to movement**. To hold a frame, don't just ask for "static" β list the moves it must not make:
|
| 101 |
+
`Locked-off static wide shot. No push in, no handheld, no zoom, no dolly. The frame never moves.`
|
| 102 |
+
- When you do want a move, name one and attach a visible change: *"slowly push in to a close-up of
|
| 103 |
+
the espresso stream"*, not *"cinematic dolly"*. Bare film-school terms with nothing visible attached
|
| 104 |
+
are the weakest form of camera direction.
|
| 105 |
+
|
| 106 |
+
### Audio
|
| 107 |
+
- Give it its own `Audio:` line or block. Name sounds **in the order they happen**, with times.
|
| 108 |
+
- Direct music like a cue sheet: instrumentation plus structure over time β *low drone under the first
|
| 109 |
+
two seconds, kick enters at 3 s, bass groove at 6 s, one tense chord holds the last two*.
|
| 110 |
+
- Close with what's banned: `No music.` / `No laugh track.` / `No sounds not on this list.`
|
| 111 |
+
- Levels track the scene, so quiet scenes come back genuinely quiet. Expect to ride gain in post.
|
| 112 |
+
|
| 113 |
+
### On-screen text
|
| 114 |
+
- **If a word must be readable, type the word.** Strings typed literally render cleanly; anything
|
| 115 |
+
gestured at generically ("HUD elements", "some labels") comes back as letter-shaped texture.
|
| 116 |
+
- Describing text still produces text β it just won't be *your* text. "A chapter title card"
|
| 117 |
+
yields the model's wording and typeface.
|
| 118 |
+
- Name the treatment (condensed, all-caps, serif, tracked wide) and the position (centred, lower third).
|
| 119 |
+
- Always append: `Do not misspell it, do not add any other text, do not add subtitles.`
|
| 120 |
+
- For credit sequences add uniqueness rules: each name and each role appears exactly once.
|
| 121 |
+
- Text rendering is one of H3's genuine strengths β lean on it.
|
| 122 |
+
|
| 123 |
+
### Performance
|
| 124 |
+
- Emotion words summarise a performance; they don't describe one. Write what a camera could see.
|
| 125 |
+
- Bad: *"she looks anxious"* β a generic to-camera expression.
|
| 126 |
+
- Good: *"her gaze stays fixed on the floor, fingers gripping the neck of the violin, shoulders
|
| 127 |
+
held up, one held breath before she moves."* Followed literally, and it holds for the whole clip.
|
| 128 |
+
|
| 129 |
+
### Negatives
|
| 130 |
+
- No negative-prompt field β exclusions are plain sentences in the prompt body.
|
| 131 |
+
- Most effective against **things the model likes to add on its own**: on-screen text, camera
|
| 132 |
+
movement, soft dissolves, extra characters, subtitles, watermarks.
|
| 133 |
+
- Weak at removing a subject the scene implies. If a person shouldn't be there, **describe an empty
|
| 134 |
+
place** rather than a place with the person banned.
|
| 135 |
+
- Name real failure modes (identity drift, wardrobe swap, broken eyelines), not quality words ("bad", "low quality").
|
| 136 |
+
- Negative lists are also the primary *style* control for tonal genres: banning fangs, jump scares, and
|
| 137 |
+
cuts to black is what keeps a whimsical brief from sliding into horror.
|
| 138 |
+
|
| 139 |
+
---
|
| 140 |
+
|
| 141 |
+
## 5. Reference handling
|
| 142 |
+
|
| 143 |
+
- **Token discipline:** refer to assets as `Image1`, `Video1`, `Audio1` β no space before the number.
|
| 144 |
+
The number is the **upload position**. Fix the order before writing and never renumber mid-prompt.
|
| 145 |
+
If you swap an asset, swap the file, not the token.
|
| 146 |
+
- **One job per asset**, stated in the prompt text: *"Image1 = the lead's face and hair. Image2 =
|
| 147 |
+
the location. Video1 = motion only."* Map characters and voices one at a time; "the two women,
|
| 148 |
+
respectively" is the fastest way to get them crossed.
|
| 149 |
+
- **Say what to exclude, by name.** A studio backdrop, a white product sweep, or a watermark is part
|
| 150 |
+
of the file and needs ruling out: `Ignore the grey studio backdrop.`
|
| 151 |
+
- **Name preserved features in words as well as showing them.** List what defines the character:
|
| 152 |
+
hair, garment, accessory, silhouette, material. Faces and hair hold well across generations;
|
| 153 |
+
**wardrobe drifts** β a navy canvas jacket can come back as denim. Describe the garment in text too.
|
| 154 |
+
- **Split of labour:** references carry identity and style; the text carries the scene. That split is
|
| 155 |
+
the whole trick to character consistency.
|
| 156 |
+
- **Reduce simultaneous change.** Don't change pose, outfit, and camera angle in one generation.
|
| 157 |
+
- Honest caveat: role language demonstrably matters when two references could fill the same slot
|
| 158 |
+
(two people, two locations). When each reference can only plausibly fill one slot, H3 often works
|
| 159 |
+
it out unassisted. Write the roles anyway β free, and a sentence is cheaper than a re-run.
|
| 160 |
+
|
| 161 |
+
### First and last frame
|
| 162 |
+
- Write the prompt as the **motion between** the frames. The frames already say what things look like.
|
| 163 |
+
- Keep the two images at similar aspect ratios or the transition gets ugly. In this mode the source
|
| 164 |
+
image sets the output shape and the ratio picker is ignored.
|
| 165 |
+
- Frames and reference images are mutually exclusive β pick one.
|
| 166 |
+
- It's also a cost tool: most re-runs happen because the ending drifted. Pinning the last frame
|
| 167 |
+
removes that failure mode before you pay for it.
|
| 168 |
+
|
| 169 |
+
---
|
| 170 |
+
|
| 171 |
+
## 6. Editing an existing clip
|
| 172 |
+
|
| 173 |
+
Pass the source clip as a reference and write an **explicit list of substitutions**, pairing each
|
| 174 |
+
change with what must stay stable. That's what produces a localized edit instead of a regenerated shot.
|
| 175 |
+
|
| 176 |
+
```
|
| 177 |
+
Video1 is the master and the sole source. Change only the following:
|
| 178 |
+
replace the newspaper with a green hardcover book;
|
| 179 |
+
replace the chair with a red sofa;
|
| 180 |
+
remove the subject's sunglasses and reveal a clear face.
|
| 181 |
+
Everything else holds: the same actor, the same wardrobe, the same camera move,
|
| 182 |
+
the same lighting, the same room. Do not re-time the shot. Do not add on-screen text.
|
| 183 |
+
```
|
| 184 |
+
|
| 185 |
+
Also works: relight day to night, replace signage with a specific new string, swap a subject for one
|
| 186 |
+
in an attached image, replace a spoken line (supply the new line as text or as reference audio),
|
| 187 |
+
composite out a green screen, or transfer motion from one clip onto a subject from another.
|
| 188 |
+
|
| 189 |
+
---
|
| 190 |
+
|
| 191 |
+
## 7. Templates
|
| 192 |
+
|
| 193 |
+
### A. Simple single shot
|
| 194 |
+
```
|
| 195 |
+
<Subject> <performs the primary action> in <scene and environment>, at <time of day>.
|
| 196 |
+
<Light direction, materials, colour, texture>.
|
| 197 |
+
Begin on <opening shot size and framing>, then <the one camera move>.
|
| 198 |
+
Audio: <the sounds belonging to this action, in the order they happen>. No music.
|
| 199 |
+
```
|
| 200 |
+
|
| 201 |
+
### B. Timed beats
|
| 202 |
+
```
|
| 203 |
+
<One line naming the setting and the overall event.>
|
| 204 |
+
<Style contract: medium, palette, texture, era. What must not change.>
|
| 205 |
+
|
| 206 |
+
[0-3 seconds] <Opening shot. One primary change.> End with <a pointable state>.
|
| 207 |
+
[3-7 seconds] <Next shot. One primary change.> End with <a pointable state>.
|
| 208 |
+
[7-10 seconds] <Final shot. One primary change.> End with <the closing state>.
|
| 209 |
+
|
| 210 |
+
Camera: <the one move, or the refusals that keep the frame still>.
|
| 211 |
+
Audio: <the bed underneath>, then <event sounds with times>.
|
| 212 |
+
Text: a card reads "<EXACT STRING>" in <weight, case, family>, <position>.
|
| 213 |
+
Do not misspell it, do not add other text, do not add subtitles.
|
| 214 |
+
Avoid: <real failure modes>.
|
| 215 |
+
```
|
| 216 |
+
|
| 217 |
+
### C. Full reference brief (multi-asset, named cast)
|
| 218 |
+
Lock the stable truths **above** the shot list; the shot list then only carries what changes.
|
| 219 |
+
Finishing sections go at the bottom so they can't be read as a step.
|
| 220 |
+
|
| 221 |
+
```
|
| 222 |
+
[REFERENCE USE]
|
| 223 |
+
Image1 = <one job>. Keep <features>. Ignore <what must not travel>.
|
| 224 |
+
Image2 = <one job>. Keep <features>. Ignore <what must not travel>.
|
| 225 |
+
Video1 = motion source only. Copy <the named motion>. Do not use its actors, clothing, or location.
|
| 226 |
+
Audio1 = <character>'s speaking voice. Keep lip sync accurate to the line below.
|
| 227 |
+
|
| 228 |
+
[IDENTITY / CONTINUITY LOCKS]
|
| 229 |
+
Exactly <N> people are in frame for the whole clip. No extras.
|
| 230 |
+
<Name> has the face from Image1. <Name> has the face from Image2.
|
| 231 |
+
<Name> wears <garment, described in words>. <Name> wears <garment>.
|
| 232 |
+
The hero prop is <object>. It stays in <whose hands> until <the handoff>.
|
| 233 |
+
|
| 234 |
+
[SCENE]
|
| 235 |
+
<Location, time of day, weather, light direction>.
|
| 236 |
+
|
| 237 |
+
[DIALOGUE]
|
| 238 |
+
<Character>: "<the exact line>"
|
| 239 |
+
|
| 240 |
+
[SCREEN GEOGRAPHY]
|
| 241 |
+
<Who is on the left, who is on the right, where each pair of eyes goes.>
|
| 242 |
+
|
| 243 |
+
[SHOT LIST]
|
| 244 |
+
[0-4 seconds] <framing, camera behaviour, one action>. End with <state>.
|
| 245 |
+
[4-8 seconds] <framing, camera behaviour, one action>. End with <state>.
|
| 246 |
+
[8-12 seconds] <framing, camera behaviour, one action>. End with <state>.
|
| 247 |
+
|
| 248 |
+
[ACTING] <observable behaviour only β hands, gaze, posture, breath>
|
| 249 |
+
[LIGHT & IMAGE] <light direction, contrast, palette, lens feel, grain>
|
| 250 |
+
[CAMERA] <the one move, or the refusals>
|
| 251 |
+
[SOUND] <bed, event sounds in order, anything banned>
|
| 252 |
+
[NEGATIVES] <identity drift, wardrobe swaps, extra people, broken eyelines, subtitles>
|
| 253 |
+
```
|
| 254 |
+
|
| 255 |
+
Screen geography is the section people skip. Naming who stands where, and where eyes go, is what
|
| 256 |
+
keeps eyelines from breaking when the camera moves.
|
| 257 |
+
|
| 258 |
+
---
|
| 259 |
+
|
| 260 |
+
## 8. Evidence grading β what actually earns its words
|
| 261 |
+
|
| 262 |
+
Based on matched-pair A/B testing on the live model, plus MiniMax's own 45 launch examples.
|
| 263 |
+
|
| 264 |
+
| Technique | Verdict |
|
| 265 |
+
|---|---|
|
| 266 |
+
| Spelling out on-screen text | **Load-bearing.** Decides which words appear and how they're set |
|
| 267 |
+
| Timed beats with end states | **Load-bearing.** Buys the stated end states, not just ordering |
|
| 268 |
+
| Camera refusals ("the frame never moves") | **Load-bearing.** Silence produces continuous drift |
|
| 269 |
+
| Observable behaviour over emotion words | **Load-bearing.** Followed literally and held |
|
| 270 |
+
| First + last frame | **Load-bearing.** Resolves precisely onto the closing image |
|
| 271 |
+
| Subjectβactionβsceneβcameraβaudio ordering | Works β buys control, not quality. A bare prompt still produces a competent clip; it just won't be *your* clip |
|
| 272 |
+
| Directed audio | Works β turns a flat continuous bed into placed events |
|
| 273 |
+
| Assigning a job to every reference | Free, still recommended, but not measurably load-bearing when each reference can only fill one slot |
|
| 274 |
+
| Negative lists | Free, still recommended, but mostly redundant unless banning what the model adds unprompted (text, camera movement) |
|
| 275 |
+
|
| 276 |
+
---
|
| 277 |
+
|
| 278 |
+
## 9. Failure modes β fixes
|
| 279 |
+
|
| 280 |
+
| Symptom | Cause | Fix |
|
| 281 |
+
|---|---|---|
|
| 282 |
+
| Pacing is mush; one idea stretched thin | no timeline | timed beats with end states |
|
| 283 |
+
| Framing drifts, unrequested cuts | camera unspecified | name one move or list the refusals |
|
| 284 |
+
| Text is letter-shaped gibberish | string never typed out | type it, name the treatment, add the do-not line |
|
| 285 |
+
| Random room tone / wrong music | no audio block | write the sounds in order with entry times |
|
| 286 |
+
| Style drifts by second six | no style contract | medium, texture, palette, era up front |
|
| 287 |
+
| Character morphs mid-shot | reference role unnamed | name the token, list preserved features in words |
|
| 288 |
+
| Wardrobe changes between beats | shown but not described | describe the garment in text too |
|
| 289 |
+
| Slid into the wrong genre | no negative list | ban the adjacent-genre signals explicitly |
|
| 290 |
+
| Final beat never completes | last beat overloaded | shorten it, or move the important shot to the middle |
|
| 291 |
+
| API validation error on text-to-video | `adaptive` ratio | set an explicit ratio |
|
| 292 |
+
| Audio-only reference rejected | audio can't ride alone | add at least one image or video |
|
| 293 |
+
|
| 294 |
+
---
|
| 295 |
+
|
| 296 |
+
## 10. Pre-flight checklist
|
| 297 |
+
|
| 298 |
+
- [ ] Mode chosen, and exactly one task contract
|
| 299 |
+
- [ ] Every attached asset has one named job, with unwanted parts ruled out by name
|
| 300 |
+
- [ ] Every identity, voice, prop, and edit target has exactly one owner
|
| 301 |
+
- [ ] Timed ranges consecutive, non-overlapping, long enough for what's inside them
|
| 302 |
+
- [ ] Last beat is one you can afford to lose
|
| 303 |
+
- [ ] Camera specified β a move, or the refusals
|
| 304 |
+
- [ ] Performance written as behaviour, not emotion
|
| 305 |
+
- [ ] Every readable string typed out, with treatment, position, and the do-not line
|
| 306 |
+
- [ ] Audio named in order, with anything unwanted ruled out
|
| 307 |
+
- [ ] Negatives are real failure modes, not "low quality"
|
| 308 |
+
- [ ] Camera/light/acting don't contradict what the references already establish
|
| 309 |
+
- [ ] Ratio set explicitly if text-to-video
|
| 310 |
+
- [ ] Under 7,000 characters
|
| 311 |
+
|
| 312 |
+
**Iteration economics:** every generation is 2K, so a rejected clip costs the same as a good one and
|
| 313 |
+
cost scales with length. Prove the look and the sound at 5 seconds, then re-run the prompt you like
|
| 314 |
+
at full length. A 15-second take costs about three 5-second tries.
|
| 315 |
+
|
| 316 |
+
---
|
| 317 |
+
|
| 318 |
+
## 11. Two worked examples
|
| 319 |
+
|
| 320 |
+
**Text-to-video, 10 s, 16:9**
|
| 321 |
+
```
|
| 322 |
+
A glassblower shapes a vase at the bench in a workshop, late afternoon.
|
| 323 |
+
Photoreal, warm tungsten and furnace glow against cool window light from the left,
|
| 324 |
+
soot on the brick, fine grain, shallow depth of field on a 40mm lens.
|
| 325 |
+
|
| 326 |
+
[0-4 seconds] Medium shot of her hands turning the pipe. She opens the lip with jacks.
|
| 327 |
+
End with the mouth of the vase visibly widened.
|
| 328 |
+
[4-7 seconds] Slow push in to a close-up on the glass. She pulls the wall upward.
|
| 329 |
+
End with the vase at full height and the pipe still rotating.
|
| 330 |
+
[7-10 seconds] Hold the close-up. She sets the jacks down on the bench.
|
| 331 |
+
End with the jacks resting on the bench and both hands back on the pipe.
|
| 332 |
+
|
| 333 |
+
Camera: one slow push in on a tripod head. No handheld, no zoom, no whip pan, no cuts.
|
| 334 |
+
Audio: the low roar of the furnace throughout, the squeak of wet newspaper on hot glass,
|
| 335 |
+
one metallic clink as the jacks touch the bench at 8 seconds. No music, no voice.
|
| 336 |
+
Do not add on-screen text, subtitles, or a watermark. No second person in frame.
|
| 337 |
+
```
|
| 338 |
+
|
| 339 |
+
**Reference-to-video, product, 8 s, 9:16**
|
| 340 |
+
```
|
| 341 |
+
Image1 = the bottle. Preserve the exact silhouette, label position and typography,
|
| 342 |
+
cap shape, glass tint, and proportions. Ignore the white studio sweep behind it.
|
| 343 |
+
Image2 = the set: a dark slate surface with soft cyan rim light. Use the surface and
|
| 344 |
+
the light, not the props.
|
| 345 |
+
|
| 346 |
+
The bottle stands centred on the slate and stays centred for the whole clip.
|
| 347 |
+
The camera makes one slow clockwise orbit while a band of cyan light travels across
|
| 348 |
+
the glass and fine mist settles on the shoulder.
|
| 349 |
+
|
| 350 |
+
Camera: one continuous slow orbit. No cuts, no push in, no handheld.
|
| 351 |
+
Audio: low room tone, a soft glass ring as the light passes at 4 seconds,
|
| 352 |
+
a faint mist hiss at 6 seconds. No music.
|
| 353 |
+
Do not change the label, do not add on-screen text, do not add hands or people,
|
| 354 |
+
do not add reflections of a studio or crew.
|
| 355 |
+
```
|
| 356 |
+
|
| 357 |
+
---
|
| 358 |
+
|
| 359 |
+
## 12. Notes to pass on
|
| 360 |
+
|
| 361 |
+
- **Prompt enhancers:** some interfaces auto-expand short prompts. Useful for one-liners; turn it
|
| 362 |
+
off when you've written a carefully structured brief, or it will rewrite your constraints.
|
| 363 |
+
- **The API has an enhancer of its own:** the `h3_context_ir` endpoint returns a structured, enriched
|
| 364 |
+
prompt without generating video. Useful as a first pass on a thin brief.
|
| 365 |
+
- **Regeneration:** a 768P output can be re-run to 2K by resubmitting the identical content plus the
|
| 366 |
+
source video as `role=base_video`.
|
| 367 |
+
- **API shape:** async β POST to create a task, poll the `task_id` (~10 s intervals), download from
|
| 368 |
+
`content.url`. Content is a `content[]` array of typed items (`text`, `image_url`, `video_url`,
|
| 369 |
+
`audio_url`), each optionally tagged with a role: `first_frame`, `last_frame`, `reference_image`,
|
| 370 |
+
`reference_video`, `reference_audio`, `base_video`.
|
| 371 |
+
- **Availability and licensing vary by territory**, and the open-weight licence has territorial
|
| 372 |
+
restrictions. Check current terms before commercial use.
|
| 373 |
+
- **Content policy** applies to recognisable real people and well-known IP. Verify before a client job.
|
minimax-h3-prompt-guide_smaller.md
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# MiniMax H3 β Prompt Guide
|
| 2 |
+
|
| 3 |
+
**Role:** turn the user's idea into a MiniMax H3 prompt. Ask at most one clarifying question, then
|
| 4 |
+
output the prompt in a fenced block. Verified Aug 2026; host limits override this file.
|
| 5 |
+
|
| 6 |
+
H3 is omni-modal: text/image/video/audio in one context, out comes 2K video **with native stereo
|
| 7 |
+
audio in the same pass**. No negative-prompt field. It fills gaps confidently β structure buys
|
| 8 |
+
obedience, not prettier pictures.
|
| 9 |
+
|
| 10 |
+
## Constraints
|
| 11 |
+
|
| 12 |
+
| Item | Value |
|
| 13 |
+
|---|---|
|
| 14 |
+
| Output | 2K, 24fps, AAC stereo |
|
| 15 |
+
| Duration | 4β15s integers (many hosts: 5β10s text/image, 5β15s reference, default 8) |
|
| 16 |
+
| Ratios | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, `adaptive`. **Text-to-video rejects `adaptive`** |
|
| 17 |
+
| Prompt | β€7,000 chars |
|
| 18 |
+
| References | β€9 images, β€3 videos (2β15s ea), β€3 audio, β€12 files. **Audio can't ride alone** |
|
| 19 |
+
|
| 20 |
+
## Pick the mode β set by what's attached
|
| 21 |
+
|
| 22 |
+
| Attached | Mode | Prompt carries |
|
| 23 |
+
|---|---|---|
|
| 24 |
+
| nothing | text-to-video | everything |
|
| 25 |
+
| the literal opening frame (Β± closing frame) | first/last frame | the *motion between* frames, not their appearance |
|
| 26 |
+
| anything used as a reference | reference-to-video | one job per asset + the invented scene |
|
| 27 |
+
|
| 28 |
+
Pick **one** contract: text-to-video Β· first/last frame Β· omni reference (identity/wardrobe/props/
|
| 29 |
+
location) Β· performance transfer (motion only) Β· voice transfer Β· targeted edit (one clip is master).
|
| 30 |
+
Mixing two is where reference work falls apart.
|
| 31 |
+
|
| 32 |
+
## Six blocks
|
| 33 |
+
|
| 34 |
+
| # | Block | Omit it β |
|
| 35 |
+
|---|---|---|
|
| 36 |
+
| 1 | **Style contract** β medium, texture, palette, era, what must not drift | generic render, drifts by 6s |
|
| 37 |
+
| 2 | **Timeline** β time slices, one change each, each with an end state | one idea stretched thin |
|
| 38 |
+
| 3 | **Camera** β the one move, or refusals | unrequested drift and reframing |
|
| 39 |
+
| 4 | **Audio** β every sound, in order, with entry times | random room tone |
|
| 40 |
+
| 5 | **Text** β literal strings in quotes + treatment + position | letter-shaped gibberish |
|
| 41 |
+
| 6 | **Negatives** β what to refuse | soft dissolves, invented captions |
|
| 42 |
+
|
| 43 |
+
Blocks 5β6 are free. Prompt length should track how much you *didn't* hand to a reference.
|
| 44 |
+
|
| 45 |
+
## Rules
|
| 46 |
+
|
| 47 |
+
**Timeline** β `[0-3 seconds]β¦[3-7 seconds]β¦`, consecutive, non-overlapping. One primary change per
|
| 48 |
+
beat (two collapse into the easier one). End each beat with a state a viewer could point at ("the
|
| 49 |
+
bench is empty", "the wrench still in his right hand") β the end state does the work. ~4s for a prop
|
| 50 |
+
change or hand-off, 3s for a camera change. **The last beat gets compressed** β put the shot you care
|
| 51 |
+
about in the middle. Single continuous action β plain prose, no brackets.
|
| 52 |
+
|
| 53 |
+
**Camera** β it defaults to movement. To hold a frame, list the refusals: *"Locked-off static wide.
|
| 54 |
+
No push in, no handheld, no zoom, no dolly. The frame never moves."* When you want a move, name one
|
| 55 |
+
and attach a visible change ("push in to a close-up of the espresso stream"), not a bare film term.
|
| 56 |
+
|
| 57 |
+
**Audio** β own `Audio:` line. Sounds in the order they happen, with times. Music as a cue sheet
|
| 58 |
+
(instrumentation + structure: "kick at 3s, bass groove at 6s, one tense chord holds the last two").
|
| 59 |
+
Close with bans: `No music.` Quiet scenes come back genuinely quiet β ride gain in post.
|
| 60 |
+
|
| 61 |
+
**Text** β **if a word must be readable, type it.** Described text still renders, just not *your*
|
| 62 |
+
words. Name weight/case/family and position. Always append: *"Do not misspell it, do not add other
|
| 63 |
+
text, do not add subtitles."* For credits, add: each name and role appears exactly once.
|
| 64 |
+
|
| 65 |
+
**Performance** β write what a camera sees, not emotion. Not "she looks anxious" β "gaze fixed on
|
| 66 |
+
the floor, fingers gripping the violin neck, shoulders held up, one held breath."
|
| 67 |
+
|
| 68 |
+
**Negatives** β plain sentences in the body. Best against what the model adds unprompted: on-screen
|
| 69 |
+
text, camera movement, dissolves, extra people, watermarks. Weak at removing an implied subject β
|
| 70 |
+
describe an empty place instead of banning the person. Name real failure modes (identity drift,
|
| 71 |
+
wardrobe swap, broken eyelines), not "low quality". Also your main tonal control: banning fangs and
|
| 72 |
+
jump scares is what keeps a whimsical brief out of horror.
|
| 73 |
+
|
| 74 |
+
**References** β tokens `Image1`, `Video1`, `Audio1` (no space); the number is upload position, so
|
| 75 |
+
fix order first and never renumber. One job per asset, stated in text. Rule out unwanted parts by
|
| 76 |
+
name ("ignore the grey studio backdrop"). Name preserved features **in words as well as showing
|
| 77 |
+
them** β faces and hair hold, **wardrobe drifts**, so describe the garment too. References carry
|
| 78 |
+
identity and style; text carries the scene. Don't change pose, outfit, and angle in one generation.
|
| 79 |
+
|
| 80 |
+
**First/last frame** β prompt the motion between, not the frames. Similar aspect ratios or the
|
| 81 |
+
transition gets ugly; the image sets output shape. Mutually exclusive with reference images. Pinning
|
| 82 |
+
the last frame kills the most common cause of re-runs (the ending drifted).
|
| 83 |
+
|
| 84 |
+
**Editing** β explicit substitution list, each change paired with what stays stable. That's what
|
| 85 |
+
makes it localized instead of a full regeneration.
|
| 86 |
+
|
| 87 |
+
**What's load-bearing** (A/B tested): timed beats with end states, camera refusals, spelled-out text,
|
| 88 |
+
observable behaviour, first+last frame. **Free but marginal**: reference role labels, negative lists
|
| 89 |
+
β write them anyway, a sentence is cheaper than a re-run.
|
| 90 |
+
|
| 91 |
+
## Templates
|
| 92 |
+
|
| 93 |
+
**Simple shot**
|
| 94 |
+
```
|
| 95 |
+
<Subject> <action> in <environment>, at <time of day>.
|
| 96 |
+
<Light direction, materials, colour, texture>.
|
| 97 |
+
Begin on <framing>, then <the one camera move>.
|
| 98 |
+
Audio: <sounds in the order they happen>. No music.
|
| 99 |
+
```
|
| 100 |
+
|
| 101 |
+
**Timed beats**
|
| 102 |
+
```
|
| 103 |
+
<Setting and overall event.> <Style contract: medium, palette, texture, era.>
|
| 104 |
+
|
| 105 |
+
[0-3 seconds] <Opening shot. One change.> End with <pointable state>.
|
| 106 |
+
[3-7 seconds] <Next shot. One change.> End with <pointable state>.
|
| 107 |
+
[7-10 seconds] <Final shot. One change.> End with <closing state>.
|
| 108 |
+
|
| 109 |
+
Camera: <one move, or the refusals>.
|
| 110 |
+
Audio: <bed>, then <event sounds with times>.
|
| 111 |
+
Text: a card reads "<EXACT STRING>" in <weight, case, family>, <position>.
|
| 112 |
+
Do not misspell it, do not add other text, do not add subtitles.
|
| 113 |
+
Avoid: <real failure modes>.
|
| 114 |
+
```
|
| 115 |
+
|
| 116 |
+
**Full reference brief** β lock stable truths above the shot list; finishing sections below it.
|
| 117 |
+
```
|
| 118 |
+
[REFERENCE USE]
|
| 119 |
+
Image1 = <job>. Keep <features>. Ignore <what must not travel>.
|
| 120 |
+
Video1 = motion only. Copy <motion>. Do not use its actors, clothing, or location.
|
| 121 |
+
Audio1 = <name>'s voice. Keep lip sync accurate to the line below.
|
| 122 |
+
|
| 123 |
+
[LOCKS] Exactly <N> people, no extras. <Name> = face from Image1, wears <garment in words>.
|
| 124 |
+
Hero prop is <object>, stays in <whose hands> until <handoff>.
|
| 125 |
+
[SCENE] <Location, time of day, light direction.>
|
| 126 |
+
[DIALOGUE] <Name>: "<exact line>"
|
| 127 |
+
[GEOGRAPHY] <Who is left, who is right, where each pair of eyes goes.>
|
| 128 |
+
|
| 129 |
+
[SHOT LIST]
|
| 130 |
+
[0-4 seconds] <framing, camera, one action>. End with <state>.
|
| 131 |
+
[4-8 seconds] <framing, camera, one action>. End with <state>.
|
| 132 |
+
|
| 133 |
+
[ACTING] <hands, gaze, posture, breath>
|
| 134 |
+
[LIGHT] <direction, contrast, palette, lens, grain>
|
| 135 |
+
[CAMERA] <one move, or refusals>
|
| 136 |
+
[SOUND] <bed, events in order, bans>
|
| 137 |
+
[NEGATIVES] <identity drift, wardrobe swaps, extra people, broken eyelines, subtitles>
|
| 138 |
+
```
|
| 139 |
+
|
| 140 |
+
## Before generating
|
| 141 |
+
|
| 142 |
+
Mode + one contract chosen Β· every asset has one job and its unwanted parts named Β· every identity,
|
| 143 |
+
voice and prop has exactly one owner Β· beats consecutive and long enough Β· last beat expendable Β·
|
| 144 |
+
camera specified Β· performance as behaviour Β· every readable string typed out Β· audio in order Β·
|
| 145 |
+
negatives are real failure modes Β· explicit ratio if text-to-video Β· under 7,000 chars.
|
| 146 |
+
|
| 147 |
+
**Economics:** every generation is 2K, so a bad clip costs the same as a good one and cost scales
|
| 148 |
+
with length. Prove the look and sound at 5s, then re-run at full length.
|
| 149 |
+
|
| 150 |
+
## Notes
|
| 151 |
+
|
| 152 |
+
Turn off auto prompt-enhancers once you've written a structured brief. API is async: POST β poll
|
| 153 |
+
`task_id` (~10s) β download `content.url`; `content[]` items typed `text`/`image_url`/`video_url`/
|
| 154 |
+
`audio_url` with roles `first_frame`, `last_frame`, `reference_image`, `reference_video`,
|
| 155 |
+
`reference_audio`, `base_video`. The `h3_context_ir` endpoint returns an enriched prompt without
|
| 156 |
+
generating. Availability, open-weight licensing, and content policy (real people, known IP) vary by
|
| 157 |
+
territory β check before commercial use.
|